aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2018-06-15 09:46:11 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-06-15 09:46:11 -0700
commitefbc102efc7654edc4123757cf94447256e441a8 (patch)
treece7aebe6b614c7f8b42b57247277d74034d7d536
parentd442ef3c4a2bd22aa2daf50d96007e5245422f49 (diff)
parent905b525a83ef0e7b4b3e6b2e90524bc882a80210 (diff)
downloadstrace-efbc102efc7654edc4123757cf94447256e441a8.tar.gz
Merge "Update strace to 4.22." am: 970e204a5e
am: 905b525a83 Change-Id: I1c19eb14915194eebc5aa47fd012425718ac4170
-rw-r--r--Android.bp5
-rw-r--r--COPYING2
-rw-r--r--CREDITS11
-rw-r--r--ChangeLog2039
-rw-r--r--Makefile8222
-rw-r--r--Makefile.am61
-rw-r--r--Makefile.in569
-rw-r--r--NEWS53
-rw-r--r--README14
-rw-r--r--aclocal.m41
-rw-r--r--arch_defs.h2
-rw-r--r--block.c4
-rw-r--r--bpf.c302
-rw-r--r--bpf_attr.h193
-rw-r--r--bpf_attr_check.c458
-rw-r--r--bpf_filter.c89
-rw-r--r--btrfs.c31
-rw-r--r--clone.c2
-rw-r--r--config.h152
-rw-r--r--config.h.in142
-rwxr-xr-xconfigure846
-rw-r--r--configure.ac57
-rw-r--r--count.c81
-rw-r--r--debian/changelog21
-rw-r--r--debian/changelog.in15
-rw-r--r--debian/control16
-rw-r--r--debian/copyright8
-rwxr-xr-xdebian/rules16
-rw-r--r--debian/strace.manpages4
-rw-r--r--debian/strace64.manpages2
-rw-r--r--defs.h123
-rw-r--r--delay.c154
-rw-r--r--delay.h38
-rw-r--r--dm.c4
-rw-r--r--evdev.c124
-rw-r--r--evdev_mpers.c151
-rw-r--r--filter_qualify.c99
-rw-r--r--gcc_compat.h8
-rwxr-xr-xgen_bpf_attr_check.sh71
-rw-r--r--gnu/stubs-32.h0
-rw-r--r--ioctl.c3
-rw-r--r--ioctl_iocdef.h5
-rw-r--r--ioctl_redefs1.h1372
-rw-r--r--ioctlent0.h106
-rw-r--r--ioctlent1.h38
-rw-r--r--ioctlent2.h58
-rw-r--r--largefile_wrappers.h6
-rw-r--r--ldt.c2
-rw-r--r--linux/32/ioctls_inc_align16.h35
-rw-r--r--linux/32/ioctls_inc_align32.h35
-rw-r--r--linux/32/ioctls_inc_align64.h35
-rw-r--r--linux/64/ioctls_inc.h35
-rw-r--r--linux/aarch64/ioctls_arch0.h71
-rw-r--r--linux/aarch64/raw_syscall.h49
-rw-r--r--linux/alpha/errnoent.h1
-rw-r--r--linux/alpha/raw_syscall.h51
-rw-r--r--linux/arc/raw_syscall.h61
-rw-r--r--linux/arch_defs_.h4
-rw-r--r--linux/arm/arch_defs_.h1
-rw-r--r--linux/arm/ioctls_arch0.h3
-rw-r--r--linux/arm/raw_syscall.h49
-rw-r--r--linux/avr32/raw_syscall.h49
-rw-r--r--linux/bfin/raw_syscall.h48
-rw-r--r--linux/errnoent.h1
-rw-r--r--linux/hppa/errnoent.h1
-rw-r--r--linux/hppa/raw_syscall.h52
-rw-r--r--linux/i386/arch_defs_.h1
-rw-r--r--linux/i386/ioctls_arch0.h4
-rw-r--r--linux/i386/raw_syscall.h48
-rw-r--r--linux/ia64/raw_syscall.h61
-rw-r--r--linux/inet_diag.h2
-rw-r--r--linux/m68k/raw_syscall.h48
-rw-r--r--linux/metag/raw_syscall.h49
-rw-r--r--linux/microblaze/raw_syscall.h50
-rw-r--r--linux/mips/arch_defs_.h1
-rw-r--r--linux/mips/errnoent.h1
-rw-r--r--linux/mips/ioctls_arch0.h69
-rw-r--r--linux/mips/raw_syscall.h55
-rw-r--r--linux/nios2/raw_syscall.h49
-rw-r--r--linux/or1k/raw_syscall.h50
-rw-r--r--linux/powerpc/arch_defs_.h1
-rw-r--r--linux/powerpc/ioctls_arch0.h3
-rw-r--r--linux/powerpc/raw_syscall.h52
-rw-r--r--linux/powerpc64/raw_syscall.h1
-rw-r--r--linux/raw_syscall.h1
-rw-r--r--linux/riscv/arch_defs_.h1
-rw-r--r--linux/riscv/raw_syscall.h49
-rw-r--r--linux/s390/arch_defs_.h1
-rw-r--r--linux/s390/ioctls_arch0.h3
-rw-r--r--linux/s390/raw_syscall.h49
-rw-r--r--linux/s390x/ioctls_arch0.h3
-rw-r--r--linux/s390x/raw_syscall.h1
-rw-r--r--linux/sh/raw_syscall.h54
-rw-r--r--linux/sh64/raw_syscall.h1
-rw-r--r--linux/sparc/arch_defs_.h1
-rw-r--r--linux/sparc/errnoent.h1
-rw-r--r--linux/sparc/raw_syscall.h58
-rw-r--r--linux/sparc/syscallent.h2
-rw-r--r--linux/sparc64/raw_syscall.h60
-rw-r--r--linux/sparc64/syscallent.h2
-rw-r--r--linux/tile/arch_defs_.h1
-rw-r--r--linux/tile/raw_syscall.h53
-rw-r--r--linux/x32/ioctls_inc0.h35
-rw-r--r--linux/x32/raw_syscall.h1
-rw-r--r--linux/x86_64/arch_regs.h29
-rw-r--r--linux/x86_64/getregs_old.c2
-rw-r--r--linux/x86_64/ioctls_arch0.h4
-rw-r--r--linux/x86_64/raw_syscall.h48
-rw-r--r--linux/xtensa/raw_syscall.h48
-rw-r--r--loop.c6
-rw-r--r--lseek.c3
-rw-r--r--m32_funcs.h23
-rw-r--r--m32_printer_decls.h44
-rw-r--r--m32_printer_defs.h44
-rw-r--r--m32_type_defs.h166
-rw-r--r--m4/bpf_attr.m451
-rw-r--r--m4/mpers.m46
-rw-r--r--m4/st_warn_cflags.m41
-rw-r--r--macros.h18
-rw-r--r--mem.c5
-rw-r--r--mmap_cache.c233
-rw-r--r--mmap_cache.h86
-rw-r--r--mpers-m32.stamp0
-rw-r--r--mpers-m32/kernel_dirent.c36
-rw-r--r--mpers-m32/kernel_dirent.d189
-rw-r--r--mpers-m32/kernel_dirent.d287
-rw-r--r--mpers-m32/kernel_dirent.h10
-rw-r--r--mpers-m32/mq_attr_t.c (renamed from supported_personalities.h)33
-rw-r--r--mpers-m32/mq_attr_t.d183
-rw-r--r--mpers-m32/mq_attr_t.d279
-rw-r--r--mpers-m32/mq_attr_t.h10
-rw-r--r--mpers-m32/msgbuf_t.c39
-rw-r--r--mpers-m32/msgbuf_t.d169
-rw-r--r--mpers-m32/msgbuf_t.d263
-rw-r--r--mpers-m32/msgbuf_t.h8
-rw-r--r--mpers-m32/msqid_ds_t.c49
-rw-r--r--mpers-m32/msqid_ds_t.d1246
-rw-r--r--mpers-m32/msqid_ds_t.d2271
-rw-r--r--mpers-m32/msqid_ds_t.h28
-rw-r--r--mpers-m32/rusage_t.c38
-rw-r--r--mpers-m32/rusage_t.d1166
-rw-r--r--mpers-m32/rusage_t.d2175
-rw-r--r--mpers-m32/rusage_t.h27
-rw-r--r--mpers-m32/sample.c38
-rw-r--r--mpers-m32/sample.expected42
-rw-r--r--mpers-m32/sample_struct.c37
-rw-r--r--mpers-m32/sample_struct.d1301
-rw-r--r--mpers-m32/sample_struct.d2336
-rw-r--r--mpers-m32/sample_struct.h42
-rw-r--r--mpers-m32/shmid_ds_t.c49
-rw-r--r--mpers-m32/shmid_ds_t.d1245
-rw-r--r--mpers-m32/shmid_ds_t.d2270
-rw-r--r--mpers-m32/shmid_ds_t.h27
-rw-r--r--mpers-m32/siginfo_t.c42
-rw-r--r--mpers-m32/siginfo_t.d1408
-rw-r--r--mpers-m32/siginfo_t.d2452
-rw-r--r--mpers-m32/siginfo_t.h65
-rw-r--r--mpers-m32/stack_t.c39
-rw-r--r--mpers-m32/stack_t.d165
-rw-r--r--mpers-m32/stack_t.d259
-rw-r--r--mpers-m32/stack_t.h12
-rw-r--r--mpers-m32/struct_blk_user_trace_setup.c65
-rw-r--r--mpers-m32/struct_blk_user_trace_setup.d1132
-rw-r--r--mpers-m32/struct_blk_user_trace_setup.d2138
-rw-r--r--mpers-m32/struct_blk_user_trace_setup.h15
-rw-r--r--mpers-m32/struct_blkpg_ioctl_arg.c65
-rw-r--r--mpers-m32/struct_blkpg_ioctl_arg.d161
-rw-r--r--mpers-m32/struct_blkpg_ioctl_arg.d254
-rw-r--r--mpers-m32/struct_blkpg_ioctl_arg.h13
-rw-r--r--mpers-m32/struct_blkpg_partition.c65
-rw-r--r--mpers-m32/struct_blkpg_partition.d195
-rw-r--r--mpers-m32/struct_blkpg_partition.d294
-rw-r--r--mpers-m32/struct_blkpg_partition.h11
-rw-r--r--mpers-m32/struct_btrfs_ioctl_dev_replace_args.c47
-rw-r--r--mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1181
-rw-r--r--mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2191
-rw-r--r--mpers-m32/struct_btrfs_ioctl_dev_replace_args.h25
-rw-r--r--mpers-m32/struct_btrfs_ioctl_received_subvol_args.c47
-rw-r--r--mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1133
-rw-r--r--mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2137
-rw-r--r--mpers-m32/struct_btrfs_ioctl_received_subvol_args.h20
-rw-r--r--mpers-m32/struct_btrfs_ioctl_send_args.c47
-rw-r--r--mpers-m32/struct_btrfs_ioctl_send_args.d1100
-rw-r--r--mpers-m32/struct_btrfs_ioctl_send_args.d2100
-rw-r--r--mpers-m32/struct_btrfs_ioctl_send_args.h16
-rw-r--r--mpers-m32/struct_btrfs_ioctl_vol_args_v2.c47
-rw-r--r--mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1238
-rw-r--r--mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2257
-rw-r--r--mpers-m32/struct_btrfs_ioctl_vol_args_v2.h24
-rw-r--r--mpers-m32/struct_ff_effect.c42
-rw-r--r--mpers-m32/struct_ff_effect.d1366
-rw-r--r--mpers-m32/struct_ff_effect.d2402
-rw-r--r--mpers-m32/struct_ff_effect.h70
-rw-r--r--mpers-m32/struct_flock.c36
-rw-r--r--mpers-m32/struct_flock.d195
-rw-r--r--mpers-m32/struct_flock.d294
-rw-r--r--mpers-m32/struct_flock.h10
-rw-r--r--mpers-m32/struct_flock64.c36
-rw-r--r--mpers-m32/struct_flock64.d190
-rw-r--r--mpers-m32/struct_flock64.d288
-rw-r--r--mpers-m32/struct_flock64.h12
-rw-r--r--mpers-m32/struct_group_req.c37
-rw-r--r--mpers-m32/struct_group_req.d198
-rw-r--r--mpers-m32/struct_group_req.d296
-rw-r--r--mpers-m32/struct_group_req.h10
-rw-r--r--mpers-m32/struct_hd_geometry.c37
-rw-r--r--mpers-m32/struct_hd_geometry.d169
-rw-r--r--mpers-m32/struct_hd_geometry.d263
-rw-r--r--mpers-m32/struct_hd_geometry.h9
-rw-r--r--mpers-m32/struct_ifconf.c44
-rw-r--r--mpers-m32/struct_ifconf.d1571
-rw-r--r--mpers-m32/struct_ifconf.d2645
-rw-r--r--mpers-m32/struct_ifconf.h14
-rw-r--r--mpers-m32/struct_ifreq.c44
-rw-r--r--mpers-m32/struct_ifreq.d1532
-rw-r--r--mpers-m32/struct_ifreq.d2600
-rw-r--r--mpers-m32/struct_ifreq.h62
-rw-r--r--mpers-m32/struct_keyctl_kdf_params.c7
-rw-r--r--mpers-m32/struct_keyctl_kdf_params.d188
-rw-r--r--mpers-m32/struct_keyctl_kdf_params.d286
-rw-r--r--mpers-m32/struct_keyctl_kdf_params.h13
-rw-r--r--mpers-m32/struct_loop_info.c36
-rw-r--r--mpers-m32/struct_loop_info.d1162
-rw-r--r--mpers-m32/struct_loop_info.d2172
-rw-r--r--mpers-m32/struct_loop_info.h17
-rw-r--r--mpers-m32/struct_mmsghdr.c34
-rw-r--r--mpers-m32/struct_mmsghdr.d1161
-rw-r--r--mpers-m32/struct_mmsghdr.d2171
-rw-r--r--mpers-m32/struct_mmsghdr.h19
-rw-r--r--mpers-m32/struct_msghdr.c34
-rw-r--r--mpers-m32/struct_msghdr.d1143
-rw-r--r--mpers-m32/struct_msghdr.d2151
-rw-r--r--mpers-m32/struct_msghdr.h16
-rw-r--r--mpers-m32/struct_mtd_oob_buf.c40
-rw-r--r--mpers-m32/struct_mtd_oob_buf.d166
-rw-r--r--mpers-m32/struct_mtd_oob_buf.d260
-rw-r--r--mpers-m32/struct_mtd_oob_buf.h12
-rw-r--r--mpers-m32/struct_rt_sigframe.c33
-rw-r--r--mpers-m32/struct_rt_sigframe.d1657
-rw-r--r--mpers-m32/struct_rt_sigframe.d2740
-rw-r--r--mpers-m32/struct_rt_sigframe.h93
-rw-r--r--mpers-m32/struct_rtc_pll_info.c38
-rw-r--r--mpers-m32/struct_rtc_pll_info.d183
-rw-r--r--mpers-m32/struct_rtc_pll_info.d279
-rw-r--r--mpers-m32/struct_rtc_pll_info.h12
-rw-r--r--mpers-m32/struct_sg_io_hdr.c41
-rw-r--r--mpers-m32/struct_sg_io_hdr.d1184
-rw-r--r--mpers-m32/struct_sg_io_hdr.d2199
-rw-r--r--mpers-m32/struct_sg_io_hdr.h31
-rw-r--r--mpers-m32/struct_sg_req_info.c41
-rw-r--r--mpers-m32/struct_sg_req_info.d194
-rw-r--r--mpers-m32/struct_sg_req_info.d293
-rw-r--r--mpers-m32/struct_sg_req_info.h17
-rw-r--r--mpers-m32/struct_sigevent.c32
-rw-r--r--mpers-m32/struct_sigevent.d1115
-rw-r--r--mpers-m32/struct_sigevent.d2114
-rw-r--r--mpers-m32/struct_sigevent.h18
-rw-r--r--mpers-m32/struct_sock_fprog.c34
-rw-r--r--mpers-m32/struct_sock_fprog.d1104
-rw-r--r--mpers-m32/struct_sock_fprog.d2104
-rw-r--r--mpers-m32/struct_sock_fprog.h12
-rw-r--r--mpers-m32/struct_stat.c62
-rw-r--r--mpers-m32/struct_stat.d1169
-rw-r--r--mpers-m32/struct_stat.d2180
-rw-r--r--mpers-m32/struct_stat.h25
-rw-r--r--mpers-m32/struct_stat64.c60
-rw-r--r--mpers-m32/struct_stat64.d132
-rw-r--r--mpers-m32/struct_stat64.d220
-rw-r--r--mpers-m32/struct_stat64.h5
-rw-r--r--mpers-m32/struct_statfs.c37
-rw-r--r--mpers-m32/struct_statfs.d1152
-rw-r--r--mpers-m32/struct_statfs.d2159
-rw-r--r--mpers-m32/struct_statfs.h19
-rw-r--r--mpers-m32/struct_statfs64.c37
-rw-r--r--mpers-m32/struct_statfs64.d1161
-rw-r--r--mpers-m32/struct_statfs64.d2170
-rw-r--r--mpers-m32/struct_statfs64.h20
-rw-r--r--mpers-m32/struct_timex.c38
-rw-r--r--mpers-m32/struct_timex.d1198
-rw-r--r--mpers-m32/struct_timex.d2213
-rw-r--r--mpers-m32/struct_timex.h29
-rw-r--r--mpers-m32/struct_ustat.c35
-rw-r--r--mpers-m32/struct_v4l2_buffer.c53
-rw-r--r--mpers-m32/struct_v4l2_buffer.d1335
-rw-r--r--mpers-m32/struct_v4l2_buffer.d2371
-rw-r--r--mpers-m32/struct_v4l2_buffer.h38
-rw-r--r--mpers-m32/struct_v4l2_clip.c53
-rw-r--r--mpers-m32/struct_v4l2_clip.d195
-rw-r--r--mpers-m32/struct_v4l2_clip.d293
-rw-r--r--mpers-m32/struct_v4l2_clip.h16
-rw-r--r--mpers-m32/struct_v4l2_create_buffers.c53
-rw-r--r--mpers-m32/struct_v4l2_create_buffers.d1678
-rw-r--r--mpers-m32/struct_v4l2_create_buffers.d2762
-rw-r--r--mpers-m32/struct_v4l2_create_buffers.h98
-rw-r--r--mpers-m32/struct_v4l2_ext_control.c53
-rw-r--r--mpers-m32/struct_v4l2_ext_control.d1172
-rw-r--r--mpers-m32/struct_v4l2_ext_control.d2188
-rw-r--r--mpers-m32/struct_v4l2_ext_control.h21
-rw-r--r--mpers-m32/struct_v4l2_ext_controls.c53
-rw-r--r--mpers-m32/struct_v4l2_ext_controls.d1233
-rw-r--r--mpers-m32/struct_v4l2_ext_controls.d2258
-rw-r--r--mpers-m32/struct_v4l2_ext_controls.h17
-rw-r--r--mpers-m32/struct_v4l2_format.c53
-rw-r--r--mpers-m32/struct_v4l2_format.d1635
-rw-r--r--mpers-m32/struct_v4l2_format.d2713
-rw-r--r--mpers-m32/struct_v4l2_format.h92
-rw-r--r--mpers-m32/struct_v4l2_framebuffer.c53
-rw-r--r--mpers-m32/struct_v4l2_framebuffer.d1120
-rw-r--r--mpers-m32/struct_v4l2_framebuffer.d2122
-rw-r--r--mpers-m32/struct_v4l2_framebuffer.h22
-rw-r--r--mpers-m32/struct_v4l2_input.c53
-rw-r--r--mpers-m32/struct_v4l2_input.d1137
-rw-r--r--mpers-m32/struct_v4l2_input.d2143
-rw-r--r--mpers-m32/struct_v4l2_input.h15
-rw-r--r--mpers-m32/struct_v4l2_standard.c53
-rw-r--r--mpers-m32/struct_v4l2_standard.d1137
-rw-r--r--mpers-m32/struct_v4l2_standard.d2142
-rw-r--r--mpers-m32/struct_v4l2_standard.h16
-rw-r--r--mpers-m32/sysinfo_t.c39
-rw-r--r--mpers-m32/sysinfo_t.d1175
-rw-r--r--mpers-m32/sysinfo_t.d2188
-rw-r--r--mpers-m32/sysinfo_t.h19
-rw-r--r--mpers-m32/time_t.c32
-rw-r--r--mpers-m32/time_t.d146
-rw-r--r--mpers-m32/time_t.d237
-rw-r--r--mpers-m32/time_t.h4
-rw-r--r--mpers-m32/timespec_t.c34
-rw-r--r--mpers-m32/timespec_t.d159
-rw-r--r--mpers-m32/timespec_t.d251
-rw-r--r--mpers-m32/timespec_t.h7
-rw-r--r--mpers-m32/timeval_t.c34
-rw-r--r--mpers-m32/timeval_t.d164
-rw-r--r--mpers-m32/timeval_t.d257
-rw-r--r--mpers-m32/timeval_t.h7
-rw-r--r--mpers-m32/tms_t.c38
-rw-r--r--mpers-m32/tms_t.d171
-rw-r--r--mpers-m32/tms_t.d265
-rw-r--r--mpers-m32/tms_t.h9
-rw-r--r--mpers-m32/utimbuf_t.c8
-rw-r--r--mpers-m32/utimbuf_t.d159
-rw-r--r--mpers-m32/utimbuf_t.d251
-rw-r--r--mpers-m32/utimbuf_t.h7
-rw-r--r--mpers.am2
-rw-r--r--mpers.awk2
-rwxr-xr-xmpers_test.sh2
-rw-r--r--mpers_xlat.h15
-rw-r--r--mtd.c4
-rw-r--r--native_printer_decls.h4
-rw-r--r--native_printer_defs.h4
-rw-r--r--netlink.c6
-rw-r--r--netlink_netfilter.c98
-rw-r--r--netlink_packet_diag.c6
-rw-r--r--nlattr.c6
-rw-r--r--poll.c9
-rw-r--r--prctl.c45
-rw-r--r--print_fields.h26
-rw-r--r--printers.h6
-rw-r--r--process.c44
-rw-r--r--ptp.c37
-rw-r--r--ptrace.h4
-rw-r--r--quota.c8
-rw-r--r--regs.h5
-rw-r--r--retval.c70
-rw-r--r--retval.h8
-rw-r--r--rtc.c8
-rw-r--r--rtnl_link.c24
-rw-r--r--rtnl_tc.c5
-rw-r--r--s390.c36
-rw-r--r--sched.c7
-rw-r--r--sen.h1
-rw-r--r--sockaddr.c7
-rw-r--r--socketutils.c18
-rw-r--r--sparc.c46
-rw-r--r--stamp-h11
-rwxr-xr-xstatic_assert.h40
-rwxr-xr-xstrace-log-merge2
-rw-r--r--strace-log-merge.14
-rw-r--r--strace-log-merge.1.in2
-rw-r--r--strace.171
-rw-r--r--strace.1.in69
-rw-r--r--strace.c285
-rw-r--r--strace.spec14
-rw-r--r--strace.spec.in6
-rw-r--r--sys_func.h1
-rw-r--r--syscall.c126
-rw-r--r--term.c8
-rw-r--r--tests-m32/Makefile8817
-rw-r--r--tests-m32/Makefile.am26
-rw-r--r--tests-m32/Makefile.in380
-rw-r--r--tests-m32/bpf.c1204
-rw-r--r--tests-m32/btrfs.c97
-rwxr-xr-xtests-m32/count.test6
-rw-r--r--tests-m32/delay.c135
-rwxr-xr-xtests-m32/delay.test10
-rw-r--r--tests-m32/dev-yy.c101
-rwxr-xr-xtests-m32/dev-yy.gen.test4
-rw-r--r--tests-m32/file_handle.c3
-rw-r--r--tests-m32/fsync-y.c71
-rwxr-xr-xtests-m32/fsync-y.gen.test4
-rw-r--r--tests-m32/futex.c1
-rw-r--r--tests-m32/gen_tests.am14
-rw-r--r--tests-m32/gen_tests.in6
-rw-r--r--tests-m32/init.sh3
-rw-r--r--tests-m32/inject-nf.c86
-rwxr-xr-xtests-m32/inject-nf.test50
-rwxr-xr-xtests-m32/ioctl.test2
-rw-r--r--tests-m32/ioctl_dm.c1
-rw-r--r--tests-m32/ioctl_loop.c3
-rw-r--r--tests-m32/ioctl_sock_gifconf.c3
-rw-r--r--tests-m32/ioctl_v4l2.c148
-rw-r--r--tests-m32/ipc_shm.c2
-rwxr-xr-xtests-m32/kern_features-fault.test38
-rw-r--r--tests-m32/kern_features.c120
-rwxr-xr-xtests-m32/kern_features.gen.test4
-rw-r--r--tests-m32/keyctl.c3
-rw-r--r--tests-m32/localtime.c57
-rwxr-xr-xtests-m32/localtime.test38
-rw-r--r--tests-m32/mq_sendrecv.c3
-rw-r--r--tests-m32/net-yy-inet.c89
-rw-r--r--tests-m32/net-yy-inet6.c13
-rwxr-xr-xtests-m32/net-yy-inet6.gen.test4
-rw-r--r--tests-m32/netlink_kobject_uevent.c21
-rw-r--r--tests-m32/netlink_netfilter.c123
-rwxr-xr-xtests-m32/options-syntax.test8
-rw-r--r--tests-m32/perf_event_open.c1
-rw-r--r--tests-m32/pread64-pwrite64.c3
-rw-r--r--tests-m32/print_quoted_string.c71
-rw-r--r--tests-m32/ptrace.c20
-rw-r--r--tests-m32/pure_executables.am3
-rwxr-xr-xtests-m32/pure_executables.list3
-rwxr-xr-xtests-m32/qual_inject-syntax.test10
-rw-r--r--tests-m32/read-write.c70
-rwxr-xr-xtests-m32/read-write.gen.test4
-rw-r--r--tests-m32/remap_file_pages.c13
-rw-r--r--tests-m32/s390_guarded_storage.c1
-rw-r--r--tests-m32/s390_pci_mmio_read_write.c1
-rw-r--r--tests-m32/s390_sthyi.c21
-rw-r--r--tests-m32/sched_xetattr.c43
-rwxr-xr-xtests-m32/scno_tampering.sh4
-rw-r--r--tests-m32/test_printstrn.c17
-rw-r--r--tests-m32/tests.h52
-rw-r--r--tests-m32/xet_thread_area_x86.c1
-rw-r--r--tests-mx32/Makefile8817
-rw-r--r--tests-mx32/Makefile.am26
-rw-r--r--tests-mx32/Makefile.in380
-rw-r--r--tests-mx32/bpf.c1204
-rw-r--r--tests-mx32/btrfs.c97
-rwxr-xr-xtests-mx32/count.test6
-rw-r--r--tests-mx32/delay.c135
-rwxr-xr-xtests-mx32/delay.test10
-rw-r--r--tests-mx32/dev-yy.c101
-rwxr-xr-xtests-mx32/dev-yy.gen.test4
-rw-r--r--tests-mx32/file_handle.c3
-rw-r--r--tests-mx32/fsync-y.c71
-rwxr-xr-xtests-mx32/fsync-y.gen.test4
-rw-r--r--tests-mx32/futex.c1
-rw-r--r--tests-mx32/gen_tests.am14
-rw-r--r--tests-mx32/gen_tests.in6
-rw-r--r--tests-mx32/init.sh3
-rw-r--r--tests-mx32/inject-nf.c86
-rwxr-xr-xtests-mx32/inject-nf.test50
-rwxr-xr-xtests-mx32/ioctl.test2
-rw-r--r--tests-mx32/ioctl_dm.c1
-rw-r--r--tests-mx32/ioctl_loop.c3
-rw-r--r--tests-mx32/ioctl_sock_gifconf.c3
-rw-r--r--tests-mx32/ioctl_v4l2.c148
-rw-r--r--tests-mx32/ipc_shm.c2
-rwxr-xr-xtests-mx32/kern_features-fault.test38
-rw-r--r--tests-mx32/kern_features.c120
-rwxr-xr-xtests-mx32/kern_features.gen.test4
-rw-r--r--tests-mx32/keyctl.c3
-rw-r--r--tests-mx32/localtime.c57
-rwxr-xr-xtests-mx32/localtime.test38
-rw-r--r--tests-mx32/mq_sendrecv.c3
-rw-r--r--tests-mx32/net-yy-inet.c89
-rw-r--r--tests-mx32/net-yy-inet6.c13
-rwxr-xr-xtests-mx32/net-yy-inet6.gen.test4
-rw-r--r--tests-mx32/netlink_kobject_uevent.c21
-rw-r--r--tests-mx32/netlink_netfilter.c123
-rwxr-xr-xtests-mx32/options-syntax.test8
-rw-r--r--tests-mx32/perf_event_open.c1
-rw-r--r--tests-mx32/pread64-pwrite64.c3
-rw-r--r--tests-mx32/print_quoted_string.c71
-rw-r--r--tests-mx32/ptrace.c20
-rw-r--r--tests-mx32/pure_executables.am3
-rwxr-xr-xtests-mx32/pure_executables.list3
-rwxr-xr-xtests-mx32/qual_inject-syntax.test10
-rw-r--r--tests-mx32/read-write.c70
-rwxr-xr-xtests-mx32/read-write.gen.test4
-rw-r--r--tests-mx32/remap_file_pages.c13
-rw-r--r--tests-mx32/s390_guarded_storage.c1
-rw-r--r--tests-mx32/s390_pci_mmio_read_write.c1
-rw-r--r--tests-mx32/s390_sthyi.c21
-rw-r--r--tests-mx32/sched_xetattr.c43
-rwxr-xr-xtests-mx32/scno_tampering.sh4
-rw-r--r--tests-mx32/test_printstrn.c17
-rw-r--r--tests-mx32/tests.h52
-rw-r--r--tests-mx32/xet_thread_area_x86.c1
-rw-r--r--tests/Makefile8817
-rw-r--r--tests/Makefile.am26
-rw-r--r--tests/Makefile.in380
-rw-r--r--tests/bpf.c1204
-rw-r--r--tests/btrfs.c97
-rwxr-xr-xtests/count.test6
-rw-r--r--tests/delay.c135
-rwxr-xr-xtests/delay.test10
-rw-r--r--tests/dev-yy.c101
-rwxr-xr-xtests/dev-yy.gen.test4
-rw-r--r--tests/file_handle.c3
-rw-r--r--tests/fsync-y.c71
-rwxr-xr-xtests/fsync-y.gen.test4
-rw-r--r--tests/futex.c1
-rw-r--r--tests/gen_tests.am14
-rw-r--r--tests/gen_tests.in6
-rw-r--r--tests/init.sh3
-rw-r--r--tests/inject-nf.c86
-rwxr-xr-xtests/inject-nf.test50
-rwxr-xr-xtests/ioctl.test2
-rw-r--r--tests/ioctl_dm.c1
-rw-r--r--tests/ioctl_loop.c3
-rw-r--r--tests/ioctl_sock_gifconf.c3
-rw-r--r--tests/ioctl_v4l2.c148
-rw-r--r--tests/ipc_shm.c2
-rwxr-xr-xtests/kern_features-fault.test38
-rw-r--r--tests/kern_features.c120
-rwxr-xr-xtests/kern_features.gen.test4
-rw-r--r--tests/keyctl.c3
-rw-r--r--tests/ksysent.h828
-rw-r--r--tests/localtime.c57
-rwxr-xr-xtests/localtime.test38
-rw-r--r--tests/mq_sendrecv.c3
-rw-r--r--tests/net-yy-inet.c89
-rw-r--r--tests/net-yy-inet6.c13
-rwxr-xr-xtests/net-yy-inet6.gen.test4
-rw-r--r--tests/netlink_kobject_uevent.c21
-rw-r--r--tests/netlink_netfilter.c123
-rwxr-xr-xtests/options-syntax.test8
-rw-r--r--tests/perf_event_open.c1
-rw-r--r--tests/pread64-pwrite64.c3
-rw-r--r--tests/print_quoted_string.c71
-rw-r--r--tests/ptrace.c20
-rw-r--r--tests/pure_executables.am3
-rwxr-xr-xtests/pure_executables.list3
-rwxr-xr-xtests/qual_inject-syntax.test10
-rw-r--r--tests/read-write.c70
-rwxr-xr-xtests/read-write.gen.test4
-rw-r--r--tests/remap_file_pages.c13
-rw-r--r--tests/s390_guarded_storage.c1
-rw-r--r--tests/s390_pci_mmio_read_write.c1
-rw-r--r--tests/s390_sthyi.c21
-rw-r--r--tests/sched_xetattr.c43
-rw-r--r--tests/scno.h1003
-rwxr-xr-xtests/scno_tampering.sh4
-rw-r--r--tests/test_printstrn.c17
-rw-r--r--tests/tests.h52
-rw-r--r--tests/xet_thread_area_x86.c1
-rw-r--r--time.c6
-rw-r--r--times.c9
-rw-r--r--ucopy.c4
-rw-r--r--uid.c4
-rw-r--r--unwind-libunwind.c174
-rw-r--r--unwind.c443
-rw-r--r--unwind.h76
-rw-r--r--upoke.c2
-rw-r--r--util.c262
-rw-r--r--v4l2.c60
-rw-r--r--xlat.c18
-rw-r--r--xlat/Makemodule.am20
-rw-r--r--xlat/bpf_attach_flags.h4
-rw-r--r--xlat/bpf_attach_flags.in1
-rw-r--r--xlat/bpf_attach_type.h4
-rw-r--r--xlat/bpf_attach_type.in1
-rw-r--r--xlat/bpf_file_mode_flags.h22
-rw-r--r--xlat/bpf_file_mode_flags.in2
-rw-r--r--xlat/bpf_map_types.h4
-rw-r--r--xlat/bpf_map_types.in1
-rw-r--r--xlat/bpf_prog_types.h4
-rw-r--r--xlat/bpf_prog_types.in1
-rw-r--r--xlat/btrfs_logical_ino_args_flags.h20
-rw-r--r--xlat/btrfs_logical_ino_args_flags.in1
-rw-r--r--xlat/ethernet_protocols.h457
-rw-r--r--xlat/ethernet_protocols.in179
-rw-r--r--xlat/evdev_autorepeat.h4
-rw-r--r--xlat/evdev_ff_status.h4
-rw-r--r--xlat/evdev_ff_types.h4
-rw-r--r--xlat/evdev_keycode.h2871
-rw-r--r--xlat/evdev_keycode.in1188
-rw-r--r--xlat/evdev_leds.h4
-rw-r--r--xlat/evdev_misc.h4
-rw-r--r--xlat/evdev_mtslots.h4
-rw-r--r--xlat/evdev_prop.h4
-rw-r--r--xlat/evdev_relative_axes.h4
-rw-r--r--xlat/evdev_snd.h4
-rw-r--r--xlat/evdev_switch.h4
-rw-r--r--xlat/evdev_sync.h4
-rw-r--r--xlat/fsmagic.h2
-rw-r--r--xlat/fsmagic.in3
-rwxr-xr-xxlat/gen.sh16
-rw-r--r--xlat/hw_breakpoint_type.h5
-rw-r--r--xlat/hw_breakpoint_type.in4
-rw-r--r--xlat/inet_diag_bytecodes.h2
-rw-r--r--xlat/inet_diag_bytecodes.in2
-rw-r--r--xlat/mmap_flags.h78
-rw-r--r--xlat/mmap_flags.in51
-rw-r--r--xlat/netfilter_versions.h22
-rw-r--r--xlat/netfilter_versions.in2
-rw-r--r--xlat/nl_netfilter_msg_types.h7
-rw-r--r--xlat/nl_netfilter_subsys_ids.h4
-rw-r--r--xlat/nl_netfilter_subsys_ids.in1
-rw-r--r--xlat/perf_hw_cache_id.h3
-rw-r--r--xlat/perf_hw_cache_id.in2
-rw-r--r--xlat/perf_hw_cache_op_id.h3
-rw-r--r--xlat/perf_hw_cache_op_id.in2
-rw-r--r--xlat/perf_hw_cache_op_result_id.h3
-rw-r--r--xlat/perf_hw_cache_op_result_id.in2
-rw-r--r--xlat/perf_hw_id.h3
-rw-r--r--xlat/perf_hw_id.in2
-rw-r--r--xlat/perf_sw_ids.h3
-rw-r--r--xlat/perf_sw_ids.in2
-rw-r--r--xlat/perf_type_id.h3
-rw-r--r--xlat/perf_type_id.in2
-rw-r--r--xlat/pollflags.h63
-rw-r--r--xlat/pollflags.in20
-rw-r--r--xlat/pr_sve_vl_flags.h22
-rw-r--r--xlat/pr_sve_vl_flags.in2
-rw-r--r--xlat/prctl_options.h8
-rw-r--r--xlat/prctl_options.in2
-rw-r--r--xlat/ptrace_cmds.h3
-rw-r--r--xlat/ptrace_cmds.in1
-rw-r--r--xlat/rtnl_ifla_events.h42
-rw-r--r--xlat/rtnl_ifla_events.in7
-rw-r--r--xlat/rtnl_link_attrs.h20
-rw-r--r--xlat/rtnl_link_attrs.in5
-rw-r--r--xlat/rtnl_tc_attrs.h12
-rw-r--r--xlat/rtnl_tc_attrs.in3
-rw-r--r--xlat/rwf_flags.h12
-rw-r--r--xlat/rwf_flags.in9
-rw-r--r--xlat/sched_flags.h8
-rw-r--r--xlat/sched_flags.in4
-rw-r--r--xlat/seccomp_filter_flags.h7
-rw-r--r--xlat/sigbus_codes.h3
-rw-r--r--xlat/sigbus_codes.in1
-rw-r--r--xlat/sigfpe_codes.h18
-rw-r--r--xlat/sigfpe_codes.in6
-rw-r--r--xlat/sigill_codes.h30
-rw-r--r--xlat/sigill_codes.in10
-rw-r--r--xlat/sigsegv_codes.h6
-rw-r--r--xlat/sigsegv_codes.in2
-rw-r--r--xlat/sigtrap_codes.h12
-rw-r--r--xlat/sigtrap_codes.in4
-rw-r--r--xlat/socksctpoptions.h321
-rw-r--r--xlat/socksctpoptions.in118
-rw-r--r--xlat/sparc_kern_features.h18
-rw-r--r--xlat/sparc_kern_features.in1
-rw-r--r--xlat/v4l2_pix_fmts.h629
-rw-r--r--xlat/v4l2_pix_fmts.in154
-rw-r--r--xlat/v4l2_sdr_fmts.h49
-rw-r--r--xlat/v4l2_sdr_fmts.in9
658 files changed, 82222 insertions, 7170 deletions
diff --git a/Android.bp b/Android.bp
index 9cd55f59..149757c3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -36,6 +36,7 @@ cc_binary {
"clone.c",
"copy_file_range.c",
"count.c",
+ "delay.c",
"desc.c",
"dirent.c",
"dirent64.c",
@@ -44,6 +45,7 @@ cc_binary {
"epoll.c",
"error_prints.c",
"evdev.c",
+ "evdev_mpers.c",
"eventfd.c",
"execve.c",
"fadvise.c",
@@ -101,6 +103,7 @@ cc_binary {
"membarrier.c",
"memfd_create.c",
"mknod.c",
+ "mmap_cache.c",
"mmsghdr.c",
"mount.c",
"mq.c",
@@ -110,6 +113,7 @@ cc_binary {
"netlink.c",
"netlink_crypto.c",
"netlink_inet_diag.c",
+ "netlink_netfilter.c",
"netlink_netlink_diag.c",
"netlink_packet_diag.c",
"netlink_route.c",
@@ -154,6 +158,7 @@ cc_binary {
"reboot.c",
"renameat.c",
"resource.c",
+ "retval.c",
"rtc.c",
"rtnl_addr.c",
"rtnl_addrlabel.c",
diff --git a/COPYING b/COPYING
index a3592086..f77073c4 100644
--- a/COPYING
+++ b/COPYING
@@ -4,7 +4,7 @@ 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) 2001-2018 The strace developers.
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/CREDITS b/CREDITS
index 7f77138f..94cecfeb 100644
--- a/CREDITS
+++ b/CREDITS
@@ -8,9 +8,9 @@ These people have contributed to strace. Some have reported problems, others
have contributed improvements to the documentation, actual code, provided
information, provided resources, or helped to port strace to new systems.
Those contributions are described in the version control logs and ChangeLog-CVS
-file. If your name has been left out, if you'd rather not be listed, or if
-you'd prefer a different address be used, please send a note to the
-strace-devel@lists.sourceforge.net mailing list.
+file. If your name has been left out, if you'd rather not be listed, or
+if you'd prefer a different address be used, please send a note to the
+strace-devel@lists.strace.io mailing list.
Aaron Ucko <ucko@vax1.rockhurst.edu>
Abhishek Tiwari <erabhishektiwarics@gmail.com>
@@ -96,6 +96,7 @@ strace-devel@lists.sourceforge.net mailing list.
Helge Deller <deller@gmx.de>
Henrik Storner <storner@osiris.ping.dk>
Holger Hans Peter Freyther <holger@freyther.de>
+ J. Bruce Fields <bfields@fieldses.org>
Jacob Goense <dugo@xs4all.nl>
Jakub Bogusz <qboosh@pld-linux.org>
Jakub Jelinek <jj@ultra.linux.cz>
@@ -115,6 +116,7 @@ strace-devel@lists.sourceforge.net mailing list.
John Hughes <john@Calva.COM>
John Spencer <maillist-strace@barfooze.de>
Josef T. Burger <bolo@cs.wisc.edu>
+ Josh Triplett <josh@freedesktop.org>
Joshua Neal <tinara@netpipeline.net>
Jürgen Fluk <louis@marco.de>
Jürgen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
@@ -169,6 +171,7 @@ strace-devel@lists.sourceforge.net mailing list.
Pavel Machek <pavel@ucw.cz>
Peter Jones <pjones@redhat.com>
Peter Zotov <whitequark@whitequark.org>
+ Philipp Marek <philipp.marek@emerion.com>
Philippe De Muyter <phdm@macqel.be>
Philippe Ombredanne <pombredanne@nexb.com>
Pádraig Brady <P@draigBrady.com>
@@ -228,6 +231,6 @@ strace-devel@lists.sourceforge.net mailing list.
Yun-Chih Chen <b03902074@ntu.edu.tw>
Zach Brown <zach.brown@oracle.com>
Zev Weiss <zev@bewilderbeest.net>
- Zhang Le <zhilg@users.sourceforge.net>
+ Zhang Le <robert.zhangle@gmail.com>
Zubin Mithra <zubin.mithra@gmail.com>
Марк Коренберг <socketpair@gmail.com>
diff --git a/ChangeLog b/ChangeLog
index ca54bd7b..6efa3a24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,2047 @@
+2018-04-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ Prepare for 4.22 release.
+ * NEWS: Update for 4.22 release.
+
+ Update copyright headers.
+ Headers updated automatically using maint/update_copyright_years.sh
+ script.
+
+2018-04-05 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Update NEWS.
+
+2018-04-05 Masatake YAMATO <yamato@redhat.com>
+
+ unwind: split unwind code into front-end and back-end.
+ This opens the way for alternative unwinder back-ends.
+
+ * unwind.h: New file, defines the unwinder back-end interface.
+ * unwind.c: Move all libunwind related code ...
+ * unwind-libunwind.c: ... here.
+ * Makefile.am [USE_LIBUNWIND] (strace_SOURCES): Add unwind.h
+ and unwind-libunwind.c.
+
+2018-04-05 Masatake YAMATO <yamato@redhat.com>
+
+ unwind: rename public functions in an object-oriented fashion.
+ This change renames functions exported to strace core part from unwind
+ subsystem.
+
+ The new names imply that unwind subsystem exports two types of
+ functions. One is for manipulating back-end itself, "unwind_" prefix
+ is used for this type. Another is for manipulating back-end private data
+ structure (unwind_ctx) attached to tcb, "unwind_tcb_" is used for this
+ type.
+
+ This naming should help people to understand unwind subsystem
+ and the relation between unwind subsystem and back-ends.
+
+ * defs.h (unwind_print_stacktrace): Rename to unwind_tcb_print.
+ (unwind_capture_stacktrace): Rename to unwind_tcb_capture.
+ * unwind.c: Ditto.
+ * syscall.c (syscall_entering_trace, syscall_exiting_trace): Use
+ new names.
+
+2018-04-05 Masatake YAMATO <yamato@redhat.com>
+
+ unwind: add unwind_ prefix to struct tcb.queue field and its type.
+ The names given to struct tcb.queue field and its type are too common,
+ this may cause conflicts in the future if new fields are added
+ to struct tcb.
+
+ * defs.h (struct tcb): Rename queue field to unwind_queue,
+ rename its type queue_t to unwind_queue_t.
+ * unwind.c (struct unwind_queue_t): Rename to unwind_queue_t.
+ All users updated.
+
+2018-04-05 Masatake YAMATO <yamato@redhat.com>
+
+ unwind: make the field type of struct tcb independent from libunwind.
+ Narrowing the area where the code refers to names associated with
+ libunwind is needed to utilize libdw of elfutils as an alternative
+ unwinder.
+
+ * defs.h (struct tcb): Rename libunwind_ui field to unwind_ctx, change
+ its type to "void *".
+ * unwind.c (unwind_tcb_init, unwind_tcb_fin, stracetrace_walk): Reflect
+ * the above field renaming.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: robustify options-syntax.test against ash.
+ * tests/options-syntax.test: Do not assume that shell provides $UID,
+ use "id -u" if it doesn't.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ strace.c: add support for opening output file in append mode.
+ * strace.c (open_append): New variable.
+ (init): Handle -A option.
+ (strace_fopen): Open file in "a" mode if open_append is set to true.
+ * strace.1.in: Document this.
+ * NEWS: Mention this.
+
+ Suggested-by: Philipp Marek <philipp.marek@emerion.com>
+ Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=528488
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ strace.c: support simultaneous usage of -r and -t options.
+ * strace.c (init): Do not set tflag when rflag is set.
+ (printleader): Handle rflag and tflag separately.
+ * strace.1.in (.SH OPTIONS): Add a note about differences between
+ the monotonic clock time and the wall clock time.
+ * tests/options-syntax.test: Remove the check for
+ "-tt has no effect with -r" warning.
+ * NEWS: Mention this.
+
+ Suggested-by: Josh Triplett <josh@freedesktop.org>
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+ Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466195
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ syscall.c: dump write I/O even if error is returned.
+ It makes sense to try to dump the argument of write syscalls as they can
+ be readily available despite the fact that error has been returned.
+
+ * syscall.c (dumpio): Move check for syserror and check for fd in
+ read_set to the end of the function.
+ * tests/read-write.c: Add a check for this behaviour.
+ * tests/pread64-pwrite64.c: Update expected output.
+ * NEWS: Mention this.
+
+ Suggested-by: J. Bruce Fields <bfields@fieldses.org>
+ Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436284
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ strace: handle possible NULL from localtime() call.
+ * strace.c (printleader): Print raw tv_sec value if localtime() returned
+ NULL.
+ * tests/localtime.c: New file.
+ * tests/localtime.test: New test.
+ * tests/Makefile.am (check_PROGRAMS): Add localtime.
+ (MISC_TESTS): Add localtime.test.
+ (localtime_LDADD): New variable.
+ * tests/.gitignore: Add localtime.
+ * ci/install-dependencies.sh (common_packages): Add faketime.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+ Closes: https://github.com/strace/strace/issues/42
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Return RVAL_STR unconditionally.
+ There is no reason to check for auxstr being non-NULL
+ because syscall_exiting_trace already does the check.
+
+ * sched.c (SYS_FUNC(sched_getscheduler)): Do not check tcp->auxstr,
+ return RVAL_STR unconditionally.
+ * time.c (do_adjtimex): Likewise.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ dist/README: s/linux/Linux/
+ * dist/README: Replace "linux" with "Linux".
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ strace.1.in: fix formatting of -e trace class descriptions.
+ Use .TP instead .PP as it is ought to be.
+
+ * strace.1.in (.SS Filtering): Use .TP instead .PP as it is ought to be.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ nlattr: check NLA_TYPE_MASK at compile time.
+ * nlattr.c: Include "static_assert.h"
+ (print_nlattr): Check the expectations about NLA_TYPE_MASK.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: add a comment about bpf_attr decoding.
+ * bpf.c: Add comment.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check decoding of bpf_attr of size 1.
+ * tests/bpf.c (BPF_PROG_GET_NEXT_ID_checks): New entry.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: use print_big_u64_addr.
+ Since pointers stored in the bpf_attr union are 64-bit regardless
+ of architecture bitness.
+
+ * bpf.c (DEF_BPF_CMD_DECODER(BPF_PROG_LOAD)): Call print_big_u64_addr
+ for attr.license.
+ (DEF_BPF_CMD_DECODER(BPF_OBJ_PIN)): Call print_big_u64_addr
+ for attr.pathname.
+ * tests/bpf.c (BPF_OBJ_PIN_checks): Check it.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: add support for file mode flags.
+ These were introduced by Linux commit v4.15-rc1~84^2~384^2~4.
+
+ * bpf_attr.h (struct BPF_OBJ_PIN_struct): Add file_flags field.
+ (struct BPF_PROG_GET_NEXT_ID_struct, struct BPF_PROG_GET_FD_BY_ID_struct,
+ struct BPF_MAP_GET_FD_BY_ID_struct): Add open_flags field.
+ (BPF_OBJ_PIN_struct_size, expected_BPF_OBJ_PIN_struct_size,
+ expected_BPF_PROG_GET_NEXT_ID_struct_size,
+ expected_BPF_PROG_GET_FD_BY_ID_struct_size,
+ expected_BPF_MAP_GET_FD_BY_ID_struct_size): Update.
+ * bpf.c (DEF_BPF_CMD_DECODER(BPF_OBJ_PIN)): Check the length, skip
+ printing the rest of attributes if it is less than offset of the
+ end of the bpf_fd field, print file_flags field otherwise.
+ (DEF_BPF_CMD_DECODER(BPF_PROG_GET_NEXT_ID),
+ DEF_BPF_CMD_DECODER(BPF_PROG_GET_FD_BY_ID),
+ DEF_BPF_CMD_DECODER(BPF_MAP_GET_FD_BY_ID)): Check the length, skip
+ printing the rest of attributes if it is less than offset of the
+ end of the next_id field, print open_flags field otherwise.
+ * xlat/bpf_file_mode_flags.in: New file.
+ * tests/bpf.c (BPF_OBJ_PIN_checks, BPF_PROG_GET_NEXT_ID_checks,
+ BPF_PROG_GET_FD_BY_ID_checks, BPF_MAP_GET_FD_BY_ID_checks): Check it.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: refactor bpf test.
+ The aim of this change is to introduce an ability to perform multiple
+ checks for a specific bpf command. In order to achieve so, all the
+ related data is stored in check descriptor, and test_bpf iterates over
+ it. There are also some provisions made in regard to future changes
+ (specifically, the way bpf_attr_data union is defined).
+
+ * tests/bpf.c (print_bpf_attr): New function, a wrapper around
+ struct bpf_check.printer.
+ (test_bpf_): Rename to...
+ (test_bpf): ...this. Replace arguments with struct bpf_check pointer.
+ Iterate over possible attribute variants. Account for changes in
+ attribute initialisation routine: provide a pointer to locally defined
+ union bpf_attr_data and perform memcpy afterwards. Initialise memory
+ from data each time before a bpf call.
+ (TEST_BPF, DEF_*, init_*, print_*): Remove.
+ (init_BPF_PROG_LOAD_attr, print_BPF_PROG_LOAD_attr,
+ init_BPF_OBJ_PIN_attr): New functions.
+ (license, pathname): New variables.
+ (BPF_MAP_CREATE_checks, BPF_MAP_LOOKUP_ELEM_checks,
+ BPF_MAP_UPDATE_ELEM_checks, BPF_MAP_DELETE_ELEM_checks,
+ BPF_MAP_GET_NEXT_KEY_checks, BPF_PROG_LOAD_checks, BPF_OBJ_PIN_checks,
+ BPF_PROG_ATTACH_checks, BPF_PROG_DETACH_checks,
+ BPF_PROG_TEST_RUN_checks, BPF_PROG_GET_NEXT_ID_checks,
+ BPF_PROG_GET_FD_BY_ID_checks, BPF_MAP_GET_FD_BY_ID_checks,
+ BPF_OBJ_GET_INFO_BY_FD_checks): New arrays.
+ (BPF_OBJ_GET_checks, BPF_MAP_GET_NEXT_ID_checks): New macros.
+ (CHK): New macro, a shorthand for initialising array of struct bpf_check.
+ (main): New static constant checks, iterate over checks and run test_bpf
+ with each element.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ print_fields.h: introduce PRINT_FIELD_ADDR and PRINT_FIELD_ADDR64 macros
+ * print_fields.h (PRINT_FIELD_ADDR, PRINT_FIELD_ADDR64): New macro.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ print_fields.h: introduce PRINT_FIELD_CSTRING_SZ macro.
+ A variant of PRINT_FIELD_CSTRING with an ability to pass string size
+ explicitly.
+
+ * print_fields.h (PRINT_FIELD_CSTRING_SZ): New macro.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ print_fields.h: check whether passed field is an array in PRINT_FIELD_CSTRING
+ * print_fields.h (PRINT_FIELD_CSTRING): Add MUST_BE_ARRAY to the size
+ value in order to check whether (where_).field_ is an array in compile
+ time.
+
+ print_fields.h: whitespace fix in PRINT_FIELD_HEX_ARRAY.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ bpf_attr: add more size checks.
+ * bpf_attr.h: Add expected sizes of structures.
+ * gen_bpf_attr_check.sh: Check them.
+
+ tests: check bpf syscall decoder unconditionally.
+ * configure.ac (AC_CHECK_HEADERS([linux/bpf.h])): Check for
+ struct bpf_insn.
+ * tests/bpf.c: Remove the test guard, include "scno.h", "bpf_attr.h",
+ "xlat.h", and "xlat/bpf_commands.h". Conditionalize inclusion of
+ <linux/bpf.h> on HAVE_LINUX_BPF_H. Remove all HAVE_UNION_* checks.
+ (BPF_ATTR_DATA_FIELD): New macro.
+ (bpf_attr_data): New union. Note that it is larger than modern
+ union bpf_attr, this allows more checks to be implemented in the future.
+ (sizeof_attr, test_bpf_): Replace union bpf_attr with
+ union bpf_attr_data.
+ (DEF_BPF_INIT_FIRST): Replace union bpf_attr with the corresponding
+ structure.
+ (init_BPF_MAP_CREATE_attr): Replace union bpf_attr with
+ struct BPF_MAP_CREATE_struct.
+ (init_BPF_MAP_LOOKUP_ELEM_attr): Replace union bpf_attr with
+ struct BPF_MAP_LOOKUP_ELEM_struct.
+ (init_BPF_MAP_UPDATE_ELEM_attr): Replace union bpf_attr with
+ struct BPF_MAP_UPDATE_ELEM_struct.
+ (init_BPF_MAP_DELETE_ELEM_attr): Replace union bpf_attr with
+ struct BPF_MAP_DELETE_ELEM_struct.
+ (init_BPF_MAP_GET_NEXT_KEY_attr): Replace union bpf_attr with
+ struct BPF_MAP_GET_NEXT_KEY_struct.
+ (init_BPF_PROG_LOAD_attr): Replace union bpf_attr with
+ struct BPF_PROG_LOAD_struct.
+ (init_BPF_OBJ_PIN_attr): Replace union bpf_attr with
+ struct BPF_OBJ_PIN_struct.
+ (init_BPF_PROG_ATTACH_attr): Replace union bpf_attr with
+ struct BPF_PROG_ATTACH_struct.
+ (init_BPF_PROG_DETACH_attr): Replace union bpf_attr with
+ struct BPF_PROG_DETACH_struct.
+ (init_BPF_PROG_GET_NEXT_ID_attr): Replace union bpf_attr with
+ struct BPF_PROG_GET_NEXT_ID_struct.
+ (sample_BPF_PROG_TEST_RUN_attr): Change type from union bpf_attr to
+ struct BPF_PROG_TEST_RUN_struct, all users updated.
+ (sample_BPF_OBJ_GET_INFO_BY_FD_attr): Change type from union bpf_attr
+ to struct BPF_OBJ_GET_INFO_BY_FD_struct, all users updated.
+
+ Check that structures defined by bpf_attr.h match system union bpf_attr.
+ * gen_bpf_attr_check.sh: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ (strace_SOURCES_check): New variable.
+ (strace_SOURCES): Add $(strace_SOURCES_check).
+ (BUILT_SOURCES, CLEANFILES): Add bpf_attr_check.c.
+ (bpf_attr_check.c): New rule.
+ (sys_func_h_sources): New variable.
+ (sys_func.h): Use it instead of strace_SOURCES_c.
+ * .gitignore: Add /bpf_attr_check.c.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ build: generate all union bpf_attr checks automatically.
+ Rather than list by hand some members of union bpf_attr that we check
+ for availability, automatically list all members of union bpf_attr we
+ are aware of.
+
+ * m4/gen_bpf_attr_m4.sh: New file.
+ * bootstrap: Invoke it.
+ * configure.ac (AC_CHECK_HEADERS([linux/bpf.h])): Use st_BPF_ATTR.
+ * m4/.gitignore: New file.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ bpf: move definitions of bpf_attr structures to separate header file.
+ This also unifies decoders of bpf commands by moving common code
+ to new macros.
+
+ * bpf_attr.h: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+ * bpf.c: Include it.
+ (DEF_BPF_CMD_DECODER): Rename to BEGIN_BPF_CMD_DECODER, add code common
+ to all decoders. All users updated.
+ (END_BPF_CMD_DECODER): New macro, add its invocation to all users
+ of BEGIN_BPF_CMD_DECODER macro.
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Introduce print_big_u64_addr.
+ This is needed at least for bpf, btrfs, and sg_io, as 32-bit tracer
+ cannot figure out whether the kernel is 32-bit or 64-bit,
+ and its behaviour differs when it handles u64 as a pointer.
+
+ * linux/arch_defs_.h [!CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL]
+ (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL): New definition, default to 0.
+ * linux/arm/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Define to 1.
+ * linux/i386/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * linux/mips/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * linux/powerpc/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * linux/riscv/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * linux/s390/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * linux/sparc/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * linux/tile/arch_defs_.h (CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL):
+ Likewise.
+ * defs.h (print_big_u64_addr): New function.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-04-04 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ defs.h: introduce max_addr and max_kaddr macros.
+ In order to check an address against maximum addr/kaddr value
+ for the current personality.
+
+ * degs.h (max_addr, max_kaddr): New macros.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce static_assert.
+ We are going to use static_assert provided by <assert.h> or,
+ if it doesn't work, our cheap imitation that doesn't display
+ the message specified as the second argument of static_assert.
+
+ * configure.ac (AC_CACHE_CHECK): Check for static_assert in <assert.h>,
+ define HAVE_STATIC_ASSERT if it is available.
+ * static_assert.h: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: forward SIZEOF_KERNEL_LONG_T and SIZEOF_LONG to C preprocessor.
+ * tests/Makefile.am (AM_CPPFLAGS): Forward SIZEOF_KERNEL_LONG_T
+ and SIZEOF_LONG as TESTS_SIZEOF_KERNEL_LONG_T and TESTS_SIZEOF_LONG.
+ * tests/tests.h [TESTS_SIZEOF_KERNEL_LONG_T] (SIZEOF_KERNEL_LONG_T):
+ Redefine to TESTS_SIZEOF_KERNEL_LONG_T.
+ [TESTS_SIZEOF_LONG] (SIZEOF_LONG): Redefine to TESTS_SIZEOF_LONG.
+
+ Complements: v4.21~5 ("Export SIZEOF_LONG and SIZEOF_KERNEL_LONG_T to tests")
+
+2018-04-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests/tests.h: fix indentation.
+
+ tests: fix potential errno clobbering in netlink_kobject_uevent.test.
+ * tests/netlink_kobject_uevent.c (errstr): New variable.
+ (sys_send): New function.
+ (main): Use them.
+
+2018-04-03 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
+
+ Restore kvm ioctl definitions for aarch64 and mips architectures.
+ * maint/ioctls_sym.sh: Add aarch64 and mips architectures to the list
+ of kvm-capable architectures.
+ * linux/aarch64/ioctls_arch0.h: Regenerate.
+ * linux/mips/ioctls_arch0.h: Regenerate.
+
+ Fixes: v4.15~92 ("Move KVM_* ioctl entries from ioctls_inc*.h to ioctls_arch*.h")
+
+2018-04-03 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
+
+ Update ioctl entries from linux v4.16.
+ * linux/32/ioctls_inc_align16.h: Update from linux v4.16
+ 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.
+ * linux/arm/ioctls_arch0.h: Likewise.
+ * linux/i386/ioctls_arch0.h: Likewise.
+ * linux/powerpc/ioctls_arch0.h: Likewise.
+ * linux/s390/ioctls_arch0.h: Likewise.
+ * linux/s390x/ioctls_arch0.h: Likewise.
+ * linux/x86_64/ioctls_arch0.h: Likewise.
+ * NEWS: Mention this.
+
+ maint: update for linux 4.16.
+ * maint/ioctls_sym.sh: Add workaround for linux/ndctl.h file.
+ Update workaround for media/v4l2-common.h file.
+ (x86_list): Add KVM_GET_MSR_FEATURE_INDEX_LIST.
+
+2018-04-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ util.c: amend sprinttime_ex description a bit.
+ * util.c (sprinttime_ex): Document return value.
+
+ tests/bpf.c: add a check for NULL bpf_attr pointer.
+ * tests/bpf.c (main): Add a check with 0 passed in the third argument.
+
+2018-04-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: print byte range for extra data.
+ As it could be not entirely clear what bytes are printed.
+
+ * bpf.c (decode_attr_extra_data): Print a comment about the byte range
+ to be printed.
+ * tests/bpf.c: Update expected output.
+
+2018-04-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Remove addflags.
+ It has only single user and implementation of xlat styles for it would
+ lead to lots of code duplication.
+
+ * defs.h (addflags): Remove declaration.
+ * mem.c (print_mmap_flags): Convert addflags call into printflags64 with
+ non-zeroeness flags check.
+ * xlat.c (addflags): Remove.
+
+2018-04-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ Add i18n support.
+ Let's make a step towards the growing strace userbase all around
+ the world and translate something to the language of their choice.
+
+ This change enables translation of error messages corresponding
+ to errno codes, making it consistent with error diagnostics of other
+ i18n-aware tools, e.g.
+
+ $ LANG=es_ES strace -qq -a38 -P /missing unlink /missing
+ unlink("/missing") = -1 ENOENT (No existe el fichero o el directorio)
+ unlink: no se puede deshacer el enlace '/missing': No existe el fichero o el directorio
+
+ * strace.c: Include <locale.h>.
+ (main): Invoke setlocale.
+ * tests/init.sh: Export LC_ALL=C.
+ * NEWS: Mention this enhancement.
+
+2018-03-29 Dmitry V. Levin <ldv@altlinux.org>
+
+ Remove RVAL_PRINT_ERR_VAL.
+ * defs.h (RVAL_PRINT_ERR_VAL): Remove.
+ * ldt.c (SYS_FUNC(modify_ldt)): Return 0.
+ * syscall.c (syscall_exiting_trace): When printing an error,
+ always print struct tcb.u_rval as if RVAL_PRINT_ERR_VAL was set.
+
+2018-03-29 Dmitry V. Levin <ldv@altlinux.org>
+
+ Treat RVAL_DECIMAL the same way as RVAL_UDECIMAL.
+ Assuming that syscalls may return negative values only as error codes,
+ always print non-error syscall return codes as unsigned.
+
+ * defs.h (RVAL_UDECIMAL): Remove.
+ (RVAL_DECIMAL): Rename to RVAL_UDECIMAL.
+ * syscall.c (syscall_exiting_trace) <case RVAL_DECIMAL>: Remove.
+ * clone.c (SYS_FUNC(fork)): Remove RVAL_UDECIMAL.
+ * lseek.c (SYS_FUNC(lseek)): Likewise.
+ * prctl.c (SYS_FUNC(prctl)): Likewise.
+ * uid.c (SYS_FUNC(getuid), SYS_FUNC(setfsuid)): Likewise.
+ * times.c (SYS_FUNC(times)): Always return 0.
+ * tests/inject-nf.c (main): Update expected output.
+
+2018-03-29 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check handling of some invalid delay injection parameters.
+ * tests/qual_inject-syntax.test: Check for negative delay injection
+ parameters. Check for overriding delay injection parameters.
+
+2018-03-29 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Implement injection of negative return values.
+ Extend the range of injected return value to the maximum, print warnings
+ if negative injection value can be clipped in compat personality or can
+ inadvertently turn into a fault injection.
+
+ * defs.h (INJECT_F_ERROR): New macro.
+ * filter_qualify.c (parse_inject_token): Revert type of intval local
+ variable back to int, check INJECT_F_ERROR along with INJECT_F_RETVAL,
+ use strtoull to parse retval argument, print warnings in case of retval
+ clipping and inadvertent fault injection.
+ (qualify_inject_common): Set INJECT_F_ERROR instead of INJECT_F_RETVAL.
+ * syscall.c (tamper_with_syscall_exiting): Check inject_data.flags
+ to determine whether a fault injection or retval injection has to be
+ performed.
+ (syscall_exiting_trace) <case RVAL_DECIMAL>: Explicitly print
+ tcp->u_rval as int if current_klongsize < sizeof(tcp->u_rval).
+ * tests/inject-nf.c (main): Update.
+ * tests/inject-nf.test: Test injection of negative return values.
+ * tests/qual_inject-syntax.test: Remove retval=-1 check as it is now
+ allowed, add checks for invalid retval parameters.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ arch_defs.h: fix typo in comment.
+
+ Move delay interface from defs.h to delay.h.
+ * defs.h (alloc_delay_data, fill_delay_data, is_delay_timer_armed,
+ delay_timer_expired, arm_delay_timer, delay_tcb): Move...
+ * delay.h: ... to new file.
+ * Makefile.am (strace_SOURCES): Add it.
+ * filter_qualify.c: Include it.
+ * strace.c: Likewise.
+ * syscall.c: Likewise.
+
+2018-03-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ Turn struct inject_data.rval into an index.
+ Add one level of indirection to decrease the size of struct inject_data
+ as hundreds of these structures are created for each process when
+ injection mechanism is activated.
+
+ * retval.h: New file.
+ * retval.c: Likewise.
+ * Makefile.am (strace_SOURCES): Add them.
+ * defs.h (struct inject_data): Replace rval field with rval_idx.
+ * filter_qualify.c: Include "retval.h".
+ (parse_inject_token, qualify_inject_common): Initialize
+ struct inject_data.rval_idx using retval_new.
+ * syscall.c: Include "retval.h".
+ (tamper_with_syscall_exiting): Obtain the value that has to be injected
+ using retval_get.
+
+2018-03-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ defs.h: update comment.
+ * defs.h (struct inject_data): Update comment about flags.
+
+ Complements: v4.21-108-gba8e768 ("Implement delay injection")
+
+2018-03-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: cleanup mmap_flags.in.
+ * xlat/mmap_flags.in (_MAP_NEW): Remove SunOS-specific comment, add
+ a comment that this is a SPARC-specific constant (from
+ arch/sparc/include/uapi/asm/mman.h).
+ (MAP_GROWSUP): IA-64-specific constant (from
+ arch/ia64/include/uapi/asm/mman.h).
+ (MAP_INHERIT): Add a comment that this is a SPARC-specific constant
+ (from arch/sparc/include/uapi/asm/mman.h).
+ (_MAP_INHERIT): Add a comment that this is an Alpha-specific constant
+ (from arch/alpha/include/uapi/asm/mman.h).
+ (MAP_ANON): Remove, FreeBSD-specific constant.
+ (MAP_HASSEMAPHORE): Rename to...
+ (_MAP_HASSEMAPHORE): ...this, add a comment that this is an
+ Alpha-specific constant (from arch/alpha/include/uapi/asm/mman.h).
+ (MAP_NOSYNC, MAP_NOCORE): Remove.
+ (MAP_AUTOGROW, MAP_AUTORSRV, MAP_LOCAL): Add a comment that this is
+ an architecture-specific constant (from
+ arch/mips/include/uapi/asm/mman.h, arch/xtensa/include/uapi/asm/mman.h).
+ (_MAP_UNALIGNED): Add a comment that this is an Alpha-specific constant
+ (from arch/alpha/include/uapi/asm/mman.h).
+
+2018-03-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: check decoding of kern_features syscall.
+ * tests/kern_features.c: New file.
+ * tests/kern_features-fault.test: New test.
+ * tests/gen_tests.in (kern_features): New entry.
+ * tests/Makefile.am (DECODER_TESTS): Add kern_features-fault.test.
+ * tests/pure_executables.list: Add kern_features.
+ * tests/.gitignore: Likewise.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ sparc, sparc64: implement kern_features decoder.
+ * sparc.c: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * linux/sparc/syscallent.h ([340]): Remove NF flag, set kern_features
+ decoder.
+ * linux/sparc64/syscallent.h ([340]): Likewise.
+ * xlat/sparc_kern_features.in: New file.
+ * NEWS: Mention this enhancement.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ evdev: move mpers-specific parsers to a separate file.
+ This change reduces binary code duplication on mpers platforms
+ and prepares evdev parsers to use printxval_bsearch.
+
+ * defs.h (evdev_ioctl, print_evdev_ff_type): New prototypes.
+ * evdev.c (evdev_ioctl): Un-mpersify.
+ (evdev_write_ioctl) Remove EVIOCSFF case, forward default case
+ to evdev_write_ioctl_mpers.
+ (decode_envelope, ff_effect_ioctl): Move to...
+ * evdev_mpers.c: ... new file.
+ * Makefile.am (strace_SOURCES): Add evdev_mpers.c.
+
+2018-03-26 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ ci: install libunwind8-dev.
+ While in debian/control we use libunwind-dev in Build-Depends, in case
+ of ci we have to be more conservative and use the name portable across
+ different ci implementations.
+
+ * ci/install-dependencies.sh (common_packages): Add libunwind8-dev.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-23 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: check injection of return values into a "never fails" syscall.
+ * tests/inject-nf.c: New file.
+ * tests/inject-nf.test: New test.
+ * tests/.gitignore: Add inject-nf.
+ * tests/Makefile.am (check_PROGRAMS): Likewise.
+ (MISC_TESTS): Add inject-nf.test.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce raw syscall invocation wrappers.
+ Unfortunately, syscall(3) provided by libc is too smart
+ for some of our needs.
+
+ * linux/raw_syscall.h: New file.
+ * linux/aarch64/raw_syscall.h: Likewise.
+ * linux/alpha/raw_syscall.h: Likewise.
+ * linux/arc/raw_syscall.h: Likewise.
+ * linux/arm/raw_syscall.h: Likewise.
+ * linux/avr32/raw_syscall.h: Likewise.
+ * linux/bfin/raw_syscall.h: Likewise.
+ * linux/hppa/raw_syscall.h: Likewise.
+ * linux/i386/raw_syscall.h: Likewise.
+ * linux/ia64/raw_syscall.h: Likewise.
+ * linux/m68k/raw_syscall.h: Likewise.
+ * linux/metag/raw_syscall.h: Likewise.
+ * linux/microblaze/raw_syscall.h: Likewise.
+ * linux/mips/raw_syscall.h: Likewise.
+ * linux/nios2/raw_syscall.h: Likewise.
+ * linux/or1k/raw_syscall.h: Likewise.
+ * linux/powerpc/raw_syscall.h: Likewise.
+ * linux/powerpc64/raw_syscall.h: Likewise.
+ * linux/riscv/raw_syscall.h: Likewise.
+ * linux/s390/raw_syscall.h: Likewise.
+ * linux/s390x/raw_syscall.h: Likewise.
+ * linux/sh/raw_syscall.h: Likewise.
+ * linux/sh64/raw_syscall.h: Likewise.
+ * linux/sparc/raw_syscall.h: Likewise.
+ * linux/sparc64/raw_syscall.h: Likewise.
+ * linux/tile/raw_syscall.h: Likewise.
+ * linux/x32/raw_syscall.h: Likewise.
+ * linux/x86_64/raw_syscall.h: Likewise.
+ * linux/xtensa/raw_syscall.h: Likewise.
+ * Makefile.am (EXTRA_DIST): Add them.
+
+2018-03-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: fix potentially unbound variable in kernel_version_code.
+ Fix the following use case:
+
+ $ sh -uc '. tests/init.sh; kernel_version_code 4.5'
+ tests/init.sh: line 242: 3: unbound variable
+
+ * tests/init.sh (kernel_version_code): Fix potentially unbound variable.
+
+2018-03-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ strace: further optimize unblocking of the delay signal handler.
+ Do not unblock the delay signal handler unless the delay timer is armed.
+
+ * defs.h (is_delay_timer_created): Remove.
+ (is_delay_timer_armed, delay_timer_expired): New prototypes.
+ * delay.c (delay_timer_is_armed): New static variable.
+ (is_delay_timer_created): Add static qualifier.
+ (is_delay_timer_armed, delay_timer_expired): New functions.
+ (arm_delay_timer): Set delay_timer_is_armed.
+ * strace.c (next_event): Use is_delay_timer_armed instead of
+ is_delay_timer_created to check whether the delay signal handler
+ has to be unblocked.
+ (timer_sighandler): Invoke delay_timer_expired.
+
+2018-03-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ strace: rewrite restart error handling without sigsetjmp/siglongjmp.
+ Further simplify and optimize error handling of the delay signal handler
+ by replacing sigsetjmp/siglongjmp mechanism with an error flag.
+
+ * strace.c: Do not include <setjmp.h>.
+ (restart_failed): New volatile variable.
+ (timer_jmp_buf): Remove.
+ (next_event): Cache is_delay_timer_created() return value,
+ remove sigsetjmp invocation, check restart_failed instead.
+ (timer_sighandler): Replace siglongjmp with setting restart_failed.
+
+2018-03-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ strace: do not call sigsetjmp without a delay timer.
+ As sigsetjmp costs a syscall, do not call it unless a delay timer
+ is already created and its signal handler is going to be unblocked.
+
+ * strace.c (next_event): Move sigsetjmp invocation under
+ is_delay_timer_created() condition.
+
+ Optimizes: v4.21-108-gba8e768 ("Implement delay injection")
+
+2018-03-22 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests/bpf.c: convert TEST_BPF_ macro to a function.
+ As it looks like there's no compelling reason to keep it as a macro and
+ leaving it so quite complicates modification of the routine and makes
+ them error-prone.
+
+ * tests/bpf.c (TEST_BPF_): Convert it to...
+ (test_bpf): ...this. Rename cmd_ to cmd, cmd_str_ to cmd_str,
+ init_first_ to init_first, print_first_ to print_first, init_attr_
+ to init_attr, print_attr_ to print_attr.
+ (TEST_BPF): Call test_bpf_ instead of TEST_BPF_.
+
+2018-03-22 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: btrfs.c whitespace cleanup.
+ * tests/btrfs.c: Add spaces after PRI* format specifiers.
+
+2018-03-22 Elvira Khabirova <lineprinter@altlinux.org>
+
+ tests: check delay injection.
+ * tests/delay.c: New file.
+ * tests/delay.test: New test.
+ * tests/.gitignore: Add delay.
+ * tests/Makefile.am (check_PROGRAMS): Likewise.
+ (delay_LDADD): New variable.
+ (MISC_TESTS): Add delay.test.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-22 Elvira Khabirova <lineprinter@altlinux.org>
+
+ Implement delay injection.
+ Add -e inject=SET:delay_enter= and -e inject=SET:delay_exit= options.
+
+ * configure.ac (AC_SEARCH_LIBS): Check for timer_create -lrt.
+ * delay.c: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+ (strace_LDADD): Add $(timer_LIBS).
+ * defs.h (INJECT_F_DELAY_ENTER, INJECT_F_DELAY_EXIT,
+ TCB_INJECT_DELAY_EXIT, TCB_DELAYED, inject_delay_exit, syscall_delayed):
+ New macros.
+ (alloc_delay_data, fill_delay_data, is_delay_timer_created,
+ arm_delay_timer, delay_tcb): New prototypes.
+ (struct inject_data): Replace reserved field with delay_idx.
+ (struct tcb): Add delay_expiration_time field.
+ * filter_qualify.c (parse_delay_token): New function.
+ (parse_inject_token): Use it.
+ (qualify_inject_common): Initialize struct inject_opts.data.delay_idx.
+ * strace.c: Include <setjmp.h>
+ (timer_jmp_buf, timer_set): New static variables.
+ (timer_sighandler, restart_delayed_tcb, restart_delayed_tcbs): New
+ functions.
+ (init): Block SIGALRM, set SIGALRM handler.
+ (dispatch_event): Do not restart delayed syscalls.
+ (next_event): Unblock SIGALRM during wait4 invocation.
+ * syscall.c (tamper_with_syscall_entering): Arm delay timer if
+ INJECT_F_DELAY_ENTER injection flag is set, set TCB_INJECT_DELAY_EXIT
+ flag if INJECT_F_DELAY_EXIT injection flag is set.
+ tamper_with_syscall_exiting): Arm delay timer if inject_delay_exit.
+ (syscall_exiting_trace): Call tamper_with_syscall_exiting in case of
+ inject_delay_exit.
+ (syscall_exiting_finish): Clear TCB_INJECT_DELAY_EXIT flag.
+ * strace.1.in: Document delay injection.
+ * NEWS: Mention this improvement.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-22 Dmitry V. Levin <ldv@altlinux.org>
+
+ Do not block handled signals in interactive mode.
+ Let these signals be handled asynchronously as they are acted on
+ only when waiting for process state changes.
+
+ * strace.c (start_set, blocked_set): Remove.
+ (set_sighandler): Do not update blocked_set.
+ (startup_attach, init, next_event): Remove all sigprocmask calls.
+
+2018-03-21 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: improve handling of various sizes of bpf_prog_attr structure.
+ As program attributes have been added gradually over kernel versions,
+ attribute size less than expected should be printed accordingly.
+
+ * bpf.c (DEF_BPF_CMD_DECODER(BPF_PROG_LOAD)): Do not print structure
+ fields if their size is less than the initially introduced (in Linux
+ commit v3.18-rc1~52^2~1^2~7) version. Print fields of union bpf_attr
+ introduced in various kernel versions when the length is big enough
+ (new fields were introduced in Linux commits v3.18-rc1~52^2~1^2~4,
+ v4.1-rc1~84^2~50, and v4.12-rc2~34^2~29^2~2).
+ * tests/bpf.c (print_BPF_PROG_LOAD_first): Update expected output.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-20 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ btrfs: print struct btrfs_ioctl_logical_ino_args.reserved if non-zero.
+ * btrfs.c (btrfs_ioctl) <case BTRFS_IOC_LOGICAL_INO>: Print
+ struct btrfs_ioctl_logical_ino_args.reserved field if it is not zero.
+ * tests/btrfs.c (btrfs_test_ino_path_ioctls): Check it.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-20 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Move is_filled and IS_ZERO to macros.h, rename IS_ZERO to IS_ARRAY_ZERO.
+ * s390.c: Replace all IS_ZERO invocations with IS_ARRAY_ZERO.
+ (is_filled, IS_ZERO): Move...
+ * macros.h: ...here.
+ (is_filled): Add inline qualifier, add const qualifier to ptr.
+ (IS_ZERO): Rename to IS_ARRAY_ZERO, cast arr_ to "const char *".
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-20 Dmitry V. Levin <ldv@altlinux.org>
+
+ mpers.m4: enhance workaround for missing gnu/stubs-*.h files.
+ Make generated empty gnu stub files available for mpers_test.sh check.
+
+ * m4/mpers.m4 (st_MPERS): Add $IFLAG to CPPFLAGS for mpers_test.sh
+ invocation.
+
+ Complements: v4.11~223 ("mpers.m4: workaround missing gnu/stubs-*.h files")
+
+2018-03-20 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ README.md: add references to binary strace packages.
+ * README.md: Add references to binary strace packages in OBS,
+ Fedora rawhide, and Sisyphus.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-20 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ INSTALL-git.md: enhance phrasing.
+ * INSTALL-git.md: Enhance phrasing.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-20 Dmitry V. Levin <ldv@altlinux.org>
+
+ bootstrap: distribute README.
+ * bootstrap: Install README before invoking autoreconf to get README
+ included into distributed tarball.
+
+ Fixes: v4.21-93-g4bb8454 ("Move README to dist subdirectory")
+
+2018-03-20 Dmitry V. Levin <ldv@altlinux.org>
+
+ Replace struct timeval with struct timespec in time measurements.
+ This is required to implement more precise time measurements.
+
+ * Makefile.am (strace_LDADD): Add $(clock_LIBS).
+ * defs.h (struct tcb): Change the type of stime, dtime, and etime fields
+ from struct timeval to struct timespec, all users updated.
+ (syscall_exiting_decode, syscall_exiting_trace, count_syscall): Change
+ the type of "struct timeval *" argument to "struct timespec *", all
+ users updated.
+ (tv_nz, tv_cmp, tv_float, tv_add, tv_sub, tv_div, tv_mul): Rename to
+ ts_nz, ts_cmp, ts_float, ts_add, ts_sub, ts_div, and ts_mul. Change
+ the type of all "struct timeval *" arguments to "struct timespec *",
+ all users updated.
+ * util.c (tv_nz, tv_cmp, tv_float, tv_add, tv_sub, tv_div, tv_mul):
+ Rename to ts_nz, ts_cmp, ts_float, ts_add, ts_sub, ts_div, and ts_mul.
+ Change the type of all "struct timeval *" arguments to "struct timespec *".
+ * count.c (struct call_counts): Change the type of "time" field
+ from struct timeval to struct timespec, all users updated.
+ (overhead): Change type from struct timeval to struct timespec, all
+ users updated.
+ (count_syscall): Change the type of "struct timeval *" argument to
+ "struct timespec *".
+ * strace.c (printleader): Change the type of struct timeval variables
+ to struct timespec, call clock_gettime instead of gettimeofday.
+ (next_event, trace_syscall): Change the type of struct timeval variables
+ to struct timespec.
+ * syscall.c (syscall_entering_finish, syscall_exiting_decode): Call
+ clock_gettime instead of gettimeofday.
+
+2018-03-20 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix -O option handling.
+ Fast syscalls usually take less than a microsecond of system cpu time
+ nowadays, making -O option almost useless.
+
+ * count.c (call_summary_pers): Avoid negative time counts.
+ * tests/count.test: Check it.
+ * NEWS: Mention it.
+
+2018-03-16 Dmitry V. Levin <ldv@altlinux.org>
+
+ count: cleanup count_syscall.
+ * count.c (shortest): Remove.
+ (overhead): Initialize to zero.
+ (call_summary_pers): Remove shortest handling.
+ (count_syscall): Remove dead code. The remaining code does the same
+ wrong calculations as before the change, though.
+
+ printleader: cleanup tflag handling.
+ * strace.c (printleader): Move declarations of variables closer
+ to their first use.
+
+2018-03-16 Dmitry V. Levin <ldv@altlinux.org>
+
+ Move install.texi to maint subdirectory.
+ This file comes from GNU Autoconf and is used to generate INSTALL file.
+
+ * install.texi: Move...
+ * maint/install.texi: ...here.
+
+2018-03-16 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ doc: update commit requirements.
+ * README-hacking (Requirements): Enhance phrasing.
+ (Commit log requirements): Rename to "Commit requirements",
+ describe "absence of whitespace errors" requirement, add references
+ to the Linux kernel coding style and scripts/checkpatch.pl script.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-16 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Move README to dist subdirectory.
+ README was originally written for users of distribution tarballs.
+ Nowadays it appears to be confusing for those who build strace
+ using a GIT version of strace source code.
+
+ * README: Move...
+ * dist/README: ...here.
+ * bootstrap: Copy README from dist subdirectory to the toplevel
+ directory after successful autoreconf.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+ References: https://github.com/strace/strace/issues/56
+
+2018-03-15 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ README: synchronise with README.md.
+ * README: Extend description, reference COPYING.
+
+2018-03-15 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ poll.c: remove special INFTIM handling.
+ On Linux, poll syscall interprets any negative timeout value as an
+ infinite timeout, so no need to handle BSD-specific INFTIM.
+
+ * poll.c (SYS_FUNC(poll)): Remove INFTIM handling.
+
+2018-03-14 Dmitry V. Levin <ldv@altlinux.org>
+
+ build: do not hardcode -lrt.
+ Depending on libc implementation, various -lrt functions can be
+ implemented either in -lc or in -lrt. For example, starting with
+ glibc-2.17 the clock_* suite of functions is available directly in -lc.
+
+ Check whether clock_* and mq_* suites of functions are provided
+ by -lrt or by the main C library, do not link with -lrt unnecessarily.
+
+ This change affects only tests yet, but this is going to be
+ more important as soon as strace starts using clock_gettime.
+
+ * configure.ac (AC_SEARCH_LIBS): Check for clock_gettime and mq_open
+ in -lrt.
+ (AC_SUBST): Add clock_LIBS and mq_LIBS.
+ * tests/Makefile.am (mq_LDADD): Replace -lrt with $(mq_LIBS).
+ (threads_execve_LDADD, times_LDADD): Replace -lrt with $(clock_LIBS).
+
+2018-03-14 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: do not link with -lrt unnecessarily.
+ * tests/Makefile.am (attach_f_p_LDADD): Remove -lrt.
+ (clock_xettime_LDADD, mq_sendrecv_LDADD, mq_sendrecv_read_LDADD,
+ mq_sendrecv_write_LDADD): Remove.
+
+2018-03-13 Dmitry V. Levin <ldv@altlinux.org>
+
+ Optimize pid2tcb.
+ Introduce an internal cache of pid2tcb translations.
+ This can save more than 80% of CPU user time spent by strace.
+
+ Tested using the following setup:
+
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <sys/wait.h>
+ int main()
+ {
+ int i;
+ sleep(1);
+ for (i = 1; i < 1000; ++i) {
+ pid_t pid = fork();
+ if (pid < 0)
+ return 2;
+ if (pid)
+ return wait(&i) != pid || i;
+ }
+ sleep(1);
+ for (i = 0; i < 10000000; ++i)
+ umask(0777);
+ return 0;
+ }
+
+ old$ ./set_ptracer_any ./pid2tcb >pid2tcb.wait & \
+ while [ ! -s pid2tcb.wait ]; do sleep 0.1; done; \
+ time -f '%Uuser %Ssystem %eelapsed %PCPU' \
+ ../strace -qq -enone -esignal=none -f -p $!
+ 5.51user 104.90system 122.45elapsed 90%CPU
+
+ new$ ./set_ptracer_any ./pid2tcb >pid2tcb.wait & \
+ while [ ! -s pid2tcb.wait ]; do sleep 0.1; done; \
+ time -f '%Uuser %Ssystem %eelapsed %PCPU' \
+ ../strace -qq -enone -esignal=none -f -p $!
+ 1.29user 102.78system 114.97elapsed 90%CPU
+
+2018-03-13 Dmitry V. Levin <ldv@altlinux.org>
+
+ Enable USE_SEIZE code unconditionally.
+ It is by no means an experimental code.
+
+ * defs.h (USE_SEIZE): Remove.
+ * strace.c [!USE_SEIZE]: Remove.
+
+2018-03-13 Dmitry V. Levin <ldv@altlinux.org>
+
+ ci: clone musl from the local server.
+ Assume that strace project on the local server contains an appropriate
+ musl repository, use this repository instead of hardcoded github
+ location.
+
+ * ci/install-dependencies.sh (clone_repo): Use local server by default.
+ (musl-gcc): Un-hardcode the location of musl repository.
+
+2018-03-13 Dmitry V. Levin <ldv@altlinux.org>
+
+ ci: refactor cloning of additional repositories.
+ * ci/install-dependencies.sh (clone_repo): New function.
+ Use it instead of direct invocations of git clone.
+
+ ci: extend error diagnostics when configure invocation fails.
+ * ci/run-build-and-tests.sh: Include $CC -dumpspecs output in addition
+ to config.log when ./configure fails.
+
+ ci: rename travis-build.sh and travis-install.sh scripts.
+ * travis-build.sh: Rename to ci/run-build-and-tests.sh, all callers
+ updated.
+ * travis-install.sh: Rename to ci/install-dependencies.sh, all callers
+ updated.
+
+ tests: extend ioctl.test libc protection to -y output.
+ * tests/ioctl.test: Extend the filter of ioctl calls with standard
+ descriptor arguments to -y output.
+
+2018-03-12 Harsha Sharma <harshasharmaiitr@gmail.com>
+
+ ptp.c: print field names and use macros form print_fields.h.
+ * ptp.c: Include "print_fields.h".
+ (ptp_ioctl): Print field names with field values for PTP_PEROUT_REQUEST,
+ use macros from print_fields.h.
+
+2018-03-11 Chen Jingpiao <chenjingpiao@gmail.com>
+
+ tests: add check for decoding of netfilter subsystem.
+ * tests/netlink_netfilter.c(test_nfgenmsg): Add check for decoding
+ of netfilter subsystem.
+
+ nfnetlink: introduce generic netfilter subsystem decoder.
+ * netlink_netfilter.c: Include "nlattr.h".
+ (decode_netlink_netfilter): Call decode_nlattr.
+
+2018-03-11 Chen Jingpiao <chenjingpiao@gmail.com>
+
+ Move nl_netfilter_msg_types definition from netlink.c to netlink_netfilter.c
+ The side effect of #include "xlat/nl_netfilter_msg_types.h" is
+ NFNL_MSG_BATCH_* constants properly defined in that header file.
+ While netlink.c does not use these constants itself,
+ netlink_netfilter.c is going to need them soon.
+
+ * defs.h (nl_netfilter_msg_types): New xlat prototype.
+ * netlink.c: Move inclusion of "xlat/nl_netfilter_msg_types.h" ...
+ * netlink_netfilter.c: ... here.
+
+2018-03-11 Chen Jingpiao <chenjingpiao@gmail.com>
+
+ tests: add check for NETLINK_NETFILTER parser.
+ * tests/netlink_netfilter.c: Include <netinet/in.h>, <arpa/inet.h>
+ and <linux/netfilter/nf_tables.h>.
+ Replace "netlink.h" with "test_netlink.h".
+ (NFNL_SUBSYS_NFTABLES, NFT_MSG_NEWTABLE): New macros.
+ (test_nlmsg_done, test_nfgenmsg): New functions.
+ (main): Use them.
+
+ netlink: introduce NETLINK_NETFILTER parser.
+ * netlink_netfilter.c: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+ * defs.h (decode_netlink_netfilter): New prototype.
+ * netlink.c (netlink_decoders): Add NETLINK_NETFILTER.
+ * xlat/netfilter_versions.in: New file.
+
+2018-03-11 Chen Jingpiao <chenjingpiao@gmail.com>
+
+ xlat: remove NFNL_SUBSYS_COUNT constant.
+ NFNL_SUBSYS_COUNT is not a symbol with some constant value, it changes
+ with time, just print it as an unrecognized number.
+
+ * xlat/nl_netfilter_subsys_ids.in (NFNL_SUBSYS_COUNT): Remove.
+
+2018-03-10 Dmitry V. Levin <ldv@altlinux.org>
+
+ inject_data: make room for more injection features.
+ * defs.h (struct inject_data): Squeeze flags and signo fields from
+ uint16_t to uint8_t to make room for more injection features.
+
+2018-03-09 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: sort v4l2_pix_fmts.in and v4l2_sdr_fmts.in.
+ * xlat/v4l2_pix_fmts.in: Sort by value, add a comment about sorting.
+ * xlat/v4l2_sdr_fmts.in: Likewise.
+
+2018-03-09 Dmitry V. Levin <ldv@altlinux.org>
+
+ xlat: add comments to all sorted xlat files.
+ Add a short comment describing the method used to sort entries.
+
+ * xlat/ethernet_protocols.in: Update the comment about sorting.
+ * xlat/fsmagic.in: Likewise.
+ * xlat/evdev_keycode.in: Add a comment about sorting.
+ * xlat/hw_breakpoint_type.in: Likewise.
+ * xlat/perf_hw_cache_id.in: Likewise.
+ * xlat/perf_hw_cache_op_id.in: Likewise.
+ * xlat/perf_hw_cache_op_result_id.in: Likewise.
+ * xlat/perf_hw_id.in: Likewise.
+ * xlat/perf_sw_ids.in: Likewise.
+ * xlat/perf_type_id.in: Likewise.
+
+2018-03-09 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: remove page size caching.
+ get_pagesize() has a static cache anyway, no need to duplicate it.
+
+ * bpf.c (SYS_FUNC(bpf)): Remove static size_t page_size and its
+ initialisation, use get_pagesize() as the size of buf directly.
+
+2018-03-09 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf_filter: fix indentation of the switch clause.
+ * bpf_filter.c (print_bpf_filter_code): Fix switch clause indentation.
+
+2018-03-08 Dmitry V. Levin <ldv@altlinux.org>
+
+ xlat: provide fallback definitions for arch-independent mmap flags.
+ This is important for recently introduced MAP_SHARED_VALIDATE flag.
+
+ * xlat/mmap_flags.in (MAP_SHARED, MAP_PRIVATE, MAP_SHARED_VALIDATE):
+ Add constant values.
+
+ Fixes: v4.21-67-g8c209d1 ("tests: fix remap_file_pages.test breakage on hppa")
+
+2018-03-07 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ bpf: print kern_version in the form of KERNEL_VERSION macro.
+ * bpf.c (DEF_BPF_CMD_DECODER(BPF_PROG_LOAD)): Print
+ union bpf_attr.kern_version in the form of KERNEL_VERSION macro call.
+ * tests/bpf.c: Update expected output.
+
+2018-03-07 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: fix remap_file_pages.test breakage on hppa.
+ Apparently, hppa is the only architecture that has MAP_TYPE
+ defined to 0x3 instead of 0xf, and the tests hit that corner case.
+
+ * tests/remap_file_pages.c (main) [MAP_HUGETLB]: Print the value
+ of mapping type depending on the architecture (MAP_SHARED_VALIDATE
+ for hppa and unknown value for other architectures).
+
+ Fixes: v4.21~59 ("xlat: update MAP_* constants")
+
+2018-03-07 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Sort Ethernet protocols xlat.
+ * defs.h (ethernet_protocols_size): New declaration.
+ * netlink_packet_diag.c (decode_packet_diag_req): Use
+ printxval_searchnn to print Ethernet protocols.
+ * sockaddr.c (ethernet_protocols_size): New constant, item count
+ in ethernet_protocols array.
+ (print_sockaddr_data_ll): Use printxval_search instead of
+ printxval to print Ethernet protocols.
+ * xlat/ethernet_protocols.in: Sort it by value, add comment
+ about the fact.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-07 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Change sorted arrays to be terminated with XLAT_END like unsorted arrays
+ It is quite unwieldy to have this distinction between sorted and
+ unsorted arrays when we can just decrement the size in a wrapper.
+
+ * defs.h (printxval_search): Decrement array size.
+ * xlat/fsmagic.in (#unterminated): Remove.
+ * xlat/hw_breakpoint_type.in (#unterminated): Remove.
+ * xlat/perf_hw_cache_id.in (#unterminated): Remove.
+ * xlat/perf_hw_cache_op_id.in (#unterminated): Remove.
+ * xlat/perf_hw_cache_op_result_id.in (#unterminated): Remove.
+ * xlat/perf_hw_id.in (#unterminated): Remove.
+ * xlat/perf_sw_ids.in (#unterminated): Remove.
+ * xlat/perf_type_id.in (#unterminated): Remove.
+ * xlat/gen.sh (gen_header): Remove #unterminated support.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ strace.1.in: add a note about tracing of scripts without shebang.
+ * strace.1.in (.SH NOTES): Note that tracing of scripts without shebang
+ won't work.
+
+ Reported-by: Mike Parker
+ Closes: https://github.com/strace/strace/issues/46
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ strace.1.in: mention that -c suppresses regular output.
+ As the note that -C makes strace "also print regular output" can be
+ easily overlooked.
+
+ * strace.1.in (.SS Statistics) <.TP .B \-c>: Mention that -c supresses
+ regular output.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ errnoent.h: add ERECALLCONFLICT.
+ * linux/errnoent.h ([530]): Add ERECALLCONFLICT error introduced by
+ Linux commit v4.7-rc1~40^2~6.
+ * linux/alpha/errnoent.h ([530]): Likewise.
+ * linux/hppa/errnoent.h ([530]): Likewise.
+ * linux/mips/errnoent.h ([530]): Likewise.
+ * linux/sparc/errnoent.h ([530]): Likewise.
+
+ xlat: add BPF_F_ALLOW_MULTI constant.
+ * xlat/bpf_attach_flags.in (BPF_F_ALLOW_MULTI): New constant, introduced
+ by Linux commit v4.15-rc1~84^2~558^2~7.
+
+ xlat: add BPF_MAP_TYPE_CPUMAP constant.
+ * xlat/bpf_map_types.in (BPF_MAP_TYPE_CPUMAP): New constant, introduced
+ by Linux commit v4.15-rc1~84^2~427^2~4.
+
+ tests/test_printstrn.c: do not declare i again.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests/s390_sthyi.c: make utility functions inline.
+ When built with --enable-gcc-Werror, s390_sthyi test build fails
+ with the following error:
+
+ s390_sthyi.c:63:1: error: ‘print_u8’ defined but not used [-Werror=unused-function]
+ print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
+ ^~~~~~~~
+
+ Apparently, after some back and forth, all occurrences of printing u8
+ values landed under verbose printing, so this function is no longer
+ used in non-verbose mode. Let's avoid this in the future by inlining
+ all the utility functions in this test.
+
+ * tests/s390_sthyi.c (print_0x8, print_u8, print_u16, print_x32,
+ print_weight, ebcdic2ascii, is_empty, print_ebcdic): Add inline
+ qualifier.
+ [!VERBOSE] (is_empty): Remove "# if VERBOSE" guard.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ btrfs: print struct btrfs_ioctl_logical_ino_args.flags field.
+ The field has been introduced in Linux commit v4.15-rc1~135^2~17.
+
+ * btrfs.c: Implement decoding of
+ struct btrfs_ioctl_logical_ino_args.flags field.
+ * configure.ac: Check for struct btrfs_ioctl_logical_ino_args.flags
+ presence in linux/btrfs.h.
+ * tests/btrfs.c: Update expected output, add additional checks.
+ * xlat/btrfs_logical_ino_args_flags.in: New file.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ btrfs.c: print __u64 fields with pointer semantics using printaddr64.
+ * btrfs.c (btrfs_ioctl) <case BTRFS_IOC_INO_PATHS>: Print fspath field
+ with printaddr64.
+ (btrfs_ioctl) <case BTRFS_IOC_LOGICAL_INO>: Print inodes field with
+ printaddr64.
+ * tests/btrfs.c: Add checks for NULL in fspath and inodes fields.
+ * NEWS: Mention it.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ util.c: introduce printaddr64.
+ Sometimes, 64-bit value is expected to be interpreted as an address
+ (in BTRFS ioctl interface, for example).
+
+ * defs.h (printaddr64): New declaration.
+ * util.c (printaddr64): Rename from printaddr, change argument type
+ to uint64_t.
+ (printaddr): Turn into a thin wrapper around printaddr64.
+ (printnum_addr_int, printnum_addr_int64): Use printaddr64 instead of
+ printaddr. printnum_addr_int64 is not used outside the cases where
+ kernel_long is less or equal than 64 bit currently, so this change
+ should be safe.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ prctl: add decoding of PR_SVE_SET_VL and PR_SVE_GET_VL commands.
+ These commands were introduced in Linux commit v4.15-rc1~110^2~9.
+
+ * xlat/pr_sve_vl_flags.in: New file.
+ * xlat/prctl_options.in: Likewise.
+ * prctl.c: Include "xstring.h" and "xlat/pr_sve_vl_flags.h".
+ [!PR_SVE_VL_LEN_MASK] (PR_SVE_VL_LEN_MASK): New macro constant.
+ (sprint_sve_val): New function.
+ (SYS_FUNC(prctl)): Add decoding for PR_SVE_GET_VL and PR_SVE_SET_VL
+ commands.
+ * NEWS: Mention it.
+
+2018-03-06 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Implement PTRACE_SECCOMP_GET_METADATA ptrace request decoding.
+ * defs.h (seccomp_filter_flags): New declaration.
+ * process.c (SYS_FUNC(ptrace)): Implement PTRACE_SECCOMP_GET_METADATA
+ request decoding.
+ * ptrace.h [!PTRACE_SECCOMP_GET_METADATA] (PTRACE_SECCOMP_GET_METADATA):
+ New macro constant.
+ * xlat/ptrace_cmds.in (PTRACE_SECCOMP_GET_METADATA): New constant.
+ * tests/ptrace.c (main): Add some checks for PTRACE_SECCOMP_GET_METADATA
+ request decoding.
+ * NEWS: Mention it.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-06 Dmitry V. Levin <ldv@altlinux.org>
+
+ build: prepare for -Wimplicit-fallthrough=5.
+ * gcc_compat.h (ATTRIBUTE_FALLTHROUGH): New macro.
+ * block.c (block_ioctl): Use it instead of "fall through" comment.
+ * btrfs.c (btrfs_ioctl): Likewise.
+ * loop.c (loop_ioctl): Likewise.
+ * mtd.c (mtd_ioctl): Likewise.
+ * rtc.c (rtc_ioctl): Likewise.
+ * v4l2.c (v4l2_ioctl): Likewise.
+ * dm.c (dm_decode_values): Likewise.
+ * process.c (SYS_FUNC(ptrace)): Likewise.
+ * quota.c (decode_cmd_data): Likewise.
+ * ucopy.c (umovestr): Likewise.
+ * unwind.c (unwind_print_stacktrace, unwind_capture_stacktrace)):
+ Likewise.
+ * term.c (term_ioctl): Add ATTRIBUTE_FALLTHROUGH.
+ * ioctl.c (ioctl_decode) [ALPHA || POWERPC]: Likewise.
+ * m4/st_warn_cflags.m4 (gl_WARN_ADD): Add -Wimplicit-fallthrough=5.
+ * tests/ioctl_v4l2.c (init_v4l2_format): Reorganize the switch statement
+ without implicit fallthrough.
+
+2018-03-05 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: add eBPF-based device controller constants.
+ Add new BPF_PROG_TYPE_CGROUP_DEVICE eBPF program type and new
+ BPF_CGROUP_DEVICE eBPF program attach type, added in Linux commit
+ v4.15-rc1~84^2~120^2~2.
+
+ * xlat/bpf_attach_type.in (BPF_CGROUP_DEVICE): New constant.
+ * xlat/bpf_prog_types.in (BPF_PROG_TYPE_CGROUP_DEVICE): Likewise.
+ * NEWS: Mention it.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: provide fallback definitions for input event constants.
+ Values added using the following pair of commands:
+
+ $ cat xlat/evdev_keycode.in |
+ while read r; do [ -n "$r" ] &&
+ sed -rn 's/^#define[[:space:]]+('$r'[[:space:]]+[^[:space:]]+).*/\1/p' \
+ ~/dev/linux/include/uapi/linux/input-event-codes.h || echo;
+ done > xlat/evdev_keycode.in.new
+ $ sort -s -n -k1,1 \
+ <(awk '{if (NF>1) {last = strtonum($2)}; printf("%d %s\n", last, $0)}' \
+ xlat/evdev_keycode.in.new) \
+ | sed 's/^[0-9]* //' > xlat/evdev_keycode.in
+
+ It also verifies that the values are sorted and bsearch-ready.
+
+ * xlat/evdev_keycode.in: Add constant values.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: update the list of input event constants.
+ Remove some duplicating definitions and add the new ones.
+
+ * xlat/evdev_keycode.in (KEY_HANGUEL): Remove, an alternative name for
+ KEY_HANGEUL.
+ (KEY_DIRECTION): Remove, an alternative name for KEY_ROTATE_DISPLAY.
+ (KEY_BRIGHTNESS_ZERO): Remove, an alternative name for
+ KEY_BRIGHTNESS_AUTO.
+ (KEY_WIMAX): Remove, an alternative name for KEY_WWAN.
+ (BTN_A): Remove, an alternative name for BTN_SOUTH.
+ (BTN_B): Remove, an alternative name for BTN_EAST.
+ (BTN_X): Remove, an alternative name for BTN_NORTH.
+ (BTN_Y): Remove, an alternative name for BTN_WEST.
+ (BTN_STYLUS3): New constant, added in Linux commit v4.15-rc1~114^2^2~1.
+ (KEY_BRIGHTNESS_TOGGLE): Remove, an alternative name for
+ KEY_DISPLAYTOGGLE.
+ (KEY_ROTATE_LOCK_TOGGLE): New constant, added in Linux commit
+ v4.16-rc1~54^2~67.
+ (KEY_DATA): New constant, added in Linux commit v4.9-rc8~12^2.
+ (KEY_ONSCREEN_KEYBOARD): New constant, added in Linux commit
+ v4.12-rc1~126^2~2^12~5.
+ * NEWS: Mention it.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: provide fallback definitions for SCTP socket option constants.
+ Values for SCTP_GET_PEER_ADDRS_NUM_OLD, SCTP_GET_PEER_ADDRS_OLD,
+ SCTP_GET_LOCAL_ADDRS_NUM_OLD, SCTP_GET_LOCAL_ADDRS_OLD are reconstructed
+ from Linux commit v2.6.33-rc1~388^2~167^2~7.
+
+ xlat/socksctpoptions.in: Add constant values.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: update the list of SCTP socket option constants.
+ * xlat/socksctpoptions.in (SCTP_DELAYED_ACK): Rename to...
+ (SCTP_DELAYED_SACK): ...this, per Linux commit v2.6.38-rc2~33^2.
+ (SCTP_SOCKOPT_PEELOFF_FLAGS): New constant, introduced in Linux commit
+ v4.13-rc1~157^2~39.
+ (SCTP_STREAM_SCHEDULER): New constant, introduced in Linux commit
+ v4.15-rc1~84^2~567^2~3.
+ (SCTP_STREAM_SCHEDULER_VALUE): New constant, introduced in Linux commit
+ v4.15-rc1~84^2~567^2~2.
+ (SCTP_INTERLEAVING_SUPPORTED): New constant, introduced in Linux commit
+ v4.16-rc1~123^2~384^2~11.
+ * NEWS: Mention it.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: provide fallback definitions for Ethernet protocol constants.
+ As those are not architecture-specific.
+
+ * xlat/ethernet_protocols.in: Add values to constants.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: update the list of Ethernet protocol constants.
+ * xlat/ethernet_protocols.in (ETH_P_ERSPAN2): New constant, introduced
+ in Linux commit v4.16-rc1~123^2~355^2~2.
+ (ETH_P_IBOE): New constant, introduced in commit v4.11-rc1~73^2~74.
+ * NEWS: Mention it.
+
+ v4l2: print known pixel/SDR formats.
+ * xlat/v4l2_pix_fmts.in: New file.
+ * xlat/v4l2_sdr_fmts.in: Likewise.
+ * v4l2.c [!v4l2_fourcc_be] (v4l2_fourcc_be): New macro.
+ (print_pixelformat): Add xlat parameter, print constant name
+ as a comment if it has been found in xlat.
+ (print_v4l2_fmtdesc, print_v4l2_frmivalenum): Pass v4l2_pix_fmts
+ to print_pixelformat.
+ (print_v4l2_format_fmt) <case V4L2_BUF_TYPE_VIDEO_CAPTURE, case
+ V4L2_BUF_TYPE_VIDEO_OUTPUT, case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,
+ case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, case V4L2_BUF_TYPE_VBI_CAPTURE,
+ case V4L2_BUF_TYPE_VBI_OUTPUT>: Pass v4l2_pix_fmts to print_pixelformat.
+ (print_v4l2_format_fmt) <case V4L2_BUF_TYPE_SDR_OUTPUT, case
+ V4L2_BUF_TYPE_SDR_CAPTURE>: Pass v4l2_sdr_fmts to print_pixelformat.
+ * tests/v4l2.c: Test it, update expected output.
+ * NEWS: Mention it.
+
+2018-03-02 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ v4l2: v4l2_fourcc is endianness-agnostic.
+ v4l2_fourcc(a, b, c, d) is defined as (a | (b << 8) | (c << 16) | (d << 24)
+ regardless of endianness (no mnemonic on big-endian architectures),
+ so we don't need special handling for WORDS_BIGENDIAN both in decoder
+ and in the test.
+
+ * v4l2.c (print_pixelformat): Change initialisation to a simple
+ assignment of character array.
+ * tests/ioctl_v4l2.c [WORDS_BIGENDIAN]: Remove.
+ * NEWS: Mention this fix.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+ Fixes: v4.10~371 "Implement Video4Linux video-input ioctls decoder"
+
+2018-03-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: do not include <stdbool.h> in files that include "tests.h"
+ Starting with commit v4.21-37-g4f63bc70ca95012d72e288fc3c1eeb3ba26068a4,
+ <stdbool.h> is included by tests.h, so all tests that already include
+ "tests.h" do not need to include <stdbool.h>.
+
+ * tests/btrfs.c: Do not include <stdbool.h>.
+ * tests/file_handle.c: Likewise.
+ * tests/futex.c: Likewise.
+ * tests/ioctl_dm.c: Likewise.
+ * tests/ioctl_loop.c: Likewise.
+ * tests/ioctl_sock_gifconf.c: Likewise.
+ * tests/keyctl.c: Likewise.
+ * tests/mq_sendrecv.c: Likewise.
+ * tests/perf_event_open.c: Likewise.
+ * tests/s390_guarded_storage.c: Likewise.
+ * tests/s390_pci_mmio_read_write.c: Likewise.
+ * tests/s390_sthyi.c: Likewise.
+ * tests/xet_thread_area_x86.c: Likewise.
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: check printing of block/char device numbers in -yy mode.
+ * tests/dev-yy.c: New file.
+ * tests/pure_executables.list: Add dev-yy.
+ * tests/.gitignore: Likewise.
+ * tests/gen_tests.in (dev-yy): New test.
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ printfd: print character/block device number in -yy mode.
+ * util.c: Include <sys/stat.h>, <sys/sysmacros.h>,
+ and "largefile_wrappers.h".
+ (printsocket, printdev): New functions.
+ (printfd): Move socket matching/printing logic to printsocket. Check
+ also for printdev. Escape opening angle bracket in addition to closing angle
+ bracket as it can show up as a separator in printdev.
+ * tests/fsync-y.c: Update expected output.
+ * strace.1.in: Mention this.
+ * NEWS: Likewise.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ util.c: escape closing angle bracket in printfd.
+ * util.c (printfd): Use print_quoted_string_ex instead of
+ print_quoted_string, specify ">" as escape_chars argument.
+ * tests/fsync-y.c (main): Update expected output.
+ * NEWS: Mention it.
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ util.c: add support for additional escape characters in string_quote.
+ Quotes are not always used to denote string limits; printfd uses angle
+ brackets for that, for example. As result, mechanism for supplying
+ set of additional characters in order to avoid ambiguities regarding
+ the end of the quoted string is needed.
+
+ * defs.h (string_quote): Add escape_chars parameter.
+ (print_quoted_string_ex): New function prototype.
+ * util.c (string_quote): Add escape_chars parameter.
+ (print_quoted_string_ex): Rename from print_quoted_string, add
+ escape_chars parameter, pass it to string_quote call.
+ (print_quoted_string): Turn into a thin wrapper around
+ print_quoted_string_ex.
+ (printstr_ex): Pass NULL as escape_chars argument of string_quote call.
+ * socketutils.c (unix_parse_response): Pass NULL as escape_chars
+ argument of string_quote call.
+ * tests/print_quoted_string.c (print_octal): New function.
+ print_quoted_memory_ex): Use it. Add escape_chars parameter.
+ (print_quoted_memory): Pass NULL as escape_chars argument
+ of print_quoted_memory_ex call.
+ * tests/tests.h (print_quoted_string_ex, print_quoted_memory_ex): Add
+ escape_chars parameter.
+ * tests/fsync-y.c: Pass NULL as escape_chars argument of
+ print_quoted_string_ex call.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: check file name printing in strace -y mode.
+ * tests/fsync-y.c: New file.
+ * tests/.gitignore: Add fsync-y.
+ * tests/Makefile.am (check_PROGRAMS): Likewise.
+ * tests/gen_tests.in (fsync-y): New test.
+
+ Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: add print_quoted_string_ex and print_quoted_memory_ex functions.
+ * tests/tests.h (print_quoted_string_ex, print_quoted_memory_ex): New
+ declarations.
+ * tests/print_quoted_string.c (print_quoted_string_ex): New function,
+ a thin wrapper around print_quoted_memory_ex wrapper.
+ (print_quoted_memory_ex): Rename from print_quoted_memory, add quote
+ argument.
+ (print_quoted_memory): Turn into a thin wrapper around
+ print_quoted_memory_ex.
+
+ tests: check escaping in string printing.
+ * tests/test_printstrn.c (test_print_memory): New function.
+ (test_printstrn): Use it.
+
+ Do not go full octal if the next char is '8' or '9'
+ * util.c (string_quote): Change the upper limit for the next character
+ in unabbreviated octal printing from '9' to '7'.
+ * tests/print_quoted_string.c (print_quoted_memory): Likewise.
+
+ tests: fix abbreviated octal escape check in print_quoted_memory.
+ * tests/print_quoted_string.c (print_quoted_memory): Check the next
+ character after octal-escaped one instead of the first one in the
+ string.
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ util.c: reduce indentation in non-hexadecimal case in string_quote.
+ As it is already too deep there.
+
+ * util.c (string_quote): Add string_ended label, jump there
+ after the loop in "if (usehex)" case.
+
+2018-03-01 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ util.c: fix switch statement indentation in string_quote.
+ While we are here, let's also remove unnecessary break statement
+ in the default case.
+
+2018-02-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ Replace fopen_for_input and fopen_for_output with fopen_stream.
+ * largefile_wrappers.h (fopen_for_input, fopen_for_output): Replace
+ with fopen_stream.
+ * mmap_cache.c (fopen_for_input) Likewise.
+ * strace.c (fopen_for_output): Likewise.
+
+2018-02-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Update the list of INET_DIAG_BC_* operators.
+ * linux/inet_diag.h (INET_DIAG_BC_S_EQ, INET_DIAG_BC_D_EQ): New
+ enumeration items introduced by linux kernel commit v4.16-rc1~123^2~259.
+ * xlat/inet_diag_bytecodes.in (INET_DIAG_BC_S_EQ, INET_DIAG_BC_D_EQ): New
+ constants.
+ * NEWS: Mention it.
+
+ xlat: update the list of SCHED_FLAG_* constants.
+ * xlat/sched_flags.in (SCHED_FLAG_RECLAIM, SCHED_FLAG_DL_OVERRUN): New
+ constants introduced by linux kernel commits v4.13-rc1~205^2~27 and
+ v4.16-rc1~164^2~8, respectively.
+ (SCHED_FLAG_RESET_ON_FORK): Add constant value.
+ * tests/sched_xetattr.c: Update expected output.
+ * NEWS: Mention it.
+
+ xlat: provide fallback definitions for arch-independent poll event flags
+ * xlat/pollflags.in (POLLIN, POLLPRI, POLLOUT, POLLRDNORM, POLLRDBAND,
+ POLLERR, POLLHUP, POLLNVAL, POLL_BUSY_LOOP): Add constant values.
+
+2018-02-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: update the list of poll event flags.
+ POLL_BUSY_LOOP was introduced by linux kernel commit v3.11-rc1~64^2~129
+ as POLL_LL and then renamed in v3.11-rc1~64^2~9. POLLRDHUP was
+ introduced by linux kernel commit v2.6.17-rc1~796. POLLMSG and
+ POLLREMOVE predate git repository. POLLFREE was introduced by linux
+ kernel commit v3.3-rc5~8 for internal use only.
+
+ * xlat/pollflags.in (POLLMSG, POLLREMOVE, POLLRDHUP, POLL_BUSY_LOOP):
+ New constants.
+ * NEWS: Mention it.
+
+2018-02-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ xlat: add arch-specific si_codes constants.
+ Based on Linux commits v4.16-rc1~159^2~17, v4.16-rc1~159^2~16,
+ v4.16-rc1~159^2~15, and v4.16-rc1~159^2~14.
+
+ * xlat/sigbus_codes.in (BUS_OPFETCH): New constant.
+ * xlat/sigfpe_codes.in (FPE_MDAOVF, __FPE_DECOVF, __FPE_DECDIV,
+ __FPE_DECERR, __FPE_INVASC, __FPE_INVDEC): New constants.
+ * xlat/sigill_codes.in (ILL_ILLPARAOP, ILL_ILLEXCPT, ILL_CPLB_VI,
+ ILL_CPLB_MISS, ILL_CPLB_MULHIT, ILL_DBLFLT, ILL_HARDWALL, ILL_BADIADDR,
+ __ILL_BREAK, __ILL_BNDMOD): Likewise.
+ * xlat/sigsegv_codes.in (SEGV_STACKFLOW, __SEGV_PSTKOVF): Likewise.
+ * xlat/sigtrap_codes.in (TRAP_STEP, TRAP_TRACEFLOW, TRAP_WATCHPT,
+ TRAP_ILLTRAP): Likewise.
+ * NEWS: Mention it.
+
+2018-02-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ rtnl_tc: support new TCA_* attributes.
+ * xlat/rtnl_tc_attrs.in (TCA_HW_OFFLOAD, TCA_INGRESS_BLOCK,
+ TCA_EGRESS_BLOCK): New constants introduced by linux kernel commits
+ v4.15-rc4~13^2~5^2~2 and v4.16-rc1~123^2~139^2~5.
+ * rtnl_tc.c (tcmsg_nla_decoders) <TCA_HW_OFFLOAD, TCA_INGRESS_BLOCK,
+ TCA_EGRESS_BLOCK>: New items.
+
+ rtnl_link: add decoding of new IFLA_* attributes.
+ * xlat/rtnl_link_attrs.in (IFLA_NEW_NETNSID, IFLA_IF_NETNSID,
+ IFLA_CARRIER_UP_COUNT, IFLA_CARRIER_DOWN_COUNT, IFLA_NEW_IFINDEX): New
+ constants introduced by linux kernel commits v4.15-rc1~84^2~557,
+ v4.15-rc1~84^2~133^2, v4.16-rc1~123^2~91, and v4.16-rc1~123^2~24^2.
+ * rtnl_link.c (ifinfomsg_nla_decoders) <IFLA_NEW_NETNSID,
+ IFLA_IF_NETNSID, IFLA_CARRIER_UP_COUNT, IFLA_CARRIER_DOWN_COUNT,
+ IFLA_NEW_IFINDEX>: New items.
+
+ rtnl_link: implement IFLA_EVENT_* decoding.
+ * rtnl_link.c (decode_ifla_event): New function.
+ (ifinfomsg_nla_decoders) <[IFLA_EVENT]>: Use it.
+ * xlat/rtnl_ifla_events.in: New file.
+ * NEWS: Mention it.
+
+ xlat: update the list of RWF_* constants.
+ * xlat/rwf_flags.in (RWF_APPEND): New constant introduced by linux
+ kernel commit v4.16-rc1~145^2~7.
+ * NEWS: Mention it.
+
+ tests: check decoding of ip6:port pairs associated with socket descriptors
+ * tests/net-yy-inet.c: Generalise test.
+ * tests/net-yy-inet6.c: New file.
+ * tests/pure_executables.list: Add net-yy-inet6.
+ * tests/.gitignore: Likewise.
+ * tests/gen_tests.in (net-yy-inet6): New entry.
+
+2018-02-27 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Print IPv6 addresses in brackets.
+ Follow a common practice for printing address:port pair to distinguish
+ address parts delimiter from address/port delimiter.
+
+ * socketutils.c (inet_parse_response) <ob, cb>: New variables,
+ initialise them to open/closing brackets or empty strings based
+ on address family.
+ (inet_parse_response): Print ob and cb around src_buf and dst_buf.
+ * NEWS: Mention this improvement.
+
+2018-02-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ strace.spec.in: add gcc to build requirements.
+ There are rumors in circulation that some rpm-based distributions
+ are going to exclude gcc from their default build environments.
+ Workaround this policy silliness by adding gcc to build requirements.
+
+ * strace.spec.in (BuildRequires): Add gcc.
+
+2018-02-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ Move definitions of fopen_for_input to largefile_wrappers.h.
+ * largefile_wrappers.h (fopen_for_input): Define along with
+ fopen_for_output.
+ * mmap_cache.c: Include "largefile_wrappers.h".
+ (fopen_for_input): Remove.
+
+2018-02-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce mmap_cache.h.
+ Let's avoid bloating defs.h and introduce a separate header for
+ mmap_cache.
+
+ * defs.h (struct mmap_cache_t, enum mmap_cache_protection,
+ enum mmap_cache_rebuild_result, mmap_cache_enable, mmap_cache_is_enabled,
+ mmap_cache_invalidate, mmap_cache_delete, mmap_cache_rebuild_if_invalid,
+ mmap_cache_search): Move ...
+ * mmap_cache.h: ... to this new file.
+ * Makefile.am (strace_SOURCES): Add mmap_cache.h.
+ * mmap_cache.c: Include mmap_cache.h.
+ * strace.c: Likewise.
+ * syscall.c: Likewise.
+ * unwind.c: Likewise.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ mmap_cache: record device major and minor numbers.
+ * defs.h (struct mmap_cache_t): Add major and minor fields.
+ * mmap_cache.c (build_mmap_cache): Record device major and minor numbers.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ mmap_cache: add function to enable mmap_cache.
+ mmap_cache was enabled indirectly via unwind feature. As now mmap_cache
+ can be used by other part of strace, a way to enable mmap_cache directly
+ is needed.
+
+ * defs.h (mmap_cache_enable, mmap_cache_is_enabled): New function
+ prototypes.
+ * mmap_cache.c (use_mmap_cache): New file local variable.
+ (mmap_cache_enable, mmap_cache_is_enabled): New functions.
+ * syscall.c (syscall_exiting_decode): Use mmap_cache_is_enabled()
+ instead of stack_trace_enabled.
+ * unwind.c (unwind_init): Invoke mmap_cache_enable.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ mmap_cache, unwind: lift up mmap_cache_delete invocation from unwind.c.
+ mmap_cache_delete function used to be called by destructor of unwind
+ related code. Now that other parts can use mmap cache,
+ mmap_cache_delete is called separately from unwind_tcb_fin.
+
+ * unwind.c (unwind_tcb_fin): Move mmap_cache_delete invocation ...
+ * strace.c (droptcb): ... here.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ mmap_cache: record protection bits.
+ To make mmap_cache reusable, records protection bits of mmap entries.
+
+ * defs.h (mmap_cache_protection): New enum.
+ * mmap_cache.c (build_mmpa_cache): Don't ignore entries that are not
+ executable, just record the protection bits here.
+ * unwind.c (print_stack_frame): Ignore entries that are not executable.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ mmap_cache: move code for searching a mmap cache from unwind.
+ print_stack_frame function in unwind.c searches a mmap entry in mmap
+ cache. The found entry is then used for unwinding. However, a function
+ searching for a mmap entry may be useful for other purposes than
+ unwinding.
+
+ This change re-factors the function; code for searching an entry is
+ now defined as a stand-alone function named mmap_cache_search.
+
+ * defs.h (mmap_cache_search): New function prototype.
+ print_stack_frame.
+ * mmap_cached.c (mmap_cache_search): New function derived from
+ print_stack_frame.
+ * unwind.c (print_stack_frame): Use it.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ mmap_cache: new subsystem derived from unwind.c.
+ For making mmap cache code reusable from other areas in strace than
+ unwind, mmap cache related code and unwind related code should be
+ separated.
+
+ This change moves the most of mmap cache code from unwind.c
+ to mmap_cache.c, a new file.
+
+ * unwind.c: Move mmap_cache implementation ...
+ * mmap_cache.c: ... to this new file.
+ * Makefile.am (strace_SOURCES): add mmap_cache.c.
+ * defs.h (struct tcb): Move mmap_cache, mmap_cache_size, and
+ mmap_cache_generation fields out of [USE_LIBUNWIND] condition.
+ (mmap_cache_invalidate, mmap_cache_delete,
+ mmap_cache_rebuild_if_invalid): New function prototypes.
+ (struct mmap_cache_t, enum mmap_cache_rebuild_result): Move from
+ unwind.c.
+ * syscall.c (syscall_exiting_decode): Replace unwind_cache_invalidate
+ with mmap_cache_invalidate.
+
+2018-02-26 Masatake YAMATO <yamato@redhat.com>
+
+ unwind: lift up unw_flush_cache from mmap cache management code.
+ For making mmap cache code reusable from other areas in strace
+ than unwind, mmap cache related code and unwind related code
+ should be separated.
+
+ This change is one of the steps for the separation. It moves
+ unw_flush_cache function call from the core of mmap cache code
+ to upper level code.
+
+ * unwind.c (mmap_cache_rebuild_result): New enum.
+ (rebuild_cache_if_invalid): Return MMAP_CACHE_REBUILD_* instead of
+ a bool value.
+ (build_mmap_cache): Don't call unw_flush_cache here.
+ (unwind_print_stacktrace, unwind_capture_stacktrace): Call
+ unw_flush_cache here instead.
+
+2018-02-25 Dmitry V. Levin <ldv@altlinux.org>
+
+ debian: sync with 4.21-1 package.
+ Versioned dependency on debhelper is not updated for backwards
+ compatibility.
+
+ * debian/changelog.in: Fix ancient changelog entries.
+ * debian/control (Build-Depends): Add dependency on libbluetooth-dev.
+ (Standards-Version): Update to 4.1.3.
+ (Vcs-Git, Vcs-Browser): Move from alioth to salsa.d.o.
+ (strace, strace-udeb) <Architecture>: Change to linux-any.
+ (strace64, strace-udeb) <Priority>: Change to optional.
+ * debian/rules: Use /usr/share/dpkg/architecture.mk instead of manually
+ setting build variables.
+ (configure): New target.
+ (build/Makefile, build-udeb/Makefile, build64/Makefile): Depend on it.
+ (binary-arch): Use build64/strace.1 for strace64 subpackage.
+ * debian/strace.manpages: Add build/ prefix.
+ * debian/strace64.manpages: Add build64/ prefix.
+
+2018-02-24 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ m4/mpers.m4: fix mpers name in comments added to config.h.
+ * m4/mpers.m4 (st_MPERS_STRUCT_STAT): Use mpers_name instead of
+ MPERS_NAME in comments generated by AC_DEFINE.
+
+ Fixes: v4.14~169 ("mpers.m4: check for struct stat64, struct stat, and their members")
+
+2018-02-24 Dmitry V. Levin <ldv@altlinux.org>
+
+ mpers.awk: use stdint.h instead of inttypes.h.
+ As <inttypes.h> is included in files generated by mpers.awk to obtain
+ definitions of uintNN_t types provided by <stdint.h>, replace the former
+ header with the latter.
+
+ * mpers.awk: Use <stdint.h> instead of <inttypes.h>.
+ * mpers_test.sh: Update expected output.
+
+2018-02-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ Wipe out references to defunct sourceforge.
+ The old location of strace-devel mailing list is defunct, it used to
+ lose email messages and sometimes did not deliver any mails for days.
+
+ The mailing list has been moved to strace-devel@lists.strace.io.
+
+ * CREDITS.in: Update the mailing list address.
+ (Zhang Le): Update email address.
+ * README: Update the mailing list address.
+ * README.md: Likewise.
+ * configure.ac (AC_INIT): Likewise.
+ * strace.1.in (.SH REPORTING BUGS): Likewise.
+ * strace-log-merge.1.in (.SH REPORTING BUGS): Likewise.
+ * sched.c (SYS_FUNC(sched_getattr)): Update the mailing list reference.
+ * tests/scno_tampering.sh: Likewise.
+ * qemu_multiarch_testing/README: Update git repository address.
+ * NEWS: Mention the change of the mailing list address.
+
+ Closes: https://github.com/strace/strace/issues/38
+
+2018-02-21 Dmitry V. Levin <ldv@altlinux.org>
+
+ m68k: fix build.
+ When <sys/reg.h> is included after <linux/ptrace.h>, the build fails
+ on m68k with the following diagnostics:
+
+ In file included from /usr/include/linux/ptrace.h:101:0,
+ from ptrace.h:51,
+ from sigreturn.c:2:
+ /usr/include/m68k-linux-gnu/sys/reg.h:26:3: error: expected identifier
+ before numeric constant
+ PT_D1 = 0,
+ ^
+
+ Apparently, the only architecture where strace needs definitions
+ provided by <sys/reg.h> is x86_64, other three (m68k, tile, and x86)
+ are fine with definitions already provided by <linux/ptrace.h>.
+
+ Fix the issue by getting rid of <sys/reg.h> and defining necessary
+ macros in linux/x86_64/arch_regs.h file.
+
+ * configure.ac (AC_CHECK_HEADERS): Remove sys/reg.h.
+ * regs.h: Do not include <sys/reg.h>.
+ * linux/x86_64/arch_regs.h (R15, R14, R13, R12, RBP, RBX, R11, R10,
+ R9, R8, RAX, RCX, RDX, RSI, RDI, ORIG_RAX, RIP, CS, EFLAGS, RSP, SS,
+ FS_BASE, GS_BASE, DS, ES, FS, GS): New macros.
+ * NEWS: Mention this fix.
+
+ Fixes: v4.21~21 ("Include <sys/ptrace.h> early")
+
+2018-02-15 Dmitry V. Levin <ldv@altlinux.org>
+
+ Demote sourceforge.net.
+ https://sourceforge.net/p/strace/code/ is defunct: it doesn't accept
+ new commits for too long.
+ Likewise, https://sourceforge.net/projects/strace/files/ doesn't accept
+ new files for too long.
+
+ * README.md: Remove sourceforge.net URL.
+ * debian/copyright: Replace the sourceforge.net based strace project URL
+ with a github based one.
+ * strace.spec.in (Source): Likewise.
+
+2018-02-15 Dmitry V. Levin <ldv@altlinux.org>
+
+ Update copyright headers.
+ * COPYING: Update copyright year number range.
+ * debian/copyright: Sync with COPYING.
+
+2018-02-14 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.21-1.
+ * strace.spec.in: Likewise.
+
2018-02-13 Dmitry V. Levin <ldv@altlinux.org>
Prepare for 4.21 release.
* NEWS: Update for 4.21 release.
+2018-02-13 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests/s390_sthyi.c: skip the test if s390_sthyi returns an error.
+ tests/s390_sthyi.c (main): replace error_msg_and_fail with
+ error_msg_and_skip if rc is non-zero.
+
+2018-02-13 Dmitry V. Levin <ldv@altlinux.org>
+
Update copyright headers.
Headers updated automatically using maint/update_copyright_years.sh
script.
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..f6dbb597
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,8222 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# 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.
+#
+# 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-2018 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 = aarch64-unknown-linux-android
+bin_PROGRAMS = strace$(EXEEXT)
+DIST_COMMON = $(srcdir)/xlat/Makemodule.am $(srcdir)/scno.am \
+ $(srcdir)/mpers.am $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.h.in $(srcdir)/strace.1.in \
+ $(srcdir)/strace-log-merge.1.in $(srcdir)/strace.spec.in \
+ $(top_srcdir)/debian/changelog.in depcomp AUTHORS COPYING \
+ INSTALL NEWS README compile config.guess config.sub install-sh \
+ missing
+#am__append_1 = unwind.c unwind.h unwind-libunwind.c
+#am__append_2 = $(libunwind_CPPFLAGS)
+#am__append_3 = $(libunwind_LDFLAGS)
+#am__append_4 = $(libunwind_LIBS)
+##am__append_5 = $(libiberty_CPPFLAGS)
+##am__append_6 = $(libiberty_LDFLAGS)
+##am__append_7 = $(libiberty_LIBS)
+am__append_8 = libmpers-m32.a
+am__append_9 = libmpers-m32.a
+am__append_10 = $(mpers_m32_targets)
+am__append_11 = $(mpers_m32_targets)
+#am__append_12 = libmpers-mx32.a
+#am__append_13 = libmpers-mx32.a
+#am__append_14 = $(mpers_mx32_targets)
+#am__append_15 = $(mpers_mx32_targets)
+subdir = .
+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/bpf_attr.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)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = strace.1 strace-log-merge.1 strace.spec \
+ debian/changelog
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+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 =
+libmpers_m32_a_AR = $(AR) $(ARFLAGS)
+libmpers_m32_a_LIBADD =
+am__libmpers_m32_a_SOURCES_DIST = block.c btrfs.c dirent.c \
+ evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c \
+ fetch_struct_keyctl_kdf_params.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_group_req.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
+am__objects_1 = libmpers_m32_a-block.$(OBJEXT) \
+ libmpers_m32_a-btrfs.$(OBJEXT) libmpers_m32_a-dirent.$(OBJEXT) \
+ libmpers_m32_a-evdev_mpers.$(OBJEXT) \
+ libmpers_m32_a-fetch_bpf_fprog.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_flock.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_keyctl_kdf_params.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_mmsghdr.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_msghdr.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_stat.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_stat64.$(OBJEXT) \
+ libmpers_m32_a-fetch_struct_statfs.$(OBJEXT) \
+ libmpers_m32_a-hdio.$(OBJEXT) \
+ libmpers_m32_a-ipc_msgctl.$(OBJEXT) \
+ libmpers_m32_a-ipc_shmctl.$(OBJEXT) \
+ libmpers_m32_a-loop.$(OBJEXT) libmpers_m32_a-mtd.$(OBJEXT) \
+ libmpers_m32_a-print_group_req.$(OBJEXT) \
+ libmpers_m32_a-print_mq_attr.$(OBJEXT) \
+ libmpers_m32_a-print_msgbuf.$(OBJEXT) \
+ libmpers_m32_a-print_sg_req_info.$(OBJEXT) \
+ libmpers_m32_a-print_sigevent.$(OBJEXT) \
+ libmpers_m32_a-print_time.$(OBJEXT) \
+ libmpers_m32_a-print_timespec.$(OBJEXT) \
+ libmpers_m32_a-print_timeval.$(OBJEXT) \
+ libmpers_m32_a-print_timex.$(OBJEXT) \
+ libmpers_m32_a-printrusage.$(OBJEXT) \
+ libmpers_m32_a-printsiginfo.$(OBJEXT) \
+ libmpers_m32_a-rt_sigreturn.$(OBJEXT) \
+ libmpers_m32_a-rtc.$(OBJEXT) libmpers_m32_a-sg_io_v3.$(OBJEXT) \
+ libmpers_m32_a-sigaltstack.$(OBJEXT) \
+ libmpers_m32_a-sock.$(OBJEXT) libmpers_m32_a-sysinfo.$(OBJEXT) \
+ libmpers_m32_a-times.$(OBJEXT) libmpers_m32_a-ustat.$(OBJEXT) \
+ libmpers_m32_a-utime.$(OBJEXT) libmpers_m32_a-v4l2.$(OBJEXT)
+am_libmpers_m32_a_OBJECTS = $(am__objects_1)
+libmpers_m32_a_OBJECTS = $(am_libmpers_m32_a_OBJECTS)
+libmpers_mx32_a_AR = $(AR) $(ARFLAGS)
+libmpers_mx32_a_LIBADD =
+am__libmpers_mx32_a_SOURCES_DIST = block.c btrfs.c dirent.c \
+ evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c \
+ fetch_struct_keyctl_kdf_params.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_group_req.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
+am__objects_2 = libmpers_mx32_a-block.$(OBJEXT) \
+ libmpers_mx32_a-btrfs.$(OBJEXT) \
+ libmpers_mx32_a-dirent.$(OBJEXT) \
+ libmpers_mx32_a-evdev_mpers.$(OBJEXT) \
+ libmpers_mx32_a-fetch_bpf_fprog.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_flock.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_keyctl_kdf_params.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_mmsghdr.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_msghdr.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_stat.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_stat64.$(OBJEXT) \
+ libmpers_mx32_a-fetch_struct_statfs.$(OBJEXT) \
+ libmpers_mx32_a-hdio.$(OBJEXT) \
+ libmpers_mx32_a-ipc_msgctl.$(OBJEXT) \
+ libmpers_mx32_a-ipc_shmctl.$(OBJEXT) \
+ libmpers_mx32_a-loop.$(OBJEXT) libmpers_mx32_a-mtd.$(OBJEXT) \
+ libmpers_mx32_a-print_group_req.$(OBJEXT) \
+ libmpers_mx32_a-print_mq_attr.$(OBJEXT) \
+ libmpers_mx32_a-print_msgbuf.$(OBJEXT) \
+ libmpers_mx32_a-print_sg_req_info.$(OBJEXT) \
+ libmpers_mx32_a-print_sigevent.$(OBJEXT) \
+ libmpers_mx32_a-print_time.$(OBJEXT) \
+ libmpers_mx32_a-print_timespec.$(OBJEXT) \
+ libmpers_mx32_a-print_timeval.$(OBJEXT) \
+ libmpers_mx32_a-print_timex.$(OBJEXT) \
+ libmpers_mx32_a-printrusage.$(OBJEXT) \
+ libmpers_mx32_a-printsiginfo.$(OBJEXT) \
+ libmpers_mx32_a-rt_sigreturn.$(OBJEXT) \
+ libmpers_mx32_a-rtc.$(OBJEXT) \
+ libmpers_mx32_a-sg_io_v3.$(OBJEXT) \
+ libmpers_mx32_a-sigaltstack.$(OBJEXT) \
+ libmpers_mx32_a-sock.$(OBJEXT) \
+ libmpers_mx32_a-sysinfo.$(OBJEXT) \
+ libmpers_mx32_a-times.$(OBJEXT) \
+ libmpers_mx32_a-ustat.$(OBJEXT) \
+ libmpers_mx32_a-utime.$(OBJEXT) libmpers_mx32_a-v4l2.$(OBJEXT)
+#am_libmpers_mx32_a_OBJECTS = $(am__objects_2)
+libmpers_mx32_a_OBJECTS = $(am_libmpers_mx32_a_OBJECTS)
+libstrace_a_AR = $(AR) $(ARFLAGS)
+libstrace_a_LIBADD =
+am_libstrace_a_OBJECTS = \
+ libstrace_a-fetch_indirect_syscall_args.$(OBJEXT) \
+ libstrace_a-fstatfs.$(OBJEXT) libstrace_a-fstatfs64.$(OBJEXT) \
+ libstrace_a-getpagesize.$(OBJEXT) libstrace_a-ipc.$(OBJEXT) \
+ libstrace_a-sigreturn.$(OBJEXT) \
+ libstrace_a-socketcall.$(OBJEXT) libstrace_a-statfs.$(OBJEXT) \
+ libstrace_a-statfs64.$(OBJEXT) \
+ libstrace_a-sync_file_range.$(OBJEXT) \
+ libstrace_a-sync_file_range2.$(OBJEXT) \
+ libstrace_a-upeek.$(OBJEXT) libstrace_a-upoke.$(OBJEXT)
+libstrace_a_OBJECTS = $(am_libstrace_a_OBJECTS)
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
+ "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c \
+ arch_defs.h basic_filters.c bind.c bjm.c block.c bpf.c \
+ bpf_attr.h bpf_filter.c bpf_filter.h bpf_fprog.h \
+ bpf_seccomp_filter.c bpf_sock_filter.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 delay.c delay.h desc.c \
+ dirent.c dirent64.c dm.c dyxlat.c empty.h epoll.c \
+ error_prints.c error_prints.h evdev.c evdev_mpers.c eventfd.c \
+ execve.c fadvise.c fallocate.c fanotify.c fchownat.c fcntl.c \
+ fetch_bpf_fprog.c fetch_struct_flock.c \
+ fetch_struct_keyctl_kdf_params.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 filter_qualify.c filter.h flock.c flock.h \
+ fs_x_ioctl.c 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 keyctl_kdf_params.h kvm.c largefile_wrappers.h ldt.c \
+ link.c linux/asm_stat.h linux/x32/asm_stat.h \
+ linux/x86_64/asm_stat.h listen.c lookup_dcookie.c loop.c \
+ lseek.c macros.h mem.c membarrier.c memfd_create.c mknod.c \
+ mmap_cache.c mmap_cache.h mmsghdr.c mount.c mpers_type.h mq.c \
+ msghdr.c msghdr.h mtd.c native_defs.h negated_errno.h net.c \
+ netlink.c netlink.h netlink_crypto.c netlink_sock_diag.h \
+ netlink_inet_diag.c netlink_netfilter.c netlink_netlink_diag.c \
+ netlink_packet_diag.c netlink_route.c netlink_route.h \
+ netlink_selinux.c netlink_smc_diag.c netlink_sock_diag.c \
+ netlink_unix_diag.c nlattr.c nlattr.h nsfs.c nsfs.h nsig.h \
+ numa.c number_set.c number_set.h 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_group_req.c print_fields.h print_ifindex.c \
+ 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 quota.c readahead.c \
+ readlink.c reboot.c regs.h renameat.c resource.c retval.c \
+ retval.h riscv.c rt_sigframe.c rt_sigreturn.c rtc.c \
+ rtnl_addr.c rtnl_addrlabel.c rtnl_dcb.c rtnl_link.c rtnl_mdb.c \
+ rtnl_neigh.c rtnl_neightbl.c rtnl_netconf.c rtnl_nsid.c \
+ rtnl_route.c rtnl_rule.c rtnl_tc.c rtnl_tc_action.c s390.c \
+ sched.c sched_attr.h scsi.c seccomp.c sendfile.c sg_io_v3.c \
+ sg_io_v4.c shutdown.c sigaltstack.c sigevent.h signal.c \
+ signalfd.c sock.c sockaddr.c socketutils.c sparc.c \
+ sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h \
+ static_assert.h statx.c statx.h strace.c string_to_uint.h \
+ string_to_uint.c swapon.c syscall.c sysctl.c sysent.h \
+ sysent_shorthand_defs.h sysent_shorthand_undefs.h sysinfo.c \
+ syslog.c sysmips.c term.c time.c times.c trace_event.h \
+ truncate.c ubi.c ucopy.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 xmalloc.h xstring.h \
+ bpf_attr_check.c unwind.c unwind.h unwind-libunwind.c
+am__objects_3 = strace-bpf_attr_check.$(OBJEXT)
+#am__objects_4 = strace-unwind.$(OBJEXT) \
+# strace-unwind-libunwind.$(OBJEXT)
+am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
+ strace-aio.$(OBJEXT) strace-alpha.$(OBJEXT) \
+ strace-basic_filters.$(OBJEXT) strace-bind.$(OBJEXT) \
+ strace-bjm.$(OBJEXT) strace-block.$(OBJEXT) \
+ strace-bpf.$(OBJEXT) strace-bpf_filter.$(OBJEXT) \
+ strace-bpf_seccomp_filter.$(OBJEXT) \
+ strace-bpf_sock_filter.$(OBJEXT) strace-btrfs.$(OBJEXT) \
+ strace-cacheflush.$(OBJEXT) strace-capability.$(OBJEXT) \
+ strace-chdir.$(OBJEXT) strace-chmod.$(OBJEXT) \
+ strace-clone.$(OBJEXT) strace-copy_file_range.$(OBJEXT) \
+ strace-count.$(OBJEXT) strace-delay.$(OBJEXT) \
+ strace-desc.$(OBJEXT) strace-dirent.$(OBJEXT) \
+ strace-dirent64.$(OBJEXT) strace-dm.$(OBJEXT) \
+ strace-dyxlat.$(OBJEXT) strace-epoll.$(OBJEXT) \
+ strace-error_prints.$(OBJEXT) strace-evdev.$(OBJEXT) \
+ strace-evdev_mpers.$(OBJEXT) strace-eventfd.$(OBJEXT) \
+ strace-execve.$(OBJEXT) strace-fadvise.$(OBJEXT) \
+ strace-fallocate.$(OBJEXT) strace-fanotify.$(OBJEXT) \
+ strace-fchownat.$(OBJEXT) strace-fcntl.$(OBJEXT) \
+ strace-fetch_bpf_fprog.$(OBJEXT) \
+ strace-fetch_struct_flock.$(OBJEXT) \
+ strace-fetch_struct_keyctl_kdf_params.$(OBJEXT) \
+ strace-fetch_struct_mmsghdr.$(OBJEXT) \
+ strace-fetch_struct_msghdr.$(OBJEXT) \
+ strace-fetch_struct_stat.$(OBJEXT) \
+ strace-fetch_struct_stat64.$(OBJEXT) \
+ strace-fetch_struct_statfs.$(OBJEXT) \
+ strace-file_handle.$(OBJEXT) strace-file_ioctl.$(OBJEXT) \
+ strace-filter_qualify.$(OBJEXT) strace-flock.$(OBJEXT) \
+ strace-fs_x_ioctl.$(OBJEXT) strace-futex.$(OBJEXT) \
+ strace-get_robust_list.$(OBJEXT) strace-getcpu.$(OBJEXT) \
+ strace-getcwd.$(OBJEXT) strace-getrandom.$(OBJEXT) \
+ strace-hdio.$(OBJEXT) strace-hostname.$(OBJEXT) \
+ strace-inotify.$(OBJEXT) strace-io.$(OBJEXT) \
+ strace-ioctl.$(OBJEXT) strace-ioperm.$(OBJEXT) \
+ strace-iopl.$(OBJEXT) strace-ioprio.$(OBJEXT) \
+ strace-ipc_msg.$(OBJEXT) strace-ipc_msgctl.$(OBJEXT) \
+ strace-ipc_sem.$(OBJEXT) strace-ipc_shm.$(OBJEXT) \
+ strace-ipc_shmctl.$(OBJEXT) strace-kcmp.$(OBJEXT) \
+ strace-kexec.$(OBJEXT) strace-keyctl.$(OBJEXT) \
+ strace-kvm.$(OBJEXT) strace-ldt.$(OBJEXT) \
+ strace-link.$(OBJEXT) strace-listen.$(OBJEXT) \
+ strace-lookup_dcookie.$(OBJEXT) strace-loop.$(OBJEXT) \
+ strace-lseek.$(OBJEXT) strace-mem.$(OBJEXT) \
+ strace-membarrier.$(OBJEXT) strace-memfd_create.$(OBJEXT) \
+ strace-mknod.$(OBJEXT) strace-mmap_cache.$(OBJEXT) \
+ strace-mmsghdr.$(OBJEXT) strace-mount.$(OBJEXT) \
+ strace-mq.$(OBJEXT) strace-msghdr.$(OBJEXT) \
+ strace-mtd.$(OBJEXT) strace-net.$(OBJEXT) \
+ strace-netlink.$(OBJEXT) strace-netlink_crypto.$(OBJEXT) \
+ strace-netlink_inet_diag.$(OBJEXT) \
+ strace-netlink_netfilter.$(OBJEXT) \
+ strace-netlink_netlink_diag.$(OBJEXT) \
+ strace-netlink_packet_diag.$(OBJEXT) \
+ strace-netlink_route.$(OBJEXT) \
+ strace-netlink_selinux.$(OBJEXT) \
+ strace-netlink_smc_diag.$(OBJEXT) \
+ strace-netlink_sock_diag.$(OBJEXT) \
+ strace-netlink_unix_diag.$(OBJEXT) strace-nlattr.$(OBJEXT) \
+ strace-nsfs.$(OBJEXT) strace-numa.$(OBJEXT) \
+ strace-number_set.$(OBJEXT) strace-oldstat.$(OBJEXT) \
+ strace-open.$(OBJEXT) strace-or1k_atomic.$(OBJEXT) \
+ strace-pathtrace.$(OBJEXT) strace-perf.$(OBJEXT) \
+ strace-personality.$(OBJEXT) strace-pkeys.$(OBJEXT) \
+ strace-poll.$(OBJEXT) strace-prctl.$(OBJEXT) \
+ strace-print_dev_t.$(OBJEXT) strace-print_group_req.$(OBJEXT) \
+ strace-print_ifindex.$(OBJEXT) strace-print_mq_attr.$(OBJEXT) \
+ strace-print_msgbuf.$(OBJEXT) \
+ strace-print_sg_req_info.$(OBJEXT) \
+ strace-print_sigevent.$(OBJEXT) strace-print_statfs.$(OBJEXT) \
+ strace-print_struct_stat.$(OBJEXT) strace-print_time.$(OBJEXT) \
+ strace-print_timespec.$(OBJEXT) strace-print_timeval.$(OBJEXT) \
+ strace-print_timex.$(OBJEXT) strace-printmode.$(OBJEXT) \
+ strace-printrusage.$(OBJEXT) strace-printsiginfo.$(OBJEXT) \
+ strace-process.$(OBJEXT) strace-process_vm.$(OBJEXT) \
+ strace-ptp.$(OBJEXT) strace-quota.$(OBJEXT) \
+ strace-readahead.$(OBJEXT) strace-readlink.$(OBJEXT) \
+ strace-reboot.$(OBJEXT) strace-renameat.$(OBJEXT) \
+ strace-resource.$(OBJEXT) strace-retval.$(OBJEXT) \
+ strace-riscv.$(OBJEXT) strace-rt_sigframe.$(OBJEXT) \
+ strace-rt_sigreturn.$(OBJEXT) strace-rtc.$(OBJEXT) \
+ strace-rtnl_addr.$(OBJEXT) strace-rtnl_addrlabel.$(OBJEXT) \
+ strace-rtnl_dcb.$(OBJEXT) strace-rtnl_link.$(OBJEXT) \
+ strace-rtnl_mdb.$(OBJEXT) strace-rtnl_neigh.$(OBJEXT) \
+ strace-rtnl_neightbl.$(OBJEXT) strace-rtnl_netconf.$(OBJEXT) \
+ strace-rtnl_nsid.$(OBJEXT) strace-rtnl_route.$(OBJEXT) \
+ strace-rtnl_rule.$(OBJEXT) strace-rtnl_tc.$(OBJEXT) \
+ strace-rtnl_tc_action.$(OBJEXT) strace-s390.$(OBJEXT) \
+ strace-sched.$(OBJEXT) strace-scsi.$(OBJEXT) \
+ strace-seccomp.$(OBJEXT) strace-sendfile.$(OBJEXT) \
+ strace-sg_io_v3.$(OBJEXT) strace-sg_io_v4.$(OBJEXT) \
+ strace-shutdown.$(OBJEXT) strace-sigaltstack.$(OBJEXT) \
+ strace-signal.$(OBJEXT) strace-signalfd.$(OBJEXT) \
+ strace-sock.$(OBJEXT) strace-sockaddr.$(OBJEXT) \
+ strace-socketutils.$(OBJEXT) strace-sparc.$(OBJEXT) \
+ strace-sram_alloc.$(OBJEXT) strace-stat.$(OBJEXT) \
+ strace-stat64.$(OBJEXT) strace-statfs.$(OBJEXT) \
+ strace-statx.$(OBJEXT) strace-strace.$(OBJEXT) \
+ strace-string_to_uint.$(OBJEXT) strace-swapon.$(OBJEXT) \
+ strace-syscall.$(OBJEXT) strace-sysctl.$(OBJEXT) \
+ strace-sysinfo.$(OBJEXT) strace-syslog.$(OBJEXT) \
+ strace-sysmips.$(OBJEXT) strace-term.$(OBJEXT) \
+ strace-time.$(OBJEXT) strace-times.$(OBJEXT) \
+ strace-truncate.$(OBJEXT) strace-ubi.$(OBJEXT) \
+ strace-ucopy.$(OBJEXT) strace-uid.$(OBJEXT) \
+ strace-uid16.$(OBJEXT) strace-umask.$(OBJEXT) \
+ strace-umount.$(OBJEXT) strace-uname.$(OBJEXT) \
+ strace-userfaultfd.$(OBJEXT) strace-ustat.$(OBJEXT) \
+ strace-util.$(OBJEXT) strace-utime.$(OBJEXT) \
+ strace-utimes.$(OBJEXT) strace-v4l2.$(OBJEXT) \
+ strace-wait.$(OBJEXT) strace-xattr.$(OBJEXT) \
+ strace-xlat.$(OBJEXT) strace-xmalloc.$(OBJEXT) \
+ $(am__objects_3) $(am__objects_4)
+strace_OBJECTS = $(am_strace_OBJECTS)
+am__DEPENDENCIES_1 =
+#am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+##am__DEPENDENCIES_3 = \
+## $(am__DEPENDENCIES_1)
+strace_DEPENDENCIES = libstrace.a $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) $(am__append_8) \
+ $(am__append_12)
+strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \
+ $(LDFLAGS) -o $@
+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; }; \
+ }
+SCRIPTS = $(bin_SCRIPTS)
+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 = $(libmpers_m32_a_SOURCES) $(libmpers_mx32_a_SOURCES) \
+ $(libstrace_a_SOURCES) $(strace_SOURCES)
+DIST_SOURCES = $(am__libmpers_m32_a_SOURCES_DIST) \
+ $(am__libmpers_mx32_a_SOURCES_DIST) $(libstrace_a_SOURCES) \
+ $(am__strace_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir dist dist-all distcheck
+am__extra_recursive_targets = check-valgrind-recursive \
+ check-valgrind-memcheck-recursive \
+ check-valgrind-helgrind-recursive check-valgrind-drd-recursive \
+ check-valgrind-sgcheck-recursive
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# 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
+CSCOPE = cscope
+DIST_SUBDIRS = . tests tests-m32 tests-mx32
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
+GZIP_ENV = --best
+DIST_TARGETS = dist-xz dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing aclocal-1.14
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoconf
+AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoheader
+AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing automake-1.14
+AWK = gawk
+BUILD_EXEEXT =
+BUILD_OBJEXT =
+CC = aarch64-linux-android-clang
+CCDEPMODE = depmode=gcc3
+CC_FOR_BUILD = gcc
+CFLAGS = -fPIE -fPIC
+CFLAGS_FOR_BUILD = -g -O2
+CODE_COVERAGE_CFLAGS =
+CODE_COVERAGE_CPPFLAGS =
+CODE_COVERAGE_CXXFLAGS =
+CODE_COVERAGE_ENABLED = no
+CODE_COVERAGE_LDFLAGS =
+CODE_COVERAGE_LIBS =
+COPYRIGHT_YEAR = 2018
+CPP = aarch64-linux-android-clang -E
+CPPFLAGS =
+CPPFLAGS_FOR_BUILD =
+CPP_FOR_BUILD = gcc -E
+CYGPATH_W = echo
+DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -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 = -pie
+LDFLAGS_FOR_BUILD =
+LIBOBJS =
+LIBS =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo
+MANPAGE_DATE = 2018-04-04
+MIPS_ABI =
+MKDIR_P = /bin/mkdir -p
+OBJEXT = o
+PACKAGE = strace
+PACKAGE_BUGREPORT = strace-devel@lists.strace.io
+PACKAGE_NAME = strace
+PACKAGE_STRING = strace 4.22
+PACKAGE_TARNAME = strace
+PACKAGE_URL = https://strace.io
+PACKAGE_VERSION = 4.22
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+RANLIB = aarch64-linux-android-ranlib
+READELF = aarch64-linux-android-readelf
+RPM_CHANGELOGTIME = Thu Jun 14 2018
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+SIZEOF_KERNEL_LONG_T = 8
+SIZEOF_LONG = 8
+STRIP = aarch64-linux-android-strip
+VALGRIND = valgrind
+VALGRIND_ENABLED = yes
+VERSION = 4.22
+WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wnested-externs -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ac_ct_CC =
+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 = aarch64
+arch_m32 = arm
+arch_mx32 = aarch64
+arch_native = aarch64
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+cc_flags_m32 = -m32
+cc_flags_mx32 = -mx32
+clock_LIBS =
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dl_LIBS = -ldl
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = aarch64-unknown-linux-android
+host_alias = aarch64-linux-android
+host_cpu = aarch64
+host_os = linux-android
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+libiberty_CPPFLAGS =
+libiberty_LDFLAGS =
+libiberty_LIBS =
+libunwind_CPPFLAGS =
+libunwind_LDFLAGS =
+libunwind_LIBS =
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+mq_LIBS =
+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 =
+timer_LIBS =
+top_build_prefix =
+top_builddir = .
+top_srcdir = .
+valgrind_enabled_tools = memcheck
+valgrind_tools = memcheck helgrind drd sgcheck
+#TESTS_M32 = tests-m32
+#TESTS_MX32 = tests-mx32
+SUBDIRS = . tests $(TESTS_M32) $(TESTS_MX32)
+man_MANS = strace.1 strace-log-merge.1
+bin_SCRIPTS = strace-graph strace-log-merge
+OS = linux
+# ARCH is `i386', `m68k', `sparc', etc.
+ARCH = aarch64
+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)
+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_file_mode_flags.in xlat/bpf_map_flags.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_flags.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_logical_ino_args_flags.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/crypto_nl_attrs.in xlat/dcb_commands.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/fib_rule_actions.in \
+ xlat/fib_rule_flags.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/ifaddrflags.in xlat/iffflags.in xlat/inet_diag_attrs.in \
+ xlat/inet_diag_bytecodes.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/ip_type_of_services.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/kvm_mem_flags.in \
+ xlat/lockfcmds.in xlat/loop_cmds.in \
+ xlat/loop_crypt_type_options.in xlat/loop_flags_options.in \
+ xlat/lwtunnel_encap_types.in xlat/madvise_cmds.in \
+ xlat/mbindflags.in xlat/mctl_sync.in xlat/mdb_flags.in \
+ xlat/mdb_states.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/multicast_router_types.in xlat/name_to_handle_at_flags.in \
+ xlat/neighbor_cache_entry_flags.in \
+ xlat/neighbor_cache_entry_states.in xlat/netfilter_versions.in \
+ xlat/netlink_ack_flags.in xlat/netlink_delete_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/nf_acct_msg_types.in \
+ xlat/nf_cthelper_msg_types.in \
+ xlat/nf_ctnetlink_exp_msg_types.in \
+ xlat/nf_ctnetlink_msg_types.in xlat/nf_cttimeout_msg_types.in \
+ xlat/nf_ipset_msg_types.in xlat/nf_nft_compat_msg_types.in \
+ xlat/nf_nftables_msg_types.in xlat/nf_osf_msg_types.in \
+ xlat/nf_queue_msg_types.in xlat/nf_ulog_msg_types.in \
+ xlat/nl_audit_types.in xlat/nl_crypto_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/nlmsgerr_attrs.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_info_flags.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_sve_vl_flags.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/riscv_flush_icache_flags.in xlat/route_nexthop_flags.in \
+ xlat/routing_flags.in xlat/routing_protocols.in \
+ xlat/routing_scopes.in xlat/routing_table_ids.in \
+ xlat/routing_types.in xlat/rtnl_addr_attrs.in \
+ xlat/rtnl_addrlabel_attrs.in xlat/rtnl_dcb_attrs.in \
+ xlat/rtnl_ifla_brport_attrs.in xlat/rtnl_ifla_events.in \
+ xlat/rtnl_ifla_info_attrs.in xlat/rtnl_ifla_port_attrs.in \
+ xlat/rtnl_ifla_vf_port_attrs.in xlat/rtnl_ifla_xdp_attrs.in \
+ xlat/rtnl_link_attrs.in xlat/rtnl_mdb_attrs.in \
+ xlat/rtnl_mdba_mdb_attrs.in xlat/rtnl_mdba_mdb_eattr_attrs.in \
+ xlat/rtnl_mdba_mdb_entry_attrs.in \
+ xlat/rtnl_mdba_router_attrs.in \
+ xlat/rtnl_mdba_router_pattr_attrs.in xlat/rtnl_neigh_attrs.in \
+ xlat/rtnl_neightbl_attrs.in xlat/rtnl_neightbl_parms_attrs.in \
+ xlat/rtnl_netconf_attrs.in xlat/rtnl_nsid_attrs.in \
+ xlat/rtnl_route_attrs.in xlat/rtnl_rta_metrics_attrs.in \
+ xlat/rtnl_rule_attrs.in xlat/rtnl_tc_action_attrs.in \
+ xlat/rtnl_tc_attrs.in xlat/rtnl_tca_stab_attrs.in \
+ xlat/rtnl_tca_stats_attrs.in xlat/rwf_flags.in \
+ xlat/s390_guarded_storage_commands.in \
+ xlat/s390_runtime_instr_commands.in \
+ xlat/s390_sthyi_function_codes.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/skf_ad.in \
+ xlat/smc_diag_attrs.in xlat/smc_diag_extended_flags.in \
+ xlat/smc_link_group_roles.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/socknetlinkoptions.in xlat/sockoptions.in \
+ xlat/sockpacketoptions.in xlat/sockrawoptions.in \
+ xlat/socksctpoptions.in xlat/socktcpoptions.in \
+ xlat/socktypes.in xlat/sparc_kern_features.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_features.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_pix_fmts.in xlat/v4l2_sdr_fmts.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/xdp_flags.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_file_mode_flags.h xlat/bpf_map_flags.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_flags.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_logical_ino_args_flags.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/crypto_nl_attrs.h xlat/dcb_commands.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/fib_rule_actions.h xlat/fib_rule_flags.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/ifaddrflags.h xlat/iffflags.h xlat/inet_diag_attrs.h \
+ xlat/inet_diag_bytecodes.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/ip_type_of_services.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/kvm_mem_flags.h xlat/lockfcmds.h \
+ xlat/loop_cmds.h xlat/loop_crypt_type_options.h \
+ xlat/loop_flags_options.h xlat/lwtunnel_encap_types.h \
+ xlat/madvise_cmds.h xlat/mbindflags.h xlat/mctl_sync.h \
+ xlat/mdb_flags.h xlat/mdb_states.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/multicast_router_types.h xlat/name_to_handle_at_flags.h \
+ xlat/neighbor_cache_entry_flags.h \
+ xlat/neighbor_cache_entry_states.h xlat/netfilter_versions.h \
+ xlat/netlink_ack_flags.h xlat/netlink_delete_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/nf_acct_msg_types.h \
+ xlat/nf_cthelper_msg_types.h xlat/nf_ctnetlink_exp_msg_types.h \
+ xlat/nf_ctnetlink_msg_types.h xlat/nf_cttimeout_msg_types.h \
+ xlat/nf_ipset_msg_types.h xlat/nf_nft_compat_msg_types.h \
+ xlat/nf_nftables_msg_types.h xlat/nf_osf_msg_types.h \
+ xlat/nf_queue_msg_types.h xlat/nf_ulog_msg_types.h \
+ xlat/nl_audit_types.h xlat/nl_crypto_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/nlmsgerr_attrs.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_info_flags.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_sve_vl_flags.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/riscv_flush_icache_flags.h xlat/route_nexthop_flags.h \
+ xlat/routing_flags.h xlat/routing_protocols.h \
+ xlat/routing_scopes.h xlat/routing_table_ids.h \
+ xlat/routing_types.h xlat/rtnl_addr_attrs.h \
+ xlat/rtnl_addrlabel_attrs.h xlat/rtnl_dcb_attrs.h \
+ xlat/rtnl_ifla_brport_attrs.h xlat/rtnl_ifla_events.h \
+ xlat/rtnl_ifla_info_attrs.h xlat/rtnl_ifla_port_attrs.h \
+ xlat/rtnl_ifla_vf_port_attrs.h xlat/rtnl_ifla_xdp_attrs.h \
+ xlat/rtnl_link_attrs.h xlat/rtnl_mdb_attrs.h \
+ xlat/rtnl_mdba_mdb_attrs.h xlat/rtnl_mdba_mdb_eattr_attrs.h \
+ xlat/rtnl_mdba_mdb_entry_attrs.h xlat/rtnl_mdba_router_attrs.h \
+ xlat/rtnl_mdba_router_pattr_attrs.h xlat/rtnl_neigh_attrs.h \
+ xlat/rtnl_neightbl_attrs.h xlat/rtnl_neightbl_parms_attrs.h \
+ xlat/rtnl_netconf_attrs.h xlat/rtnl_nsid_attrs.h \
+ xlat/rtnl_route_attrs.h xlat/rtnl_rta_metrics_attrs.h \
+ xlat/rtnl_rule_attrs.h xlat/rtnl_tc_action_attrs.h \
+ xlat/rtnl_tc_attrs.h xlat/rtnl_tca_stab_attrs.h \
+ xlat/rtnl_tca_stats_attrs.h xlat/rwf_flags.h \
+ xlat/s390_guarded_storage_commands.h \
+ xlat/s390_runtime_instr_commands.h \
+ xlat/s390_sthyi_function_codes.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/skf_ad.h xlat/smc_diag_attrs.h \
+ xlat/smc_diag_extended_flags.h xlat/smc_link_group_roles.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/socknetlinkoptions.h xlat/sockoptions.h \
+ xlat/sockpacketoptions.h xlat/sockrawoptions.h \
+ xlat/socksctpoptions.h xlat/socktcpoptions.h xlat/socktypes.h \
+ xlat/sparc_kern_features.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_features.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_pix_fmts.h xlat/v4l2_sdr_fmts.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/xdp_flags.h \
+ xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h
+strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_2) $(am__append_5) \
+ $(CODE_COVERAGE_CPPFLAGS)
+strace_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
+strace_LDFLAGS = $(am__append_3) $(am__append_6)
+strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_4) \
+ $(am__append_7) $(CODE_COVERAGE_LIBS) $(am__append_8) \
+ $(am__append_12)
+noinst_LIBRARIES = libstrace.a $(am__append_9) $(am__append_13)
+libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
+libstrace_a_CFLAGS = $(strace_CFLAGS)
+libstrace_a_SOURCES = \
+ fetch_indirect_syscall_args.c \
+ fstatfs.c \
+ fstatfs64.c \
+ getpagesize.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 arch_defs.h \
+ basic_filters.c bind.c bjm.c block.c bpf.c bpf_attr.h \
+ bpf_filter.c bpf_filter.h bpf_fprog.h bpf_seccomp_filter.c \
+ bpf_sock_filter.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 delay.c delay.h desc.c dirent.c dirent64.c dm.c \
+ dyxlat.c empty.h epoll.c error_prints.c error_prints.h evdev.c \
+ evdev_mpers.c eventfd.c execve.c fadvise.c fallocate.c \
+ fanotify.c fchownat.c fcntl.c fetch_bpf_fprog.c \
+ fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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 \
+ filter_qualify.c filter.h flock.c flock.h fs_x_ioctl.c 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 \
+ keyctl_kdf_params.h kvm.c largefile_wrappers.h ldt.c link.c \
+ linux/asm_stat.h linux/x32/asm_stat.h linux/x86_64/asm_stat.h \
+ listen.c lookup_dcookie.c loop.c lseek.c macros.h mem.c \
+ membarrier.c memfd_create.c mknod.c mmap_cache.c mmap_cache.h \
+ mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
+ native_defs.h negated_errno.h net.c netlink.c netlink.h \
+ netlink_crypto.c netlink_sock_diag.h netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c \
+ netlink_packet_diag.c netlink_route.c netlink_route.h \
+ netlink_selinux.c netlink_smc_diag.c netlink_sock_diag.c \
+ netlink_unix_diag.c nlattr.c nlattr.h nsfs.c nsfs.h nsig.h \
+ numa.c number_set.c number_set.h 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_group_req.c print_fields.h print_ifindex.c \
+ 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 quota.c readahead.c \
+ readlink.c reboot.c regs.h renameat.c resource.c retval.c \
+ retval.h riscv.c rt_sigframe.c rt_sigreturn.c rtc.c \
+ rtnl_addr.c rtnl_addrlabel.c rtnl_dcb.c rtnl_link.c rtnl_mdb.c \
+ rtnl_neigh.c rtnl_neightbl.c rtnl_netconf.c rtnl_nsid.c \
+ rtnl_route.c rtnl_rule.c rtnl_tc.c rtnl_tc_action.c s390.c \
+ sched.c sched_attr.h scsi.c seccomp.c sendfile.c sg_io_v3.c \
+ sg_io_v4.c shutdown.c sigaltstack.c sigevent.h signal.c \
+ signalfd.c sock.c sockaddr.c socketutils.c sparc.c \
+ sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h \
+ static_assert.h statx.c statx.h strace.c string_to_uint.h \
+ string_to_uint.c swapon.c syscall.c sysctl.c sysent.h \
+ sysent_shorthand_defs.h sysent_shorthand_undefs.h sysinfo.c \
+ syslog.c sysmips.c term.c time.c times.c trace_event.h \
+ truncate.c ubi.c ucopy.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 xmalloc.h xstring.h \
+ $(strace_SOURCES_check) $(am__append_1)
+strace_SOURCES_check = bpf_attr_check.c
+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/*'
+
+# 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 \
+ gen_bpf_attr_check.sh \
+ 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_defs_.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/nr_prefix.c \
+ linux/aarch64/raw_syscall.h \
+ linux/aarch64/set_error.c \
+ linux/aarch64/set_scno.c \
+ linux/aarch64/shuffle_scno.c \
+ linux/aarch64/signalent1.h \
+ linux/aarch64/syscallent.h \
+ linux/aarch64/syscallent1.h \
+ linux/alpha/arch_defs_.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/raw_syscall.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/raw_syscall.h \
+ linux/arc/set_error.c \
+ linux/arc/set_scno.c \
+ linux/arc/syscallent.h \
+ linux/arch_defs_.h \
+ linux/arch_kvm.c \
+ linux/arch_regs.h \
+ linux/arch_sigreturn.c \
+ linux/arm/arch_defs_.h \
+ 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/nr_prefix.c \
+ linux/arm/raw_syscall.h \
+ linux/arm/set_error.c \
+ linux/arm/set_scno.c \
+ linux/arm/shuffle_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/raw_syscall.h \
+ linux/avr32/set_error.c \
+ linux/avr32/set_scno.c \
+ linux/avr32/syscallent.h \
+ linux/avr32/userent.h \
+ linux/bfin/arch_defs_.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/raw_syscall.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/dummy.h \
+ linux/errnoent.h \
+ linux/getregs_old.h \
+ linux/hppa/arch_defs_.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/raw_syscall.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_kvm.c \
+ linux/i386/arch_defs_.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/raw_syscall.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_defs_.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/raw_syscall.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_defs_.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/raw_syscall.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/raw_syscall.h \
+ linux/metag/set_error.c \
+ linux/metag/set_scno.c \
+ linux/metag/syscallent.h \
+ linux/microblaze/arch_defs_.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/raw_syscall.h \
+ linux/microblaze/set_error.c \
+ linux/microblaze/set_scno.c \
+ linux/microblaze/syscallent.h \
+ linux/microblaze/userent.h \
+ linux/mips/arch_defs_.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/raw_syscall.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/netlink_diag.h \
+ linux/nios2/arch_defs_.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/raw_syscall.h \
+ linux/nios2/set_error.c \
+ linux/nios2/set_scno.c \
+ linux/nios2/syscallent.h \
+ linux/nr_prefix.c \
+ 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/raw_syscall.h \
+ linux/or1k/set_error.c \
+ linux/or1k/set_scno.c \
+ linux/or1k/syscallent.h \
+ linux/or1k/userent.h \
+ linux/packet_diag.h \
+ linux/powerpc/arch_defs_.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/raw_syscall.h \
+ linux/powerpc/set_error.c \
+ linux/powerpc/set_scno.c \
+ linux/powerpc/syscallent.h \
+ linux/powerpc/userent.h \
+ linux/powerpc64/arch_defs_.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/raw_syscall.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/raw_syscall.h \
+ linux/riscv/arch_defs_.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/raw_syscall.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_defs_.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/raw_syscall.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_defs_.h \
+ linux/s390x/arch_regs.c \
+ linux/s390x/arch_regs.h \
+ linux/s390x/arch_rt_sigframe.c \
+ linux/s390x/arch_sigreturn.c \
+ linux/s390x/errnoent1.h \
+ linux/s390x/get_error.c \
+ linux/s390x/get_scno.c \
+ linux/s390x/get_syscall_args.c \
+ linux/s390x/ioctls_arch0.h \
+ linux/s390x/ioctls_arch1.h \
+ linux/s390x/ioctls_inc0.h \
+ linux/s390x/ioctls_inc1.h \
+ linux/s390x/raw_syscall.h \
+ linux/s390x/rt_sigframe.h \
+ linux/s390x/set_error.c \
+ linux/s390x/set_scno.c \
+ linux/s390x/signalent1.h \
+ linux/s390x/syscallent.h \
+ linux/s390x/syscallent1.h \
+ linux/s390x/userent.h \
+ linux/sh/arch_defs_.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/raw_syscall.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_defs_.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/raw_syscall.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/shuffle_scno.c \
+ linux/signalent.h \
+ linux/smc_diag.h \
+ linux/sock_diag.h \
+ linux/sparc/arch_defs_.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/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/raw_syscall.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_defs_.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/raw_syscall.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_defs_.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/raw_syscall.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/unix_diag.h \
+ linux/userent.h \
+ linux/userent0.h \
+ linux/x32/arch_defs_.h \
+ linux/x32/arch_kvm.c \
+ 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/raw_syscall.h \
+ linux/x32/rt_sigframe.h \
+ linux/x32/set_error.c \
+ linux/x32/set_scno.c \
+ linux/x32/shuffle_scno.c \
+ linux/x32/signalent1.h \
+ linux/x32/syscallent.h \
+ linux/x32/syscallent1.h \
+ linux/x32/userent.h \
+ linux/x86_64/arch_defs_.h \
+ linux/x86_64/arch_kvm.c \
+ 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/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/raw_syscall.h \
+ linux/x86_64/rt_sigframe.h \
+ linux/x86_64/set_error.c \
+ linux/x86_64/set_scno.c \
+ linux/x86_64/shuffle_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/raw_syscall.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 \
+ # end of EXTRA_DIST
+
+strace_SOURCES_c = \
+ $(filter %.c,$(strace_SOURCES)) $(filter %.c,$(libstrace_a_SOURCES))
+
+sys_func_h_sources = $(filter-out $(strace_SOURCES_check),$(strace_SOURCES_c))
+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))
+today = $(shell date +%Y-%m-%d)
+version_regexp = $(subst .,\.,$(VERSION))
+news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
+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)))
+BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) bpf_attr_check.c \
+ native_printer_decls.h native_printer_defs.h printers.h sen.h \
+ sys_func.h .version scno.h $(am__append_10) $(am__append_14)
+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
+ ioctl_iocdef.h ioctl_iocdef.i bpf_attr_check.c \
+ native_printer_decls.h native_printer_defs.h printers.h sen.h \
+ sys_func.h syscallent.i scno.h $(am__append_11) \
+ $(am__append_15)
+DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.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
+
+# Generated by ./generate_mpers_am.sh; do not edit.
+mpers_source_files = block.c btrfs.c dirent.c evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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_group_req.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
+
+# defines mpers_source_files
+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_printer_decl_pattern = ^MPERS_PRINTER_DECL\(([^,)]+),[[:space:]]*([^,)]+),[[:space:]]*([^)]+)\)$$
+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
+#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
+#gen_changelog_start_date = 2009-07-08 20:00
+all: $(BUILT_SOURCES) config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/xlat/Makemodule.am $(srcdir)/scno.am $(srcdir)/mpers.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+$(srcdir)/xlat/Makemodule.am $(srcdir)/scno.am $(srcdir)/mpers.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: # $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+strace.1: $(top_builddir)/config.status $(srcdir)/strace.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+strace-log-merge.1: $(top_builddir)/config.status $(srcdir)/strace-log-merge.1.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+strace.spec: $(top_builddir)/config.status $(srcdir)/strace.spec.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+debian/changelog: $(top_builddir)/config.status $(top_srcdir)/debian/changelog.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+libmpers-m32.a: $(libmpers_m32_a_OBJECTS) $(libmpers_m32_a_DEPENDENCIES) $(EXTRA_libmpers_m32_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libmpers-m32.a
+ $(AM_V_AR)$(libmpers_m32_a_AR) libmpers-m32.a $(libmpers_m32_a_OBJECTS) $(libmpers_m32_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libmpers-m32.a
+
+libmpers-mx32.a: $(libmpers_mx32_a_OBJECTS) $(libmpers_mx32_a_DEPENDENCIES) $(EXTRA_libmpers_mx32_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libmpers-mx32.a
+ $(AM_V_AR)$(libmpers_mx32_a_AR) libmpers-mx32.a $(libmpers_mx32_a_OBJECTS) $(libmpers_mx32_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libmpers-mx32.a
+
+libstrace.a: $(libstrace_a_OBJECTS) $(libstrace_a_DEPENDENCIES) $(EXTRA_libstrace_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libstrace.a
+ $(AM_V_AR)$(libstrace_a_AR) libstrace.a $(libstrace_a_OBJECTS) $(libstrace_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libstrace.a
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+strace$(EXEEXT): $(strace_OBJECTS) $(strace_DEPENDENCIES) $(EXTRA_strace_DEPENDENCIES)
+ @rm -f strace$(EXEEXT)
+ $(AM_V_CCLD)$(strace_LINK) $(strace_OBJECTS) $(strace_LDADD) $(LIBS)
+install-binSCRIPTS: $(bin_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/libmpers_m32_a-block.Po
+include ./$(DEPDIR)/libmpers_m32_a-btrfs.Po
+include ./$(DEPDIR)/libmpers_m32_a-dirent.Po
+include ./$(DEPDIR)/libmpers_m32_a-evdev_mpers.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Po
+include ./$(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Po
+include ./$(DEPDIR)/libmpers_m32_a-hdio.Po
+include ./$(DEPDIR)/libmpers_m32_a-ipc_msgctl.Po
+include ./$(DEPDIR)/libmpers_m32_a-ipc_shmctl.Po
+include ./$(DEPDIR)/libmpers_m32_a-loop.Po
+include ./$(DEPDIR)/libmpers_m32_a-mtd.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_group_req.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_mq_attr.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_msgbuf.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_sg_req_info.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_sigevent.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_time.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_timespec.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_timeval.Po
+include ./$(DEPDIR)/libmpers_m32_a-print_timex.Po
+include ./$(DEPDIR)/libmpers_m32_a-printrusage.Po
+include ./$(DEPDIR)/libmpers_m32_a-printsiginfo.Po
+include ./$(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+include ./$(DEPDIR)/libmpers_m32_a-rtc.Po
+include ./$(DEPDIR)/libmpers_m32_a-sg_io_v3.Po
+include ./$(DEPDIR)/libmpers_m32_a-sigaltstack.Po
+include ./$(DEPDIR)/libmpers_m32_a-sock.Po
+include ./$(DEPDIR)/libmpers_m32_a-sysinfo.Po
+include ./$(DEPDIR)/libmpers_m32_a-times.Po
+include ./$(DEPDIR)/libmpers_m32_a-ustat.Po
+include ./$(DEPDIR)/libmpers_m32_a-utime.Po
+include ./$(DEPDIR)/libmpers_m32_a-v4l2.Po
+include ./$(DEPDIR)/libmpers_mx32_a-block.Po
+include ./$(DEPDIR)/libmpers_mx32_a-btrfs.Po
+include ./$(DEPDIR)/libmpers_mx32_a-dirent.Po
+include ./$(DEPDIR)/libmpers_mx32_a-evdev_mpers.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Po
+include ./$(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Po
+include ./$(DEPDIR)/libmpers_mx32_a-hdio.Po
+include ./$(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Po
+include ./$(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Po
+include ./$(DEPDIR)/libmpers_mx32_a-loop.Po
+include ./$(DEPDIR)/libmpers_mx32_a-mtd.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_group_req.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_mq_attr.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_msgbuf.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_sigevent.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_time.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_timespec.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_timeval.Po
+include ./$(DEPDIR)/libmpers_mx32_a-print_timex.Po
+include ./$(DEPDIR)/libmpers_mx32_a-printrusage.Po
+include ./$(DEPDIR)/libmpers_mx32_a-printsiginfo.Po
+include ./$(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+include ./$(DEPDIR)/libmpers_mx32_a-rtc.Po
+include ./$(DEPDIR)/libmpers_mx32_a-sg_io_v3.Po
+include ./$(DEPDIR)/libmpers_mx32_a-sigaltstack.Po
+include ./$(DEPDIR)/libmpers_mx32_a-sock.Po
+include ./$(DEPDIR)/libmpers_mx32_a-sysinfo.Po
+include ./$(DEPDIR)/libmpers_mx32_a-times.Po
+include ./$(DEPDIR)/libmpers_mx32_a-ustat.Po
+include ./$(DEPDIR)/libmpers_mx32_a-utime.Po
+include ./$(DEPDIR)/libmpers_mx32_a-v4l2.Po
+include ./$(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Po
+include ./$(DEPDIR)/libstrace_a-fstatfs.Po
+include ./$(DEPDIR)/libstrace_a-fstatfs64.Po
+include ./$(DEPDIR)/libstrace_a-getpagesize.Po
+include ./$(DEPDIR)/libstrace_a-ipc.Po
+include ./$(DEPDIR)/libstrace_a-sigreturn.Po
+include ./$(DEPDIR)/libstrace_a-socketcall.Po
+include ./$(DEPDIR)/libstrace_a-statfs.Po
+include ./$(DEPDIR)/libstrace_a-statfs64.Po
+include ./$(DEPDIR)/libstrace_a-sync_file_range.Po
+include ./$(DEPDIR)/libstrace_a-sync_file_range2.Po
+include ./$(DEPDIR)/libstrace_a-upeek.Po
+include ./$(DEPDIR)/libstrace_a-upoke.Po
+include ./$(DEPDIR)/strace-access.Po
+include ./$(DEPDIR)/strace-affinity.Po
+include ./$(DEPDIR)/strace-aio.Po
+include ./$(DEPDIR)/strace-alpha.Po
+include ./$(DEPDIR)/strace-basic_filters.Po
+include ./$(DEPDIR)/strace-bind.Po
+include ./$(DEPDIR)/strace-bjm.Po
+include ./$(DEPDIR)/strace-block.Po
+include ./$(DEPDIR)/strace-bpf.Po
+include ./$(DEPDIR)/strace-bpf_attr_check.Po
+include ./$(DEPDIR)/strace-bpf_filter.Po
+include ./$(DEPDIR)/strace-bpf_seccomp_filter.Po
+include ./$(DEPDIR)/strace-bpf_sock_filter.Po
+include ./$(DEPDIR)/strace-btrfs.Po
+include ./$(DEPDIR)/strace-cacheflush.Po
+include ./$(DEPDIR)/strace-capability.Po
+include ./$(DEPDIR)/strace-chdir.Po
+include ./$(DEPDIR)/strace-chmod.Po
+include ./$(DEPDIR)/strace-clone.Po
+include ./$(DEPDIR)/strace-copy_file_range.Po
+include ./$(DEPDIR)/strace-count.Po
+include ./$(DEPDIR)/strace-delay.Po
+include ./$(DEPDIR)/strace-desc.Po
+include ./$(DEPDIR)/strace-dirent.Po
+include ./$(DEPDIR)/strace-dirent64.Po
+include ./$(DEPDIR)/strace-dm.Po
+include ./$(DEPDIR)/strace-dyxlat.Po
+include ./$(DEPDIR)/strace-epoll.Po
+include ./$(DEPDIR)/strace-error_prints.Po
+include ./$(DEPDIR)/strace-evdev.Po
+include ./$(DEPDIR)/strace-evdev_mpers.Po
+include ./$(DEPDIR)/strace-eventfd.Po
+include ./$(DEPDIR)/strace-execve.Po
+include ./$(DEPDIR)/strace-fadvise.Po
+include ./$(DEPDIR)/strace-fallocate.Po
+include ./$(DEPDIR)/strace-fanotify.Po
+include ./$(DEPDIR)/strace-fchownat.Po
+include ./$(DEPDIR)/strace-fcntl.Po
+include ./$(DEPDIR)/strace-fetch_bpf_fprog.Po
+include ./$(DEPDIR)/strace-fetch_struct_flock.Po
+include ./$(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Po
+include ./$(DEPDIR)/strace-fetch_struct_mmsghdr.Po
+include ./$(DEPDIR)/strace-fetch_struct_msghdr.Po
+include ./$(DEPDIR)/strace-fetch_struct_stat.Po
+include ./$(DEPDIR)/strace-fetch_struct_stat64.Po
+include ./$(DEPDIR)/strace-fetch_struct_statfs.Po
+include ./$(DEPDIR)/strace-file_handle.Po
+include ./$(DEPDIR)/strace-file_ioctl.Po
+include ./$(DEPDIR)/strace-filter_qualify.Po
+include ./$(DEPDIR)/strace-flock.Po
+include ./$(DEPDIR)/strace-fs_x_ioctl.Po
+include ./$(DEPDIR)/strace-futex.Po
+include ./$(DEPDIR)/strace-get_robust_list.Po
+include ./$(DEPDIR)/strace-getcpu.Po
+include ./$(DEPDIR)/strace-getcwd.Po
+include ./$(DEPDIR)/strace-getrandom.Po
+include ./$(DEPDIR)/strace-hdio.Po
+include ./$(DEPDIR)/strace-hostname.Po
+include ./$(DEPDIR)/strace-inotify.Po
+include ./$(DEPDIR)/strace-io.Po
+include ./$(DEPDIR)/strace-ioctl.Po
+include ./$(DEPDIR)/strace-ioperm.Po
+include ./$(DEPDIR)/strace-iopl.Po
+include ./$(DEPDIR)/strace-ioprio.Po
+include ./$(DEPDIR)/strace-ipc_msg.Po
+include ./$(DEPDIR)/strace-ipc_msgctl.Po
+include ./$(DEPDIR)/strace-ipc_sem.Po
+include ./$(DEPDIR)/strace-ipc_shm.Po
+include ./$(DEPDIR)/strace-ipc_shmctl.Po
+include ./$(DEPDIR)/strace-kcmp.Po
+include ./$(DEPDIR)/strace-kexec.Po
+include ./$(DEPDIR)/strace-keyctl.Po
+include ./$(DEPDIR)/strace-kvm.Po
+include ./$(DEPDIR)/strace-ldt.Po
+include ./$(DEPDIR)/strace-link.Po
+include ./$(DEPDIR)/strace-listen.Po
+include ./$(DEPDIR)/strace-lookup_dcookie.Po
+include ./$(DEPDIR)/strace-loop.Po
+include ./$(DEPDIR)/strace-lseek.Po
+include ./$(DEPDIR)/strace-mem.Po
+include ./$(DEPDIR)/strace-membarrier.Po
+include ./$(DEPDIR)/strace-memfd_create.Po
+include ./$(DEPDIR)/strace-mknod.Po
+include ./$(DEPDIR)/strace-mmap_cache.Po
+include ./$(DEPDIR)/strace-mmsghdr.Po
+include ./$(DEPDIR)/strace-mount.Po
+include ./$(DEPDIR)/strace-mq.Po
+include ./$(DEPDIR)/strace-msghdr.Po
+include ./$(DEPDIR)/strace-mtd.Po
+include ./$(DEPDIR)/strace-net.Po
+include ./$(DEPDIR)/strace-netlink.Po
+include ./$(DEPDIR)/strace-netlink_crypto.Po
+include ./$(DEPDIR)/strace-netlink_inet_diag.Po
+include ./$(DEPDIR)/strace-netlink_netfilter.Po
+include ./$(DEPDIR)/strace-netlink_netlink_diag.Po
+include ./$(DEPDIR)/strace-netlink_packet_diag.Po
+include ./$(DEPDIR)/strace-netlink_route.Po
+include ./$(DEPDIR)/strace-netlink_selinux.Po
+include ./$(DEPDIR)/strace-netlink_smc_diag.Po
+include ./$(DEPDIR)/strace-netlink_sock_diag.Po
+include ./$(DEPDIR)/strace-netlink_unix_diag.Po
+include ./$(DEPDIR)/strace-nlattr.Po
+include ./$(DEPDIR)/strace-nsfs.Po
+include ./$(DEPDIR)/strace-numa.Po
+include ./$(DEPDIR)/strace-number_set.Po
+include ./$(DEPDIR)/strace-oldstat.Po
+include ./$(DEPDIR)/strace-open.Po
+include ./$(DEPDIR)/strace-or1k_atomic.Po
+include ./$(DEPDIR)/strace-pathtrace.Po
+include ./$(DEPDIR)/strace-perf.Po
+include ./$(DEPDIR)/strace-personality.Po
+include ./$(DEPDIR)/strace-pkeys.Po
+include ./$(DEPDIR)/strace-poll.Po
+include ./$(DEPDIR)/strace-prctl.Po
+include ./$(DEPDIR)/strace-print_dev_t.Po
+include ./$(DEPDIR)/strace-print_group_req.Po
+include ./$(DEPDIR)/strace-print_ifindex.Po
+include ./$(DEPDIR)/strace-print_mq_attr.Po
+include ./$(DEPDIR)/strace-print_msgbuf.Po
+include ./$(DEPDIR)/strace-print_sg_req_info.Po
+include ./$(DEPDIR)/strace-print_sigevent.Po
+include ./$(DEPDIR)/strace-print_statfs.Po
+include ./$(DEPDIR)/strace-print_struct_stat.Po
+include ./$(DEPDIR)/strace-print_time.Po
+include ./$(DEPDIR)/strace-print_timespec.Po
+include ./$(DEPDIR)/strace-print_timeval.Po
+include ./$(DEPDIR)/strace-print_timex.Po
+include ./$(DEPDIR)/strace-printmode.Po
+include ./$(DEPDIR)/strace-printrusage.Po
+include ./$(DEPDIR)/strace-printsiginfo.Po
+include ./$(DEPDIR)/strace-process.Po
+include ./$(DEPDIR)/strace-process_vm.Po
+include ./$(DEPDIR)/strace-ptp.Po
+include ./$(DEPDIR)/strace-quota.Po
+include ./$(DEPDIR)/strace-readahead.Po
+include ./$(DEPDIR)/strace-readlink.Po
+include ./$(DEPDIR)/strace-reboot.Po
+include ./$(DEPDIR)/strace-renameat.Po
+include ./$(DEPDIR)/strace-resource.Po
+include ./$(DEPDIR)/strace-retval.Po
+include ./$(DEPDIR)/strace-riscv.Po
+include ./$(DEPDIR)/strace-rt_sigframe.Po
+include ./$(DEPDIR)/strace-rt_sigreturn.Po
+include ./$(DEPDIR)/strace-rtc.Po
+include ./$(DEPDIR)/strace-rtnl_addr.Po
+include ./$(DEPDIR)/strace-rtnl_addrlabel.Po
+include ./$(DEPDIR)/strace-rtnl_dcb.Po
+include ./$(DEPDIR)/strace-rtnl_link.Po
+include ./$(DEPDIR)/strace-rtnl_mdb.Po
+include ./$(DEPDIR)/strace-rtnl_neigh.Po
+include ./$(DEPDIR)/strace-rtnl_neightbl.Po
+include ./$(DEPDIR)/strace-rtnl_netconf.Po
+include ./$(DEPDIR)/strace-rtnl_nsid.Po
+include ./$(DEPDIR)/strace-rtnl_route.Po
+include ./$(DEPDIR)/strace-rtnl_rule.Po
+include ./$(DEPDIR)/strace-rtnl_tc.Po
+include ./$(DEPDIR)/strace-rtnl_tc_action.Po
+include ./$(DEPDIR)/strace-s390.Po
+include ./$(DEPDIR)/strace-sched.Po
+include ./$(DEPDIR)/strace-scsi.Po
+include ./$(DEPDIR)/strace-seccomp.Po
+include ./$(DEPDIR)/strace-sendfile.Po
+include ./$(DEPDIR)/strace-sg_io_v3.Po
+include ./$(DEPDIR)/strace-sg_io_v4.Po
+include ./$(DEPDIR)/strace-shutdown.Po
+include ./$(DEPDIR)/strace-sigaltstack.Po
+include ./$(DEPDIR)/strace-signal.Po
+include ./$(DEPDIR)/strace-signalfd.Po
+include ./$(DEPDIR)/strace-sock.Po
+include ./$(DEPDIR)/strace-sockaddr.Po
+include ./$(DEPDIR)/strace-socketutils.Po
+include ./$(DEPDIR)/strace-sparc.Po
+include ./$(DEPDIR)/strace-sram_alloc.Po
+include ./$(DEPDIR)/strace-stat.Po
+include ./$(DEPDIR)/strace-stat64.Po
+include ./$(DEPDIR)/strace-statfs.Po
+include ./$(DEPDIR)/strace-statx.Po
+include ./$(DEPDIR)/strace-strace.Po
+include ./$(DEPDIR)/strace-string_to_uint.Po
+include ./$(DEPDIR)/strace-swapon.Po
+include ./$(DEPDIR)/strace-syscall.Po
+include ./$(DEPDIR)/strace-sysctl.Po
+include ./$(DEPDIR)/strace-sysinfo.Po
+include ./$(DEPDIR)/strace-syslog.Po
+include ./$(DEPDIR)/strace-sysmips.Po
+include ./$(DEPDIR)/strace-term.Po
+include ./$(DEPDIR)/strace-time.Po
+include ./$(DEPDIR)/strace-times.Po
+include ./$(DEPDIR)/strace-truncate.Po
+include ./$(DEPDIR)/strace-ubi.Po
+include ./$(DEPDIR)/strace-ucopy.Po
+include ./$(DEPDIR)/strace-uid.Po
+include ./$(DEPDIR)/strace-uid16.Po
+include ./$(DEPDIR)/strace-umask.Po
+include ./$(DEPDIR)/strace-umount.Po
+include ./$(DEPDIR)/strace-uname.Po
+include ./$(DEPDIR)/strace-unwind-libunwind.Po
+include ./$(DEPDIR)/strace-unwind.Po
+include ./$(DEPDIR)/strace-userfaultfd.Po
+include ./$(DEPDIR)/strace-ustat.Po
+include ./$(DEPDIR)/strace-util.Po
+include ./$(DEPDIR)/strace-utime.Po
+include ./$(DEPDIR)/strace-utimes.Po
+include ./$(DEPDIR)/strace-v4l2.Po
+include ./$(DEPDIR)/strace-wait.Po
+include ./$(DEPDIR)/strace-xattr.Po
+include ./$(DEPDIR)/strace-xlat.Po
+include ./$(DEPDIR)/strace-xmalloc.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) '$<'`
+
+libmpers_m32_a-block.o: block.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-block.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-block.Tpo -c -o libmpers_m32_a-block.o `test -f 'block.c' || echo '$(srcdir)/'`block.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-block.Tpo $(DEPDIR)/libmpers_m32_a-block.Po
+# $(AM_V_CC)source='block.c' object='libmpers_m32_a-block.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-block.o `test -f 'block.c' || echo '$(srcdir)/'`block.c
+
+libmpers_m32_a-block.obj: block.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-block.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-block.Tpo -c -o libmpers_m32_a-block.obj `if test -f 'block.c'; then $(CYGPATH_W) 'block.c'; else $(CYGPATH_W) '$(srcdir)/block.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-block.Tpo $(DEPDIR)/libmpers_m32_a-block.Po
+# $(AM_V_CC)source='block.c' object='libmpers_m32_a-block.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-block.obj `if test -f 'block.c'; then $(CYGPATH_W) 'block.c'; else $(CYGPATH_W) '$(srcdir)/block.c'; fi`
+
+libmpers_m32_a-btrfs.o: btrfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-btrfs.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-btrfs.Tpo -c -o libmpers_m32_a-btrfs.o `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-btrfs.Tpo $(DEPDIR)/libmpers_m32_a-btrfs.Po
+# $(AM_V_CC)source='btrfs.c' object='libmpers_m32_a-btrfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-btrfs.o `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c
+
+libmpers_m32_a-btrfs.obj: btrfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-btrfs.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-btrfs.Tpo -c -o libmpers_m32_a-btrfs.obj `if test -f 'btrfs.c'; then $(CYGPATH_W) 'btrfs.c'; else $(CYGPATH_W) '$(srcdir)/btrfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-btrfs.Tpo $(DEPDIR)/libmpers_m32_a-btrfs.Po
+# $(AM_V_CC)source='btrfs.c' object='libmpers_m32_a-btrfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-btrfs.obj `if test -f 'btrfs.c'; then $(CYGPATH_W) 'btrfs.c'; else $(CYGPATH_W) '$(srcdir)/btrfs.c'; fi`
+
+libmpers_m32_a-dirent.o: dirent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-dirent.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-dirent.Tpo -c -o libmpers_m32_a-dirent.o `test -f 'dirent.c' || echo '$(srcdir)/'`dirent.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-dirent.Tpo $(DEPDIR)/libmpers_m32_a-dirent.Po
+# $(AM_V_CC)source='dirent.c' object='libmpers_m32_a-dirent.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-dirent.o `test -f 'dirent.c' || echo '$(srcdir)/'`dirent.c
+
+libmpers_m32_a-dirent.obj: dirent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-dirent.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-dirent.Tpo -c -o libmpers_m32_a-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-dirent.Tpo $(DEPDIR)/libmpers_m32_a-dirent.Po
+# $(AM_V_CC)source='dirent.c' object='libmpers_m32_a-dirent.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
+
+libmpers_m32_a-evdev_mpers.o: evdev_mpers.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-evdev_mpers.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo -c -o libmpers_m32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_m32_a-evdev_mpers.Po
+# $(AM_V_CC)source='evdev_mpers.c' object='libmpers_m32_a-evdev_mpers.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+
+libmpers_m32_a-evdev_mpers.obj: evdev_mpers.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-evdev_mpers.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo -c -o libmpers_m32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_m32_a-evdev_mpers.Po
+# $(AM_V_CC)source='evdev_mpers.c' object='libmpers_m32_a-evdev_mpers.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+
+libmpers_m32_a-fetch_bpf_fprog.o: fetch_bpf_fprog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_bpf_fprog.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Tpo -c -o libmpers_m32_a-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Tpo $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Po
+# $(AM_V_CC)source='fetch_bpf_fprog.c' object='libmpers_m32_a-fetch_bpf_fprog.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
+
+libmpers_m32_a-fetch_bpf_fprog.obj: fetch_bpf_fprog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_bpf_fprog.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Tpo -c -o libmpers_m32_a-fetch_bpf_fprog.obj `if test -f 'fetch_bpf_fprog.c'; then $(CYGPATH_W) 'fetch_bpf_fprog.c'; else $(CYGPATH_W) '$(srcdir)/fetch_bpf_fprog.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Tpo $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Po
+# $(AM_V_CC)source='fetch_bpf_fprog.c' object='libmpers_m32_a-fetch_bpf_fprog.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_bpf_fprog.obj `if test -f 'fetch_bpf_fprog.c'; then $(CYGPATH_W) 'fetch_bpf_fprog.c'; else $(CYGPATH_W) '$(srcdir)/fetch_bpf_fprog.c'; fi`
+
+libmpers_m32_a-fetch_struct_flock.o: fetch_struct_flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_flock.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Tpo -c -o libmpers_m32_a-fetch_struct_flock.o `test -f 'fetch_struct_flock.c' || echo '$(srcdir)/'`fetch_struct_flock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Po
+# $(AM_V_CC)source='fetch_struct_flock.c' object='libmpers_m32_a-fetch_struct_flock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_flock.o `test -f 'fetch_struct_flock.c' || echo '$(srcdir)/'`fetch_struct_flock.c
+
+libmpers_m32_a-fetch_struct_flock.obj: fetch_struct_flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_flock.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Tpo -c -o libmpers_m32_a-fetch_struct_flock.obj `if test -f 'fetch_struct_flock.c'; then $(CYGPATH_W) 'fetch_struct_flock.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_flock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Po
+# $(AM_V_CC)source='fetch_struct_flock.c' object='libmpers_m32_a-fetch_struct_flock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_flock.obj `if test -f 'fetch_struct_flock.c'; then $(CYGPATH_W) 'fetch_struct_flock.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_flock.c'; fi`
+
+libmpers_m32_a-fetch_struct_keyctl_kdf_params.o: fetch_struct_keyctl_kdf_params.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_keyctl_kdf_params.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Tpo -c -o libmpers_m32_a-fetch_struct_keyctl_kdf_params.o `test -f 'fetch_struct_keyctl_kdf_params.c' || echo '$(srcdir)/'`fetch_struct_keyctl_kdf_params.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Po
+# $(AM_V_CC)source='fetch_struct_keyctl_kdf_params.c' object='libmpers_m32_a-fetch_struct_keyctl_kdf_params.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_keyctl_kdf_params.o `test -f 'fetch_struct_keyctl_kdf_params.c' || echo '$(srcdir)/'`fetch_struct_keyctl_kdf_params.c
+
+libmpers_m32_a-fetch_struct_keyctl_kdf_params.obj: fetch_struct_keyctl_kdf_params.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_keyctl_kdf_params.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Tpo -c -o libmpers_m32_a-fetch_struct_keyctl_kdf_params.obj `if test -f 'fetch_struct_keyctl_kdf_params.c'; then $(CYGPATH_W) 'fetch_struct_keyctl_kdf_params.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_keyctl_kdf_params.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Po
+# $(AM_V_CC)source='fetch_struct_keyctl_kdf_params.c' object='libmpers_m32_a-fetch_struct_keyctl_kdf_params.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_keyctl_kdf_params.obj `if test -f 'fetch_struct_keyctl_kdf_params.c'; then $(CYGPATH_W) 'fetch_struct_keyctl_kdf_params.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_keyctl_kdf_params.c'; fi`
+
+libmpers_m32_a-fetch_struct_mmsghdr.o: fetch_struct_mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_mmsghdr.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Tpo -c -o libmpers_m32_a-fetch_struct_mmsghdr.o `test -f 'fetch_struct_mmsghdr.c' || echo '$(srcdir)/'`fetch_struct_mmsghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Po
+# $(AM_V_CC)source='fetch_struct_mmsghdr.c' object='libmpers_m32_a-fetch_struct_mmsghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_mmsghdr.o `test -f 'fetch_struct_mmsghdr.c' || echo '$(srcdir)/'`fetch_struct_mmsghdr.c
+
+libmpers_m32_a-fetch_struct_mmsghdr.obj: fetch_struct_mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_mmsghdr.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Tpo -c -o libmpers_m32_a-fetch_struct_mmsghdr.obj `if test -f 'fetch_struct_mmsghdr.c'; then $(CYGPATH_W) 'fetch_struct_mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_mmsghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_mmsghdr.Po
+# $(AM_V_CC)source='fetch_struct_mmsghdr.c' object='libmpers_m32_a-fetch_struct_mmsghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_mmsghdr.obj `if test -f 'fetch_struct_mmsghdr.c'; then $(CYGPATH_W) 'fetch_struct_mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_mmsghdr.c'; fi`
+
+libmpers_m32_a-fetch_struct_msghdr.o: fetch_struct_msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_msghdr.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Tpo -c -o libmpers_m32_a-fetch_struct_msghdr.o `test -f 'fetch_struct_msghdr.c' || echo '$(srcdir)/'`fetch_struct_msghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Po
+# $(AM_V_CC)source='fetch_struct_msghdr.c' object='libmpers_m32_a-fetch_struct_msghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_msghdr.o `test -f 'fetch_struct_msghdr.c' || echo '$(srcdir)/'`fetch_struct_msghdr.c
+
+libmpers_m32_a-fetch_struct_msghdr.obj: fetch_struct_msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_msghdr.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Tpo -c -o libmpers_m32_a-fetch_struct_msghdr.obj `if test -f 'fetch_struct_msghdr.c'; then $(CYGPATH_W) 'fetch_struct_msghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_msghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_msghdr.Po
+# $(AM_V_CC)source='fetch_struct_msghdr.c' object='libmpers_m32_a-fetch_struct_msghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_msghdr.obj `if test -f 'fetch_struct_msghdr.c'; then $(CYGPATH_W) 'fetch_struct_msghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_msghdr.c'; fi`
+
+libmpers_m32_a-fetch_struct_stat.o: fetch_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_stat.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Tpo -c -o libmpers_m32_a-fetch_struct_stat.o `test -f 'fetch_struct_stat.c' || echo '$(srcdir)/'`fetch_struct_stat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Po
+# $(AM_V_CC)source='fetch_struct_stat.c' object='libmpers_m32_a-fetch_struct_stat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_stat.o `test -f 'fetch_struct_stat.c' || echo '$(srcdir)/'`fetch_struct_stat.c
+
+libmpers_m32_a-fetch_struct_stat.obj: fetch_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_stat.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Tpo -c -o libmpers_m32_a-fetch_struct_stat.obj `if test -f 'fetch_struct_stat.c'; then $(CYGPATH_W) 'fetch_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_stat.Po
+# $(AM_V_CC)source='fetch_struct_stat.c' object='libmpers_m32_a-fetch_struct_stat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_stat.obj `if test -f 'fetch_struct_stat.c'; then $(CYGPATH_W) 'fetch_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat.c'; fi`
+
+libmpers_m32_a-fetch_struct_stat64.o: fetch_struct_stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_stat64.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Tpo -c -o libmpers_m32_a-fetch_struct_stat64.o `test -f 'fetch_struct_stat64.c' || echo '$(srcdir)/'`fetch_struct_stat64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Po
+# $(AM_V_CC)source='fetch_struct_stat64.c' object='libmpers_m32_a-fetch_struct_stat64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_stat64.o `test -f 'fetch_struct_stat64.c' || echo '$(srcdir)/'`fetch_struct_stat64.c
+
+libmpers_m32_a-fetch_struct_stat64.obj: fetch_struct_stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_stat64.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Tpo -c -o libmpers_m32_a-fetch_struct_stat64.obj `if test -f 'fetch_struct_stat64.c'; then $(CYGPATH_W) 'fetch_struct_stat64.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat64.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_stat64.Po
+# $(AM_V_CC)source='fetch_struct_stat64.c' object='libmpers_m32_a-fetch_struct_stat64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_stat64.obj `if test -f 'fetch_struct_stat64.c'; then $(CYGPATH_W) 'fetch_struct_stat64.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat64.c'; fi`
+
+libmpers_m32_a-fetch_struct_statfs.o: fetch_struct_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_statfs.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Tpo -c -o libmpers_m32_a-fetch_struct_statfs.o `test -f 'fetch_struct_statfs.c' || echo '$(srcdir)/'`fetch_struct_statfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Po
+# $(AM_V_CC)source='fetch_struct_statfs.c' object='libmpers_m32_a-fetch_struct_statfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_statfs.o `test -f 'fetch_struct_statfs.c' || echo '$(srcdir)/'`fetch_struct_statfs.c
+
+libmpers_m32_a-fetch_struct_statfs.obj: fetch_struct_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_struct_statfs.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Tpo -c -o libmpers_m32_a-fetch_struct_statfs.obj `if test -f 'fetch_struct_statfs.c'; then $(CYGPATH_W) 'fetch_struct_statfs.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_statfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Tpo $(DEPDIR)/libmpers_m32_a-fetch_struct_statfs.Po
+# $(AM_V_CC)source='fetch_struct_statfs.c' object='libmpers_m32_a-fetch_struct_statfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-fetch_struct_statfs.obj `if test -f 'fetch_struct_statfs.c'; then $(CYGPATH_W) 'fetch_struct_statfs.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_statfs.c'; fi`
+
+libmpers_m32_a-hdio.o: hdio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-hdio.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-hdio.Tpo -c -o libmpers_m32_a-hdio.o `test -f 'hdio.c' || echo '$(srcdir)/'`hdio.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-hdio.Tpo $(DEPDIR)/libmpers_m32_a-hdio.Po
+# $(AM_V_CC)source='hdio.c' object='libmpers_m32_a-hdio.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-hdio.o `test -f 'hdio.c' || echo '$(srcdir)/'`hdio.c
+
+libmpers_m32_a-hdio.obj: hdio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-hdio.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-hdio.Tpo -c -o libmpers_m32_a-hdio.obj `if test -f 'hdio.c'; then $(CYGPATH_W) 'hdio.c'; else $(CYGPATH_W) '$(srcdir)/hdio.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-hdio.Tpo $(DEPDIR)/libmpers_m32_a-hdio.Po
+# $(AM_V_CC)source='hdio.c' object='libmpers_m32_a-hdio.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-hdio.obj `if test -f 'hdio.c'; then $(CYGPATH_W) 'hdio.c'; else $(CYGPATH_W) '$(srcdir)/hdio.c'; fi`
+
+libmpers_m32_a-ipc_msgctl.o: ipc_msgctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-ipc_msgctl.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-ipc_msgctl.Tpo -c -o libmpers_m32_a-ipc_msgctl.o `test -f 'ipc_msgctl.c' || echo '$(srcdir)/'`ipc_msgctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-ipc_msgctl.Tpo $(DEPDIR)/libmpers_m32_a-ipc_msgctl.Po
+# $(AM_V_CC)source='ipc_msgctl.c' object='libmpers_m32_a-ipc_msgctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-ipc_msgctl.o `test -f 'ipc_msgctl.c' || echo '$(srcdir)/'`ipc_msgctl.c
+
+libmpers_m32_a-ipc_msgctl.obj: ipc_msgctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-ipc_msgctl.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-ipc_msgctl.Tpo -c -o libmpers_m32_a-ipc_msgctl.obj `if test -f 'ipc_msgctl.c'; then $(CYGPATH_W) 'ipc_msgctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msgctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-ipc_msgctl.Tpo $(DEPDIR)/libmpers_m32_a-ipc_msgctl.Po
+# $(AM_V_CC)source='ipc_msgctl.c' object='libmpers_m32_a-ipc_msgctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-ipc_msgctl.obj `if test -f 'ipc_msgctl.c'; then $(CYGPATH_W) 'ipc_msgctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msgctl.c'; fi`
+
+libmpers_m32_a-ipc_shmctl.o: ipc_shmctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-ipc_shmctl.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-ipc_shmctl.Tpo -c -o libmpers_m32_a-ipc_shmctl.o `test -f 'ipc_shmctl.c' || echo '$(srcdir)/'`ipc_shmctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-ipc_shmctl.Tpo $(DEPDIR)/libmpers_m32_a-ipc_shmctl.Po
+# $(AM_V_CC)source='ipc_shmctl.c' object='libmpers_m32_a-ipc_shmctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-ipc_shmctl.o `test -f 'ipc_shmctl.c' || echo '$(srcdir)/'`ipc_shmctl.c
+
+libmpers_m32_a-ipc_shmctl.obj: ipc_shmctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-ipc_shmctl.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-ipc_shmctl.Tpo -c -o libmpers_m32_a-ipc_shmctl.obj `if test -f 'ipc_shmctl.c'; then $(CYGPATH_W) 'ipc_shmctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shmctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-ipc_shmctl.Tpo $(DEPDIR)/libmpers_m32_a-ipc_shmctl.Po
+# $(AM_V_CC)source='ipc_shmctl.c' object='libmpers_m32_a-ipc_shmctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-ipc_shmctl.obj `if test -f 'ipc_shmctl.c'; then $(CYGPATH_W) 'ipc_shmctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shmctl.c'; fi`
+
+libmpers_m32_a-loop.o: loop.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-loop.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-loop.Tpo -c -o libmpers_m32_a-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-loop.Tpo $(DEPDIR)/libmpers_m32_a-loop.Po
+# $(AM_V_CC)source='loop.c' object='libmpers_m32_a-loop.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
+
+libmpers_m32_a-loop.obj: loop.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-loop.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-loop.Tpo -c -o libmpers_m32_a-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-loop.Tpo $(DEPDIR)/libmpers_m32_a-loop.Po
+# $(AM_V_CC)source='loop.c' object='libmpers_m32_a-loop.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
+
+libmpers_m32_a-mtd.o: mtd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-mtd.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-mtd.Tpo -c -o libmpers_m32_a-mtd.o `test -f 'mtd.c' || echo '$(srcdir)/'`mtd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-mtd.Tpo $(DEPDIR)/libmpers_m32_a-mtd.Po
+# $(AM_V_CC)source='mtd.c' object='libmpers_m32_a-mtd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-mtd.o `test -f 'mtd.c' || echo '$(srcdir)/'`mtd.c
+
+libmpers_m32_a-mtd.obj: mtd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-mtd.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-mtd.Tpo -c -o libmpers_m32_a-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-mtd.Tpo $(DEPDIR)/libmpers_m32_a-mtd.Po
+# $(AM_V_CC)source='mtd.c' object='libmpers_m32_a-mtd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi`
+
+libmpers_m32_a-print_group_req.o: print_group_req.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_group_req.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_group_req.Tpo -c -o libmpers_m32_a-print_group_req.o `test -f 'print_group_req.c' || echo '$(srcdir)/'`print_group_req.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_group_req.Tpo $(DEPDIR)/libmpers_m32_a-print_group_req.Po
+# $(AM_V_CC)source='print_group_req.c' object='libmpers_m32_a-print_group_req.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_group_req.o `test -f 'print_group_req.c' || echo '$(srcdir)/'`print_group_req.c
+
+libmpers_m32_a-print_group_req.obj: print_group_req.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_group_req.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_group_req.Tpo -c -o libmpers_m32_a-print_group_req.obj `if test -f 'print_group_req.c'; then $(CYGPATH_W) 'print_group_req.c'; else $(CYGPATH_W) '$(srcdir)/print_group_req.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_group_req.Tpo $(DEPDIR)/libmpers_m32_a-print_group_req.Po
+# $(AM_V_CC)source='print_group_req.c' object='libmpers_m32_a-print_group_req.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_group_req.obj `if test -f 'print_group_req.c'; then $(CYGPATH_W) 'print_group_req.c'; else $(CYGPATH_W) '$(srcdir)/print_group_req.c'; fi`
+
+libmpers_m32_a-print_mq_attr.o: print_mq_attr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_mq_attr.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_mq_attr.Tpo -c -o libmpers_m32_a-print_mq_attr.o `test -f 'print_mq_attr.c' || echo '$(srcdir)/'`print_mq_attr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_mq_attr.Tpo $(DEPDIR)/libmpers_m32_a-print_mq_attr.Po
+# $(AM_V_CC)source='print_mq_attr.c' object='libmpers_m32_a-print_mq_attr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_mq_attr.o `test -f 'print_mq_attr.c' || echo '$(srcdir)/'`print_mq_attr.c
+
+libmpers_m32_a-print_mq_attr.obj: print_mq_attr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_mq_attr.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_mq_attr.Tpo -c -o libmpers_m32_a-print_mq_attr.obj `if test -f 'print_mq_attr.c'; then $(CYGPATH_W) 'print_mq_attr.c'; else $(CYGPATH_W) '$(srcdir)/print_mq_attr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_mq_attr.Tpo $(DEPDIR)/libmpers_m32_a-print_mq_attr.Po
+# $(AM_V_CC)source='print_mq_attr.c' object='libmpers_m32_a-print_mq_attr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_mq_attr.obj `if test -f 'print_mq_attr.c'; then $(CYGPATH_W) 'print_mq_attr.c'; else $(CYGPATH_W) '$(srcdir)/print_mq_attr.c'; fi`
+
+libmpers_m32_a-print_msgbuf.o: print_msgbuf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_msgbuf.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_msgbuf.Tpo -c -o libmpers_m32_a-print_msgbuf.o `test -f 'print_msgbuf.c' || echo '$(srcdir)/'`print_msgbuf.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_msgbuf.Tpo $(DEPDIR)/libmpers_m32_a-print_msgbuf.Po
+# $(AM_V_CC)source='print_msgbuf.c' object='libmpers_m32_a-print_msgbuf.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_msgbuf.o `test -f 'print_msgbuf.c' || echo '$(srcdir)/'`print_msgbuf.c
+
+libmpers_m32_a-print_msgbuf.obj: print_msgbuf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_msgbuf.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_msgbuf.Tpo -c -o libmpers_m32_a-print_msgbuf.obj `if test -f 'print_msgbuf.c'; then $(CYGPATH_W) 'print_msgbuf.c'; else $(CYGPATH_W) '$(srcdir)/print_msgbuf.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_msgbuf.Tpo $(DEPDIR)/libmpers_m32_a-print_msgbuf.Po
+# $(AM_V_CC)source='print_msgbuf.c' object='libmpers_m32_a-print_msgbuf.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_msgbuf.obj `if test -f 'print_msgbuf.c'; then $(CYGPATH_W) 'print_msgbuf.c'; else $(CYGPATH_W) '$(srcdir)/print_msgbuf.c'; fi`
+
+libmpers_m32_a-print_sg_req_info.o: print_sg_req_info.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_sg_req_info.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_sg_req_info.Tpo -c -o libmpers_m32_a-print_sg_req_info.o `test -f 'print_sg_req_info.c' || echo '$(srcdir)/'`print_sg_req_info.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_sg_req_info.Tpo $(DEPDIR)/libmpers_m32_a-print_sg_req_info.Po
+# $(AM_V_CC)source='print_sg_req_info.c' object='libmpers_m32_a-print_sg_req_info.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_sg_req_info.o `test -f 'print_sg_req_info.c' || echo '$(srcdir)/'`print_sg_req_info.c
+
+libmpers_m32_a-print_sg_req_info.obj: print_sg_req_info.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_sg_req_info.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_sg_req_info.Tpo -c -o libmpers_m32_a-print_sg_req_info.obj `if test -f 'print_sg_req_info.c'; then $(CYGPATH_W) 'print_sg_req_info.c'; else $(CYGPATH_W) '$(srcdir)/print_sg_req_info.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_sg_req_info.Tpo $(DEPDIR)/libmpers_m32_a-print_sg_req_info.Po
+# $(AM_V_CC)source='print_sg_req_info.c' object='libmpers_m32_a-print_sg_req_info.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_sg_req_info.obj `if test -f 'print_sg_req_info.c'; then $(CYGPATH_W) 'print_sg_req_info.c'; else $(CYGPATH_W) '$(srcdir)/print_sg_req_info.c'; fi`
+
+libmpers_m32_a-print_sigevent.o: print_sigevent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_sigevent.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_sigevent.Tpo -c -o libmpers_m32_a-print_sigevent.o `test -f 'print_sigevent.c' || echo '$(srcdir)/'`print_sigevent.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_sigevent.Tpo $(DEPDIR)/libmpers_m32_a-print_sigevent.Po
+# $(AM_V_CC)source='print_sigevent.c' object='libmpers_m32_a-print_sigevent.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_sigevent.o `test -f 'print_sigevent.c' || echo '$(srcdir)/'`print_sigevent.c
+
+libmpers_m32_a-print_sigevent.obj: print_sigevent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_sigevent.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_sigevent.Tpo -c -o libmpers_m32_a-print_sigevent.obj `if test -f 'print_sigevent.c'; then $(CYGPATH_W) 'print_sigevent.c'; else $(CYGPATH_W) '$(srcdir)/print_sigevent.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_sigevent.Tpo $(DEPDIR)/libmpers_m32_a-print_sigevent.Po
+# $(AM_V_CC)source='print_sigevent.c' object='libmpers_m32_a-print_sigevent.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_sigevent.obj `if test -f 'print_sigevent.c'; then $(CYGPATH_W) 'print_sigevent.c'; else $(CYGPATH_W) '$(srcdir)/print_sigevent.c'; fi`
+
+libmpers_m32_a-print_time.o: print_time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_time.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_time.Tpo -c -o libmpers_m32_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_time.Tpo $(DEPDIR)/libmpers_m32_a-print_time.Po
+# $(AM_V_CC)source='print_time.c' object='libmpers_m32_a-print_time.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libmpers_m32_a-print_time.obj: print_time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_time.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_time.Tpo -c -o libmpers_m32_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)/libmpers_m32_a-print_time.Tpo $(DEPDIR)/libmpers_m32_a-print_time.Po
+# $(AM_V_CC)source='print_time.c' object='libmpers_m32_a-print_time.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+
+libmpers_m32_a-print_timespec.o: print_timespec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_timespec.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_timespec.Tpo -c -o libmpers_m32_a-print_timespec.o `test -f 'print_timespec.c' || echo '$(srcdir)/'`print_timespec.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_timespec.Tpo $(DEPDIR)/libmpers_m32_a-print_timespec.Po
+# $(AM_V_CC)source='print_timespec.c' object='libmpers_m32_a-print_timespec.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_timespec.o `test -f 'print_timespec.c' || echo '$(srcdir)/'`print_timespec.c
+
+libmpers_m32_a-print_timespec.obj: print_timespec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_timespec.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_timespec.Tpo -c -o libmpers_m32_a-print_timespec.obj `if test -f 'print_timespec.c'; then $(CYGPATH_W) 'print_timespec.c'; else $(CYGPATH_W) '$(srcdir)/print_timespec.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_timespec.Tpo $(DEPDIR)/libmpers_m32_a-print_timespec.Po
+# $(AM_V_CC)source='print_timespec.c' object='libmpers_m32_a-print_timespec.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_timespec.obj `if test -f 'print_timespec.c'; then $(CYGPATH_W) 'print_timespec.c'; else $(CYGPATH_W) '$(srcdir)/print_timespec.c'; fi`
+
+libmpers_m32_a-print_timeval.o: print_timeval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_timeval.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_timeval.Tpo -c -o libmpers_m32_a-print_timeval.o `test -f 'print_timeval.c' || echo '$(srcdir)/'`print_timeval.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_timeval.Tpo $(DEPDIR)/libmpers_m32_a-print_timeval.Po
+# $(AM_V_CC)source='print_timeval.c' object='libmpers_m32_a-print_timeval.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_timeval.o `test -f 'print_timeval.c' || echo '$(srcdir)/'`print_timeval.c
+
+libmpers_m32_a-print_timeval.obj: print_timeval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_timeval.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_timeval.Tpo -c -o libmpers_m32_a-print_timeval.obj `if test -f 'print_timeval.c'; then $(CYGPATH_W) 'print_timeval.c'; else $(CYGPATH_W) '$(srcdir)/print_timeval.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_timeval.Tpo $(DEPDIR)/libmpers_m32_a-print_timeval.Po
+# $(AM_V_CC)source='print_timeval.c' object='libmpers_m32_a-print_timeval.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_timeval.obj `if test -f 'print_timeval.c'; then $(CYGPATH_W) 'print_timeval.c'; else $(CYGPATH_W) '$(srcdir)/print_timeval.c'; fi`
+
+libmpers_m32_a-print_timex.o: print_timex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_timex.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_timex.Tpo -c -o libmpers_m32_a-print_timex.o `test -f 'print_timex.c' || echo '$(srcdir)/'`print_timex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_timex.Tpo $(DEPDIR)/libmpers_m32_a-print_timex.Po
+# $(AM_V_CC)source='print_timex.c' object='libmpers_m32_a-print_timex.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_timex.o `test -f 'print_timex.c' || echo '$(srcdir)/'`print_timex.c
+
+libmpers_m32_a-print_timex.obj: print_timex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-print_timex.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-print_timex.Tpo -c -o libmpers_m32_a-print_timex.obj `if test -f 'print_timex.c'; then $(CYGPATH_W) 'print_timex.c'; else $(CYGPATH_W) '$(srcdir)/print_timex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-print_timex.Tpo $(DEPDIR)/libmpers_m32_a-print_timex.Po
+# $(AM_V_CC)source='print_timex.c' object='libmpers_m32_a-print_timex.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-print_timex.obj `if test -f 'print_timex.c'; then $(CYGPATH_W) 'print_timex.c'; else $(CYGPATH_W) '$(srcdir)/print_timex.c'; fi`
+
+libmpers_m32_a-printrusage.o: printrusage.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-printrusage.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-printrusage.Tpo -c -o libmpers_m32_a-printrusage.o `test -f 'printrusage.c' || echo '$(srcdir)/'`printrusage.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-printrusage.Tpo $(DEPDIR)/libmpers_m32_a-printrusage.Po
+# $(AM_V_CC)source='printrusage.c' object='libmpers_m32_a-printrusage.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-printrusage.o `test -f 'printrusage.c' || echo '$(srcdir)/'`printrusage.c
+
+libmpers_m32_a-printrusage.obj: printrusage.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-printrusage.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-printrusage.Tpo -c -o libmpers_m32_a-printrusage.obj `if test -f 'printrusage.c'; then $(CYGPATH_W) 'printrusage.c'; else $(CYGPATH_W) '$(srcdir)/printrusage.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-printrusage.Tpo $(DEPDIR)/libmpers_m32_a-printrusage.Po
+# $(AM_V_CC)source='printrusage.c' object='libmpers_m32_a-printrusage.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-printrusage.obj `if test -f 'printrusage.c'; then $(CYGPATH_W) 'printrusage.c'; else $(CYGPATH_W) '$(srcdir)/printrusage.c'; fi`
+
+libmpers_m32_a-printsiginfo.o: printsiginfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-printsiginfo.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-printsiginfo.Tpo -c -o libmpers_m32_a-printsiginfo.o `test -f 'printsiginfo.c' || echo '$(srcdir)/'`printsiginfo.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-printsiginfo.Tpo $(DEPDIR)/libmpers_m32_a-printsiginfo.Po
+# $(AM_V_CC)source='printsiginfo.c' object='libmpers_m32_a-printsiginfo.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-printsiginfo.o `test -f 'printsiginfo.c' || echo '$(srcdir)/'`printsiginfo.c
+
+libmpers_m32_a-printsiginfo.obj: printsiginfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-printsiginfo.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-printsiginfo.Tpo -c -o libmpers_m32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-printsiginfo.Tpo $(DEPDIR)/libmpers_m32_a-printsiginfo.Po
+# $(AM_V_CC)source='printsiginfo.c' object='libmpers_m32_a-printsiginfo.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
+
+libmpers_m32_a-rt_sigreturn.o: rt_sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo -c -o libmpers_m32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+# $(AM_V_CC)source='rt_sigreturn.c' object='libmpers_m32_a-rt_sigreturn.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+libmpers_m32_a-rt_sigreturn.obj: rt_sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo -c -o libmpers_m32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+# $(AM_V_CC)source='rt_sigreturn.c' object='libmpers_m32_a-rt_sigreturn.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
+libmpers_m32_a-rtc.o: rtc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rtc.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rtc.Tpo -c -o libmpers_m32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rtc.Tpo $(DEPDIR)/libmpers_m32_a-rtc.Po
+# $(AM_V_CC)source='rtc.c' object='libmpers_m32_a-rtc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
+
+libmpers_m32_a-rtc.obj: rtc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rtc.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rtc.Tpo -c -o libmpers_m32_a-rtc.obj `if test -f 'rtc.c'; then $(CYGPATH_W) 'rtc.c'; else $(CYGPATH_W) '$(srcdir)/rtc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rtc.Tpo $(DEPDIR)/libmpers_m32_a-rtc.Po
+# $(AM_V_CC)source='rtc.c' object='libmpers_m32_a-rtc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rtc.obj `if test -f 'rtc.c'; then $(CYGPATH_W) 'rtc.c'; else $(CYGPATH_W) '$(srcdir)/rtc.c'; fi`
+
+libmpers_m32_a-sg_io_v3.o: sg_io_v3.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sg_io_v3.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sg_io_v3.Tpo -c -o libmpers_m32_a-sg_io_v3.o `test -f 'sg_io_v3.c' || echo '$(srcdir)/'`sg_io_v3.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sg_io_v3.Tpo $(DEPDIR)/libmpers_m32_a-sg_io_v3.Po
+# $(AM_V_CC)source='sg_io_v3.c' object='libmpers_m32_a-sg_io_v3.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sg_io_v3.o `test -f 'sg_io_v3.c' || echo '$(srcdir)/'`sg_io_v3.c
+
+libmpers_m32_a-sg_io_v3.obj: sg_io_v3.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sg_io_v3.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sg_io_v3.Tpo -c -o libmpers_m32_a-sg_io_v3.obj `if test -f 'sg_io_v3.c'; then $(CYGPATH_W) 'sg_io_v3.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v3.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sg_io_v3.Tpo $(DEPDIR)/libmpers_m32_a-sg_io_v3.Po
+# $(AM_V_CC)source='sg_io_v3.c' object='libmpers_m32_a-sg_io_v3.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sg_io_v3.obj `if test -f 'sg_io_v3.c'; then $(CYGPATH_W) 'sg_io_v3.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v3.c'; fi`
+
+libmpers_m32_a-sigaltstack.o: sigaltstack.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sigaltstack.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sigaltstack.Tpo -c -o libmpers_m32_a-sigaltstack.o `test -f 'sigaltstack.c' || echo '$(srcdir)/'`sigaltstack.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sigaltstack.Tpo $(DEPDIR)/libmpers_m32_a-sigaltstack.Po
+# $(AM_V_CC)source='sigaltstack.c' object='libmpers_m32_a-sigaltstack.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sigaltstack.o `test -f 'sigaltstack.c' || echo '$(srcdir)/'`sigaltstack.c
+
+libmpers_m32_a-sigaltstack.obj: sigaltstack.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sigaltstack.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sigaltstack.Tpo -c -o libmpers_m32_a-sigaltstack.obj `if test -f 'sigaltstack.c'; then $(CYGPATH_W) 'sigaltstack.c'; else $(CYGPATH_W) '$(srcdir)/sigaltstack.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sigaltstack.Tpo $(DEPDIR)/libmpers_m32_a-sigaltstack.Po
+# $(AM_V_CC)source='sigaltstack.c' object='libmpers_m32_a-sigaltstack.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sigaltstack.obj `if test -f 'sigaltstack.c'; then $(CYGPATH_W) 'sigaltstack.c'; else $(CYGPATH_W) '$(srcdir)/sigaltstack.c'; fi`
+
+libmpers_m32_a-sock.o: sock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sock.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sock.Tpo -c -o libmpers_m32_a-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sock.Tpo $(DEPDIR)/libmpers_m32_a-sock.Po
+# $(AM_V_CC)source='sock.c' object='libmpers_m32_a-sock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
+
+libmpers_m32_a-sock.obj: sock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sock.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sock.Tpo -c -o libmpers_m32_a-sock.obj `if test -f 'sock.c'; then $(CYGPATH_W) 'sock.c'; else $(CYGPATH_W) '$(srcdir)/sock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sock.Tpo $(DEPDIR)/libmpers_m32_a-sock.Po
+# $(AM_V_CC)source='sock.c' object='libmpers_m32_a-sock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sock.obj `if test -f 'sock.c'; then $(CYGPATH_W) 'sock.c'; else $(CYGPATH_W) '$(srcdir)/sock.c'; fi`
+
+libmpers_m32_a-sysinfo.o: sysinfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sysinfo.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sysinfo.Tpo -c -o libmpers_m32_a-sysinfo.o `test -f 'sysinfo.c' || echo '$(srcdir)/'`sysinfo.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sysinfo.Tpo $(DEPDIR)/libmpers_m32_a-sysinfo.Po
+# $(AM_V_CC)source='sysinfo.c' object='libmpers_m32_a-sysinfo.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sysinfo.o `test -f 'sysinfo.c' || echo '$(srcdir)/'`sysinfo.c
+
+libmpers_m32_a-sysinfo.obj: sysinfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-sysinfo.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-sysinfo.Tpo -c -o libmpers_m32_a-sysinfo.obj `if test -f 'sysinfo.c'; then $(CYGPATH_W) 'sysinfo.c'; else $(CYGPATH_W) '$(srcdir)/sysinfo.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-sysinfo.Tpo $(DEPDIR)/libmpers_m32_a-sysinfo.Po
+# $(AM_V_CC)source='sysinfo.c' object='libmpers_m32_a-sysinfo.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-sysinfo.obj `if test -f 'sysinfo.c'; then $(CYGPATH_W) 'sysinfo.c'; else $(CYGPATH_W) '$(srcdir)/sysinfo.c'; fi`
+
+libmpers_m32_a-times.o: times.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-times.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-times.Tpo -c -o libmpers_m32_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-times.Tpo $(DEPDIR)/libmpers_m32_a-times.Po
+# $(AM_V_CC)source='times.c' object='libmpers_m32_a-times.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c
+
+libmpers_m32_a-times.obj: times.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-times.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-times.Tpo -c -o libmpers_m32_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-times.Tpo $(DEPDIR)/libmpers_m32_a-times.Po
+# $(AM_V_CC)source='times.c' object='libmpers_m32_a-times.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
+
+libmpers_m32_a-ustat.o: ustat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-ustat.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-ustat.Tpo -c -o libmpers_m32_a-ustat.o `test -f 'ustat.c' || echo '$(srcdir)/'`ustat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-ustat.Tpo $(DEPDIR)/libmpers_m32_a-ustat.Po
+# $(AM_V_CC)source='ustat.c' object='libmpers_m32_a-ustat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-ustat.o `test -f 'ustat.c' || echo '$(srcdir)/'`ustat.c
+
+libmpers_m32_a-ustat.obj: ustat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-ustat.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-ustat.Tpo -c -o libmpers_m32_a-ustat.obj `if test -f 'ustat.c'; then $(CYGPATH_W) 'ustat.c'; else $(CYGPATH_W) '$(srcdir)/ustat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-ustat.Tpo $(DEPDIR)/libmpers_m32_a-ustat.Po
+# $(AM_V_CC)source='ustat.c' object='libmpers_m32_a-ustat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-ustat.obj `if test -f 'ustat.c'; then $(CYGPATH_W) 'ustat.c'; else $(CYGPATH_W) '$(srcdir)/ustat.c'; fi`
+
+libmpers_m32_a-utime.o: utime.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-utime.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-utime.Tpo -c -o libmpers_m32_a-utime.o `test -f 'utime.c' || echo '$(srcdir)/'`utime.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-utime.Tpo $(DEPDIR)/libmpers_m32_a-utime.Po
+# $(AM_V_CC)source='utime.c' object='libmpers_m32_a-utime.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-utime.o `test -f 'utime.c' || echo '$(srcdir)/'`utime.c
+
+libmpers_m32_a-utime.obj: utime.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-utime.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-utime.Tpo -c -o libmpers_m32_a-utime.obj `if test -f 'utime.c'; then $(CYGPATH_W) 'utime.c'; else $(CYGPATH_W) '$(srcdir)/utime.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-utime.Tpo $(DEPDIR)/libmpers_m32_a-utime.Po
+# $(AM_V_CC)source='utime.c' object='libmpers_m32_a-utime.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-utime.obj `if test -f 'utime.c'; then $(CYGPATH_W) 'utime.c'; else $(CYGPATH_W) '$(srcdir)/utime.c'; fi`
+
+libmpers_m32_a-v4l2.o: v4l2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-v4l2.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-v4l2.Tpo -c -o libmpers_m32_a-v4l2.o `test -f 'v4l2.c' || echo '$(srcdir)/'`v4l2.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-v4l2.Tpo $(DEPDIR)/libmpers_m32_a-v4l2.Po
+# $(AM_V_CC)source='v4l2.c' object='libmpers_m32_a-v4l2.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-v4l2.o `test -f 'v4l2.c' || echo '$(srcdir)/'`v4l2.c
+
+libmpers_m32_a-v4l2.obj: v4l2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-v4l2.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-v4l2.Tpo -c -o libmpers_m32_a-v4l2.obj `if test -f 'v4l2.c'; then $(CYGPATH_W) 'v4l2.c'; else $(CYGPATH_W) '$(srcdir)/v4l2.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-v4l2.Tpo $(DEPDIR)/libmpers_m32_a-v4l2.Po
+# $(AM_V_CC)source='v4l2.c' object='libmpers_m32_a-v4l2.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-v4l2.obj `if test -f 'v4l2.c'; then $(CYGPATH_W) 'v4l2.c'; else $(CYGPATH_W) '$(srcdir)/v4l2.c'; fi`
+
+libmpers_mx32_a-block.o: block.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-block.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-block.Tpo -c -o libmpers_mx32_a-block.o `test -f 'block.c' || echo '$(srcdir)/'`block.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-block.Tpo $(DEPDIR)/libmpers_mx32_a-block.Po
+# $(AM_V_CC)source='block.c' object='libmpers_mx32_a-block.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-block.o `test -f 'block.c' || echo '$(srcdir)/'`block.c
+
+libmpers_mx32_a-block.obj: block.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-block.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-block.Tpo -c -o libmpers_mx32_a-block.obj `if test -f 'block.c'; then $(CYGPATH_W) 'block.c'; else $(CYGPATH_W) '$(srcdir)/block.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-block.Tpo $(DEPDIR)/libmpers_mx32_a-block.Po
+# $(AM_V_CC)source='block.c' object='libmpers_mx32_a-block.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-block.obj `if test -f 'block.c'; then $(CYGPATH_W) 'block.c'; else $(CYGPATH_W) '$(srcdir)/block.c'; fi`
+
+libmpers_mx32_a-btrfs.o: btrfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-btrfs.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-btrfs.Tpo -c -o libmpers_mx32_a-btrfs.o `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-btrfs.Tpo $(DEPDIR)/libmpers_mx32_a-btrfs.Po
+# $(AM_V_CC)source='btrfs.c' object='libmpers_mx32_a-btrfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-btrfs.o `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c
+
+libmpers_mx32_a-btrfs.obj: btrfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-btrfs.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-btrfs.Tpo -c -o libmpers_mx32_a-btrfs.obj `if test -f 'btrfs.c'; then $(CYGPATH_W) 'btrfs.c'; else $(CYGPATH_W) '$(srcdir)/btrfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-btrfs.Tpo $(DEPDIR)/libmpers_mx32_a-btrfs.Po
+# $(AM_V_CC)source='btrfs.c' object='libmpers_mx32_a-btrfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-btrfs.obj `if test -f 'btrfs.c'; then $(CYGPATH_W) 'btrfs.c'; else $(CYGPATH_W) '$(srcdir)/btrfs.c'; fi`
+
+libmpers_mx32_a-dirent.o: dirent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-dirent.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-dirent.Tpo -c -o libmpers_mx32_a-dirent.o `test -f 'dirent.c' || echo '$(srcdir)/'`dirent.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-dirent.Tpo $(DEPDIR)/libmpers_mx32_a-dirent.Po
+# $(AM_V_CC)source='dirent.c' object='libmpers_mx32_a-dirent.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-dirent.o `test -f 'dirent.c' || echo '$(srcdir)/'`dirent.c
+
+libmpers_mx32_a-dirent.obj: dirent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-dirent.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-dirent.Tpo -c -o libmpers_mx32_a-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-dirent.Tpo $(DEPDIR)/libmpers_mx32_a-dirent.Po
+# $(AM_V_CC)source='dirent.c' object='libmpers_mx32_a-dirent.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
+
+libmpers_mx32_a-evdev_mpers.o: evdev_mpers.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-evdev_mpers.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo -c -o libmpers_mx32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Po
+# $(AM_V_CC)source='evdev_mpers.c' object='libmpers_mx32_a-evdev_mpers.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+
+libmpers_mx32_a-evdev_mpers.obj: evdev_mpers.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-evdev_mpers.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo -c -o libmpers_mx32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Po
+# $(AM_V_CC)source='evdev_mpers.c' object='libmpers_mx32_a-evdev_mpers.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+
+libmpers_mx32_a-fetch_bpf_fprog.o: fetch_bpf_fprog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_bpf_fprog.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Tpo -c -o libmpers_mx32_a-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Po
+# $(AM_V_CC)source='fetch_bpf_fprog.c' object='libmpers_mx32_a-fetch_bpf_fprog.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
+
+libmpers_mx32_a-fetch_bpf_fprog.obj: fetch_bpf_fprog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_bpf_fprog.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Tpo -c -o libmpers_mx32_a-fetch_bpf_fprog.obj `if test -f 'fetch_bpf_fprog.c'; then $(CYGPATH_W) 'fetch_bpf_fprog.c'; else $(CYGPATH_W) '$(srcdir)/fetch_bpf_fprog.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Po
+# $(AM_V_CC)source='fetch_bpf_fprog.c' object='libmpers_mx32_a-fetch_bpf_fprog.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_bpf_fprog.obj `if test -f 'fetch_bpf_fprog.c'; then $(CYGPATH_W) 'fetch_bpf_fprog.c'; else $(CYGPATH_W) '$(srcdir)/fetch_bpf_fprog.c'; fi`
+
+libmpers_mx32_a-fetch_struct_flock.o: fetch_struct_flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_flock.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Tpo -c -o libmpers_mx32_a-fetch_struct_flock.o `test -f 'fetch_struct_flock.c' || echo '$(srcdir)/'`fetch_struct_flock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Po
+# $(AM_V_CC)source='fetch_struct_flock.c' object='libmpers_mx32_a-fetch_struct_flock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_flock.o `test -f 'fetch_struct_flock.c' || echo '$(srcdir)/'`fetch_struct_flock.c
+
+libmpers_mx32_a-fetch_struct_flock.obj: fetch_struct_flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_flock.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Tpo -c -o libmpers_mx32_a-fetch_struct_flock.obj `if test -f 'fetch_struct_flock.c'; then $(CYGPATH_W) 'fetch_struct_flock.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_flock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Po
+# $(AM_V_CC)source='fetch_struct_flock.c' object='libmpers_mx32_a-fetch_struct_flock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_flock.obj `if test -f 'fetch_struct_flock.c'; then $(CYGPATH_W) 'fetch_struct_flock.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_flock.c'; fi`
+
+libmpers_mx32_a-fetch_struct_keyctl_kdf_params.o: fetch_struct_keyctl_kdf_params.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_keyctl_kdf_params.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Tpo -c -o libmpers_mx32_a-fetch_struct_keyctl_kdf_params.o `test -f 'fetch_struct_keyctl_kdf_params.c' || echo '$(srcdir)/'`fetch_struct_keyctl_kdf_params.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Po
+# $(AM_V_CC)source='fetch_struct_keyctl_kdf_params.c' object='libmpers_mx32_a-fetch_struct_keyctl_kdf_params.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_keyctl_kdf_params.o `test -f 'fetch_struct_keyctl_kdf_params.c' || echo '$(srcdir)/'`fetch_struct_keyctl_kdf_params.c
+
+libmpers_mx32_a-fetch_struct_keyctl_kdf_params.obj: fetch_struct_keyctl_kdf_params.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_keyctl_kdf_params.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Tpo -c -o libmpers_mx32_a-fetch_struct_keyctl_kdf_params.obj `if test -f 'fetch_struct_keyctl_kdf_params.c'; then $(CYGPATH_W) 'fetch_struct_keyctl_kdf_params.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_keyctl_kdf_params.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Po
+# $(AM_V_CC)source='fetch_struct_keyctl_kdf_params.c' object='libmpers_mx32_a-fetch_struct_keyctl_kdf_params.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_keyctl_kdf_params.obj `if test -f 'fetch_struct_keyctl_kdf_params.c'; then $(CYGPATH_W) 'fetch_struct_keyctl_kdf_params.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_keyctl_kdf_params.c'; fi`
+
+libmpers_mx32_a-fetch_struct_mmsghdr.o: fetch_struct_mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_mmsghdr.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Tpo -c -o libmpers_mx32_a-fetch_struct_mmsghdr.o `test -f 'fetch_struct_mmsghdr.c' || echo '$(srcdir)/'`fetch_struct_mmsghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Po
+# $(AM_V_CC)source='fetch_struct_mmsghdr.c' object='libmpers_mx32_a-fetch_struct_mmsghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_mmsghdr.o `test -f 'fetch_struct_mmsghdr.c' || echo '$(srcdir)/'`fetch_struct_mmsghdr.c
+
+libmpers_mx32_a-fetch_struct_mmsghdr.obj: fetch_struct_mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_mmsghdr.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Tpo -c -o libmpers_mx32_a-fetch_struct_mmsghdr.obj `if test -f 'fetch_struct_mmsghdr.c'; then $(CYGPATH_W) 'fetch_struct_mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_mmsghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_mmsghdr.Po
+# $(AM_V_CC)source='fetch_struct_mmsghdr.c' object='libmpers_mx32_a-fetch_struct_mmsghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_mmsghdr.obj `if test -f 'fetch_struct_mmsghdr.c'; then $(CYGPATH_W) 'fetch_struct_mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_mmsghdr.c'; fi`
+
+libmpers_mx32_a-fetch_struct_msghdr.o: fetch_struct_msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_msghdr.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Tpo -c -o libmpers_mx32_a-fetch_struct_msghdr.o `test -f 'fetch_struct_msghdr.c' || echo '$(srcdir)/'`fetch_struct_msghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Po
+# $(AM_V_CC)source='fetch_struct_msghdr.c' object='libmpers_mx32_a-fetch_struct_msghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_msghdr.o `test -f 'fetch_struct_msghdr.c' || echo '$(srcdir)/'`fetch_struct_msghdr.c
+
+libmpers_mx32_a-fetch_struct_msghdr.obj: fetch_struct_msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_msghdr.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Tpo -c -o libmpers_mx32_a-fetch_struct_msghdr.obj `if test -f 'fetch_struct_msghdr.c'; then $(CYGPATH_W) 'fetch_struct_msghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_msghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_msghdr.Po
+# $(AM_V_CC)source='fetch_struct_msghdr.c' object='libmpers_mx32_a-fetch_struct_msghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_msghdr.obj `if test -f 'fetch_struct_msghdr.c'; then $(CYGPATH_W) 'fetch_struct_msghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_msghdr.c'; fi`
+
+libmpers_mx32_a-fetch_struct_stat.o: fetch_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_stat.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Tpo -c -o libmpers_mx32_a-fetch_struct_stat.o `test -f 'fetch_struct_stat.c' || echo '$(srcdir)/'`fetch_struct_stat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Po
+# $(AM_V_CC)source='fetch_struct_stat.c' object='libmpers_mx32_a-fetch_struct_stat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_stat.o `test -f 'fetch_struct_stat.c' || echo '$(srcdir)/'`fetch_struct_stat.c
+
+libmpers_mx32_a-fetch_struct_stat.obj: fetch_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_stat.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Tpo -c -o libmpers_mx32_a-fetch_struct_stat.obj `if test -f 'fetch_struct_stat.c'; then $(CYGPATH_W) 'fetch_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat.Po
+# $(AM_V_CC)source='fetch_struct_stat.c' object='libmpers_mx32_a-fetch_struct_stat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_stat.obj `if test -f 'fetch_struct_stat.c'; then $(CYGPATH_W) 'fetch_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat.c'; fi`
+
+libmpers_mx32_a-fetch_struct_stat64.o: fetch_struct_stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_stat64.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Tpo -c -o libmpers_mx32_a-fetch_struct_stat64.o `test -f 'fetch_struct_stat64.c' || echo '$(srcdir)/'`fetch_struct_stat64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Po
+# $(AM_V_CC)source='fetch_struct_stat64.c' object='libmpers_mx32_a-fetch_struct_stat64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_stat64.o `test -f 'fetch_struct_stat64.c' || echo '$(srcdir)/'`fetch_struct_stat64.c
+
+libmpers_mx32_a-fetch_struct_stat64.obj: fetch_struct_stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_stat64.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Tpo -c -o libmpers_mx32_a-fetch_struct_stat64.obj `if test -f 'fetch_struct_stat64.c'; then $(CYGPATH_W) 'fetch_struct_stat64.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat64.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_stat64.Po
+# $(AM_V_CC)source='fetch_struct_stat64.c' object='libmpers_mx32_a-fetch_struct_stat64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_stat64.obj `if test -f 'fetch_struct_stat64.c'; then $(CYGPATH_W) 'fetch_struct_stat64.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat64.c'; fi`
+
+libmpers_mx32_a-fetch_struct_statfs.o: fetch_struct_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_statfs.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Tpo -c -o libmpers_mx32_a-fetch_struct_statfs.o `test -f 'fetch_struct_statfs.c' || echo '$(srcdir)/'`fetch_struct_statfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Po
+# $(AM_V_CC)source='fetch_struct_statfs.c' object='libmpers_mx32_a-fetch_struct_statfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_statfs.o `test -f 'fetch_struct_statfs.c' || echo '$(srcdir)/'`fetch_struct_statfs.c
+
+libmpers_mx32_a-fetch_struct_statfs.obj: fetch_struct_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_struct_statfs.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Tpo -c -o libmpers_mx32_a-fetch_struct_statfs.obj `if test -f 'fetch_struct_statfs.c'; then $(CYGPATH_W) 'fetch_struct_statfs.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_statfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Tpo $(DEPDIR)/libmpers_mx32_a-fetch_struct_statfs.Po
+# $(AM_V_CC)source='fetch_struct_statfs.c' object='libmpers_mx32_a-fetch_struct_statfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-fetch_struct_statfs.obj `if test -f 'fetch_struct_statfs.c'; then $(CYGPATH_W) 'fetch_struct_statfs.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_statfs.c'; fi`
+
+libmpers_mx32_a-hdio.o: hdio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-hdio.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-hdio.Tpo -c -o libmpers_mx32_a-hdio.o `test -f 'hdio.c' || echo '$(srcdir)/'`hdio.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-hdio.Tpo $(DEPDIR)/libmpers_mx32_a-hdio.Po
+# $(AM_V_CC)source='hdio.c' object='libmpers_mx32_a-hdio.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-hdio.o `test -f 'hdio.c' || echo '$(srcdir)/'`hdio.c
+
+libmpers_mx32_a-hdio.obj: hdio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-hdio.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-hdio.Tpo -c -o libmpers_mx32_a-hdio.obj `if test -f 'hdio.c'; then $(CYGPATH_W) 'hdio.c'; else $(CYGPATH_W) '$(srcdir)/hdio.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-hdio.Tpo $(DEPDIR)/libmpers_mx32_a-hdio.Po
+# $(AM_V_CC)source='hdio.c' object='libmpers_mx32_a-hdio.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-hdio.obj `if test -f 'hdio.c'; then $(CYGPATH_W) 'hdio.c'; else $(CYGPATH_W) '$(srcdir)/hdio.c'; fi`
+
+libmpers_mx32_a-ipc_msgctl.o: ipc_msgctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-ipc_msgctl.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Tpo -c -o libmpers_mx32_a-ipc_msgctl.o `test -f 'ipc_msgctl.c' || echo '$(srcdir)/'`ipc_msgctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Tpo $(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Po
+# $(AM_V_CC)source='ipc_msgctl.c' object='libmpers_mx32_a-ipc_msgctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-ipc_msgctl.o `test -f 'ipc_msgctl.c' || echo '$(srcdir)/'`ipc_msgctl.c
+
+libmpers_mx32_a-ipc_msgctl.obj: ipc_msgctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-ipc_msgctl.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Tpo -c -o libmpers_mx32_a-ipc_msgctl.obj `if test -f 'ipc_msgctl.c'; then $(CYGPATH_W) 'ipc_msgctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msgctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Tpo $(DEPDIR)/libmpers_mx32_a-ipc_msgctl.Po
+# $(AM_V_CC)source='ipc_msgctl.c' object='libmpers_mx32_a-ipc_msgctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-ipc_msgctl.obj `if test -f 'ipc_msgctl.c'; then $(CYGPATH_W) 'ipc_msgctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msgctl.c'; fi`
+
+libmpers_mx32_a-ipc_shmctl.o: ipc_shmctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-ipc_shmctl.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Tpo -c -o libmpers_mx32_a-ipc_shmctl.o `test -f 'ipc_shmctl.c' || echo '$(srcdir)/'`ipc_shmctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Tpo $(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Po
+# $(AM_V_CC)source='ipc_shmctl.c' object='libmpers_mx32_a-ipc_shmctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-ipc_shmctl.o `test -f 'ipc_shmctl.c' || echo '$(srcdir)/'`ipc_shmctl.c
+
+libmpers_mx32_a-ipc_shmctl.obj: ipc_shmctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-ipc_shmctl.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Tpo -c -o libmpers_mx32_a-ipc_shmctl.obj `if test -f 'ipc_shmctl.c'; then $(CYGPATH_W) 'ipc_shmctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shmctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Tpo $(DEPDIR)/libmpers_mx32_a-ipc_shmctl.Po
+# $(AM_V_CC)source='ipc_shmctl.c' object='libmpers_mx32_a-ipc_shmctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-ipc_shmctl.obj `if test -f 'ipc_shmctl.c'; then $(CYGPATH_W) 'ipc_shmctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shmctl.c'; fi`
+
+libmpers_mx32_a-loop.o: loop.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-loop.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-loop.Tpo -c -o libmpers_mx32_a-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-loop.Tpo $(DEPDIR)/libmpers_mx32_a-loop.Po
+# $(AM_V_CC)source='loop.c' object='libmpers_mx32_a-loop.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
+
+libmpers_mx32_a-loop.obj: loop.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-loop.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-loop.Tpo -c -o libmpers_mx32_a-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-loop.Tpo $(DEPDIR)/libmpers_mx32_a-loop.Po
+# $(AM_V_CC)source='loop.c' object='libmpers_mx32_a-loop.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
+
+libmpers_mx32_a-mtd.o: mtd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-mtd.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-mtd.Tpo -c -o libmpers_mx32_a-mtd.o `test -f 'mtd.c' || echo '$(srcdir)/'`mtd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-mtd.Tpo $(DEPDIR)/libmpers_mx32_a-mtd.Po
+# $(AM_V_CC)source='mtd.c' object='libmpers_mx32_a-mtd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-mtd.o `test -f 'mtd.c' || echo '$(srcdir)/'`mtd.c
+
+libmpers_mx32_a-mtd.obj: mtd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-mtd.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-mtd.Tpo -c -o libmpers_mx32_a-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-mtd.Tpo $(DEPDIR)/libmpers_mx32_a-mtd.Po
+# $(AM_V_CC)source='mtd.c' object='libmpers_mx32_a-mtd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi`
+
+libmpers_mx32_a-print_group_req.o: print_group_req.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_group_req.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_group_req.Tpo -c -o libmpers_mx32_a-print_group_req.o `test -f 'print_group_req.c' || echo '$(srcdir)/'`print_group_req.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_group_req.Tpo $(DEPDIR)/libmpers_mx32_a-print_group_req.Po
+# $(AM_V_CC)source='print_group_req.c' object='libmpers_mx32_a-print_group_req.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_group_req.o `test -f 'print_group_req.c' || echo '$(srcdir)/'`print_group_req.c
+
+libmpers_mx32_a-print_group_req.obj: print_group_req.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_group_req.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_group_req.Tpo -c -o libmpers_mx32_a-print_group_req.obj `if test -f 'print_group_req.c'; then $(CYGPATH_W) 'print_group_req.c'; else $(CYGPATH_W) '$(srcdir)/print_group_req.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_group_req.Tpo $(DEPDIR)/libmpers_mx32_a-print_group_req.Po
+# $(AM_V_CC)source='print_group_req.c' object='libmpers_mx32_a-print_group_req.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_group_req.obj `if test -f 'print_group_req.c'; then $(CYGPATH_W) 'print_group_req.c'; else $(CYGPATH_W) '$(srcdir)/print_group_req.c'; fi`
+
+libmpers_mx32_a-print_mq_attr.o: print_mq_attr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_mq_attr.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_mq_attr.Tpo -c -o libmpers_mx32_a-print_mq_attr.o `test -f 'print_mq_attr.c' || echo '$(srcdir)/'`print_mq_attr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_mq_attr.Tpo $(DEPDIR)/libmpers_mx32_a-print_mq_attr.Po
+# $(AM_V_CC)source='print_mq_attr.c' object='libmpers_mx32_a-print_mq_attr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_mq_attr.o `test -f 'print_mq_attr.c' || echo '$(srcdir)/'`print_mq_attr.c
+
+libmpers_mx32_a-print_mq_attr.obj: print_mq_attr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_mq_attr.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_mq_attr.Tpo -c -o libmpers_mx32_a-print_mq_attr.obj `if test -f 'print_mq_attr.c'; then $(CYGPATH_W) 'print_mq_attr.c'; else $(CYGPATH_W) '$(srcdir)/print_mq_attr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_mq_attr.Tpo $(DEPDIR)/libmpers_mx32_a-print_mq_attr.Po
+# $(AM_V_CC)source='print_mq_attr.c' object='libmpers_mx32_a-print_mq_attr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_mq_attr.obj `if test -f 'print_mq_attr.c'; then $(CYGPATH_W) 'print_mq_attr.c'; else $(CYGPATH_W) '$(srcdir)/print_mq_attr.c'; fi`
+
+libmpers_mx32_a-print_msgbuf.o: print_msgbuf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_msgbuf.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_msgbuf.Tpo -c -o libmpers_mx32_a-print_msgbuf.o `test -f 'print_msgbuf.c' || echo '$(srcdir)/'`print_msgbuf.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_msgbuf.Tpo $(DEPDIR)/libmpers_mx32_a-print_msgbuf.Po
+# $(AM_V_CC)source='print_msgbuf.c' object='libmpers_mx32_a-print_msgbuf.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_msgbuf.o `test -f 'print_msgbuf.c' || echo '$(srcdir)/'`print_msgbuf.c
+
+libmpers_mx32_a-print_msgbuf.obj: print_msgbuf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_msgbuf.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_msgbuf.Tpo -c -o libmpers_mx32_a-print_msgbuf.obj `if test -f 'print_msgbuf.c'; then $(CYGPATH_W) 'print_msgbuf.c'; else $(CYGPATH_W) '$(srcdir)/print_msgbuf.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_msgbuf.Tpo $(DEPDIR)/libmpers_mx32_a-print_msgbuf.Po
+# $(AM_V_CC)source='print_msgbuf.c' object='libmpers_mx32_a-print_msgbuf.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_msgbuf.obj `if test -f 'print_msgbuf.c'; then $(CYGPATH_W) 'print_msgbuf.c'; else $(CYGPATH_W) '$(srcdir)/print_msgbuf.c'; fi`
+
+libmpers_mx32_a-print_sg_req_info.o: print_sg_req_info.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_sg_req_info.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Tpo -c -o libmpers_mx32_a-print_sg_req_info.o `test -f 'print_sg_req_info.c' || echo '$(srcdir)/'`print_sg_req_info.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Tpo $(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Po
+# $(AM_V_CC)source='print_sg_req_info.c' object='libmpers_mx32_a-print_sg_req_info.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_sg_req_info.o `test -f 'print_sg_req_info.c' || echo '$(srcdir)/'`print_sg_req_info.c
+
+libmpers_mx32_a-print_sg_req_info.obj: print_sg_req_info.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_sg_req_info.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Tpo -c -o libmpers_mx32_a-print_sg_req_info.obj `if test -f 'print_sg_req_info.c'; then $(CYGPATH_W) 'print_sg_req_info.c'; else $(CYGPATH_W) '$(srcdir)/print_sg_req_info.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Tpo $(DEPDIR)/libmpers_mx32_a-print_sg_req_info.Po
+# $(AM_V_CC)source='print_sg_req_info.c' object='libmpers_mx32_a-print_sg_req_info.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_sg_req_info.obj `if test -f 'print_sg_req_info.c'; then $(CYGPATH_W) 'print_sg_req_info.c'; else $(CYGPATH_W) '$(srcdir)/print_sg_req_info.c'; fi`
+
+libmpers_mx32_a-print_sigevent.o: print_sigevent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_sigevent.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_sigevent.Tpo -c -o libmpers_mx32_a-print_sigevent.o `test -f 'print_sigevent.c' || echo '$(srcdir)/'`print_sigevent.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_sigevent.Tpo $(DEPDIR)/libmpers_mx32_a-print_sigevent.Po
+# $(AM_V_CC)source='print_sigevent.c' object='libmpers_mx32_a-print_sigevent.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_sigevent.o `test -f 'print_sigevent.c' || echo '$(srcdir)/'`print_sigevent.c
+
+libmpers_mx32_a-print_sigevent.obj: print_sigevent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_sigevent.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_sigevent.Tpo -c -o libmpers_mx32_a-print_sigevent.obj `if test -f 'print_sigevent.c'; then $(CYGPATH_W) 'print_sigevent.c'; else $(CYGPATH_W) '$(srcdir)/print_sigevent.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_sigevent.Tpo $(DEPDIR)/libmpers_mx32_a-print_sigevent.Po
+# $(AM_V_CC)source='print_sigevent.c' object='libmpers_mx32_a-print_sigevent.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_sigevent.obj `if test -f 'print_sigevent.c'; then $(CYGPATH_W) 'print_sigevent.c'; else $(CYGPATH_W) '$(srcdir)/print_sigevent.c'; fi`
+
+libmpers_mx32_a-print_time.o: print_time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_time.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_time.Tpo -c -o libmpers_mx32_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_time.Tpo $(DEPDIR)/libmpers_mx32_a-print_time.Po
+# $(AM_V_CC)source='print_time.c' object='libmpers_mx32_a-print_time.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libmpers_mx32_a-print_time.obj: print_time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_time.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_time.Tpo -c -o libmpers_mx32_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)/libmpers_mx32_a-print_time.Tpo $(DEPDIR)/libmpers_mx32_a-print_time.Po
+# $(AM_V_CC)source='print_time.c' object='libmpers_mx32_a-print_time.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+
+libmpers_mx32_a-print_timespec.o: print_timespec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_timespec.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_timespec.Tpo -c -o libmpers_mx32_a-print_timespec.o `test -f 'print_timespec.c' || echo '$(srcdir)/'`print_timespec.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_timespec.Tpo $(DEPDIR)/libmpers_mx32_a-print_timespec.Po
+# $(AM_V_CC)source='print_timespec.c' object='libmpers_mx32_a-print_timespec.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_timespec.o `test -f 'print_timespec.c' || echo '$(srcdir)/'`print_timespec.c
+
+libmpers_mx32_a-print_timespec.obj: print_timespec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_timespec.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_timespec.Tpo -c -o libmpers_mx32_a-print_timespec.obj `if test -f 'print_timespec.c'; then $(CYGPATH_W) 'print_timespec.c'; else $(CYGPATH_W) '$(srcdir)/print_timespec.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_timespec.Tpo $(DEPDIR)/libmpers_mx32_a-print_timespec.Po
+# $(AM_V_CC)source='print_timespec.c' object='libmpers_mx32_a-print_timespec.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_timespec.obj `if test -f 'print_timespec.c'; then $(CYGPATH_W) 'print_timespec.c'; else $(CYGPATH_W) '$(srcdir)/print_timespec.c'; fi`
+
+libmpers_mx32_a-print_timeval.o: print_timeval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_timeval.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_timeval.Tpo -c -o libmpers_mx32_a-print_timeval.o `test -f 'print_timeval.c' || echo '$(srcdir)/'`print_timeval.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_timeval.Tpo $(DEPDIR)/libmpers_mx32_a-print_timeval.Po
+# $(AM_V_CC)source='print_timeval.c' object='libmpers_mx32_a-print_timeval.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_timeval.o `test -f 'print_timeval.c' || echo '$(srcdir)/'`print_timeval.c
+
+libmpers_mx32_a-print_timeval.obj: print_timeval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_timeval.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_timeval.Tpo -c -o libmpers_mx32_a-print_timeval.obj `if test -f 'print_timeval.c'; then $(CYGPATH_W) 'print_timeval.c'; else $(CYGPATH_W) '$(srcdir)/print_timeval.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_timeval.Tpo $(DEPDIR)/libmpers_mx32_a-print_timeval.Po
+# $(AM_V_CC)source='print_timeval.c' object='libmpers_mx32_a-print_timeval.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_timeval.obj `if test -f 'print_timeval.c'; then $(CYGPATH_W) 'print_timeval.c'; else $(CYGPATH_W) '$(srcdir)/print_timeval.c'; fi`
+
+libmpers_mx32_a-print_timex.o: print_timex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_timex.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_timex.Tpo -c -o libmpers_mx32_a-print_timex.o `test -f 'print_timex.c' || echo '$(srcdir)/'`print_timex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_timex.Tpo $(DEPDIR)/libmpers_mx32_a-print_timex.Po
+# $(AM_V_CC)source='print_timex.c' object='libmpers_mx32_a-print_timex.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_timex.o `test -f 'print_timex.c' || echo '$(srcdir)/'`print_timex.c
+
+libmpers_mx32_a-print_timex.obj: print_timex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-print_timex.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-print_timex.Tpo -c -o libmpers_mx32_a-print_timex.obj `if test -f 'print_timex.c'; then $(CYGPATH_W) 'print_timex.c'; else $(CYGPATH_W) '$(srcdir)/print_timex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-print_timex.Tpo $(DEPDIR)/libmpers_mx32_a-print_timex.Po
+# $(AM_V_CC)source='print_timex.c' object='libmpers_mx32_a-print_timex.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-print_timex.obj `if test -f 'print_timex.c'; then $(CYGPATH_W) 'print_timex.c'; else $(CYGPATH_W) '$(srcdir)/print_timex.c'; fi`
+
+libmpers_mx32_a-printrusage.o: printrusage.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-printrusage.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-printrusage.Tpo -c -o libmpers_mx32_a-printrusage.o `test -f 'printrusage.c' || echo '$(srcdir)/'`printrusage.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-printrusage.Tpo $(DEPDIR)/libmpers_mx32_a-printrusage.Po
+# $(AM_V_CC)source='printrusage.c' object='libmpers_mx32_a-printrusage.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-printrusage.o `test -f 'printrusage.c' || echo '$(srcdir)/'`printrusage.c
+
+libmpers_mx32_a-printrusage.obj: printrusage.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-printrusage.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-printrusage.Tpo -c -o libmpers_mx32_a-printrusage.obj `if test -f 'printrusage.c'; then $(CYGPATH_W) 'printrusage.c'; else $(CYGPATH_W) '$(srcdir)/printrusage.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-printrusage.Tpo $(DEPDIR)/libmpers_mx32_a-printrusage.Po
+# $(AM_V_CC)source='printrusage.c' object='libmpers_mx32_a-printrusage.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-printrusage.obj `if test -f 'printrusage.c'; then $(CYGPATH_W) 'printrusage.c'; else $(CYGPATH_W) '$(srcdir)/printrusage.c'; fi`
+
+libmpers_mx32_a-printsiginfo.o: printsiginfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-printsiginfo.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-printsiginfo.Tpo -c -o libmpers_mx32_a-printsiginfo.o `test -f 'printsiginfo.c' || echo '$(srcdir)/'`printsiginfo.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-printsiginfo.Tpo $(DEPDIR)/libmpers_mx32_a-printsiginfo.Po
+# $(AM_V_CC)source='printsiginfo.c' object='libmpers_mx32_a-printsiginfo.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-printsiginfo.o `test -f 'printsiginfo.c' || echo '$(srcdir)/'`printsiginfo.c
+
+libmpers_mx32_a-printsiginfo.obj: printsiginfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-printsiginfo.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-printsiginfo.Tpo -c -o libmpers_mx32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-printsiginfo.Tpo $(DEPDIR)/libmpers_mx32_a-printsiginfo.Po
+# $(AM_V_CC)source='printsiginfo.c' object='libmpers_mx32_a-printsiginfo.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
+
+libmpers_mx32_a-rt_sigreturn.o: rt_sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo -c -o libmpers_mx32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+# $(AM_V_CC)source='rt_sigreturn.c' object='libmpers_mx32_a-rt_sigreturn.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+libmpers_mx32_a-rt_sigreturn.obj: rt_sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo -c -o libmpers_mx32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+# $(AM_V_CC)source='rt_sigreturn.c' object='libmpers_mx32_a-rt_sigreturn.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
+libmpers_mx32_a-rtc.o: rtc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rtc.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rtc.Tpo -c -o libmpers_mx32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rtc.Tpo $(DEPDIR)/libmpers_mx32_a-rtc.Po
+# $(AM_V_CC)source='rtc.c' object='libmpers_mx32_a-rtc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
+
+libmpers_mx32_a-rtc.obj: rtc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rtc.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rtc.Tpo -c -o libmpers_mx32_a-rtc.obj `if test -f 'rtc.c'; then $(CYGPATH_W) 'rtc.c'; else $(CYGPATH_W) '$(srcdir)/rtc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rtc.Tpo $(DEPDIR)/libmpers_mx32_a-rtc.Po
+# $(AM_V_CC)source='rtc.c' object='libmpers_mx32_a-rtc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rtc.obj `if test -f 'rtc.c'; then $(CYGPATH_W) 'rtc.c'; else $(CYGPATH_W) '$(srcdir)/rtc.c'; fi`
+
+libmpers_mx32_a-sg_io_v3.o: sg_io_v3.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sg_io_v3.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sg_io_v3.Tpo -c -o libmpers_mx32_a-sg_io_v3.o `test -f 'sg_io_v3.c' || echo '$(srcdir)/'`sg_io_v3.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sg_io_v3.Tpo $(DEPDIR)/libmpers_mx32_a-sg_io_v3.Po
+# $(AM_V_CC)source='sg_io_v3.c' object='libmpers_mx32_a-sg_io_v3.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sg_io_v3.o `test -f 'sg_io_v3.c' || echo '$(srcdir)/'`sg_io_v3.c
+
+libmpers_mx32_a-sg_io_v3.obj: sg_io_v3.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sg_io_v3.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sg_io_v3.Tpo -c -o libmpers_mx32_a-sg_io_v3.obj `if test -f 'sg_io_v3.c'; then $(CYGPATH_W) 'sg_io_v3.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v3.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sg_io_v3.Tpo $(DEPDIR)/libmpers_mx32_a-sg_io_v3.Po
+# $(AM_V_CC)source='sg_io_v3.c' object='libmpers_mx32_a-sg_io_v3.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sg_io_v3.obj `if test -f 'sg_io_v3.c'; then $(CYGPATH_W) 'sg_io_v3.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v3.c'; fi`
+
+libmpers_mx32_a-sigaltstack.o: sigaltstack.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sigaltstack.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sigaltstack.Tpo -c -o libmpers_mx32_a-sigaltstack.o `test -f 'sigaltstack.c' || echo '$(srcdir)/'`sigaltstack.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sigaltstack.Tpo $(DEPDIR)/libmpers_mx32_a-sigaltstack.Po
+# $(AM_V_CC)source='sigaltstack.c' object='libmpers_mx32_a-sigaltstack.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sigaltstack.o `test -f 'sigaltstack.c' || echo '$(srcdir)/'`sigaltstack.c
+
+libmpers_mx32_a-sigaltstack.obj: sigaltstack.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sigaltstack.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sigaltstack.Tpo -c -o libmpers_mx32_a-sigaltstack.obj `if test -f 'sigaltstack.c'; then $(CYGPATH_W) 'sigaltstack.c'; else $(CYGPATH_W) '$(srcdir)/sigaltstack.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sigaltstack.Tpo $(DEPDIR)/libmpers_mx32_a-sigaltstack.Po
+# $(AM_V_CC)source='sigaltstack.c' object='libmpers_mx32_a-sigaltstack.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sigaltstack.obj `if test -f 'sigaltstack.c'; then $(CYGPATH_W) 'sigaltstack.c'; else $(CYGPATH_W) '$(srcdir)/sigaltstack.c'; fi`
+
+libmpers_mx32_a-sock.o: sock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sock.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sock.Tpo -c -o libmpers_mx32_a-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sock.Tpo $(DEPDIR)/libmpers_mx32_a-sock.Po
+# $(AM_V_CC)source='sock.c' object='libmpers_mx32_a-sock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
+
+libmpers_mx32_a-sock.obj: sock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sock.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sock.Tpo -c -o libmpers_mx32_a-sock.obj `if test -f 'sock.c'; then $(CYGPATH_W) 'sock.c'; else $(CYGPATH_W) '$(srcdir)/sock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sock.Tpo $(DEPDIR)/libmpers_mx32_a-sock.Po
+# $(AM_V_CC)source='sock.c' object='libmpers_mx32_a-sock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sock.obj `if test -f 'sock.c'; then $(CYGPATH_W) 'sock.c'; else $(CYGPATH_W) '$(srcdir)/sock.c'; fi`
+
+libmpers_mx32_a-sysinfo.o: sysinfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sysinfo.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sysinfo.Tpo -c -o libmpers_mx32_a-sysinfo.o `test -f 'sysinfo.c' || echo '$(srcdir)/'`sysinfo.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sysinfo.Tpo $(DEPDIR)/libmpers_mx32_a-sysinfo.Po
+# $(AM_V_CC)source='sysinfo.c' object='libmpers_mx32_a-sysinfo.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sysinfo.o `test -f 'sysinfo.c' || echo '$(srcdir)/'`sysinfo.c
+
+libmpers_mx32_a-sysinfo.obj: sysinfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-sysinfo.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-sysinfo.Tpo -c -o libmpers_mx32_a-sysinfo.obj `if test -f 'sysinfo.c'; then $(CYGPATH_W) 'sysinfo.c'; else $(CYGPATH_W) '$(srcdir)/sysinfo.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-sysinfo.Tpo $(DEPDIR)/libmpers_mx32_a-sysinfo.Po
+# $(AM_V_CC)source='sysinfo.c' object='libmpers_mx32_a-sysinfo.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-sysinfo.obj `if test -f 'sysinfo.c'; then $(CYGPATH_W) 'sysinfo.c'; else $(CYGPATH_W) '$(srcdir)/sysinfo.c'; fi`
+
+libmpers_mx32_a-times.o: times.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-times.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-times.Tpo -c -o libmpers_mx32_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-times.Tpo $(DEPDIR)/libmpers_mx32_a-times.Po
+# $(AM_V_CC)source='times.c' object='libmpers_mx32_a-times.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c
+
+libmpers_mx32_a-times.obj: times.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-times.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-times.Tpo -c -o libmpers_mx32_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-times.Tpo $(DEPDIR)/libmpers_mx32_a-times.Po
+# $(AM_V_CC)source='times.c' object='libmpers_mx32_a-times.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
+
+libmpers_mx32_a-ustat.o: ustat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-ustat.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-ustat.Tpo -c -o libmpers_mx32_a-ustat.o `test -f 'ustat.c' || echo '$(srcdir)/'`ustat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-ustat.Tpo $(DEPDIR)/libmpers_mx32_a-ustat.Po
+# $(AM_V_CC)source='ustat.c' object='libmpers_mx32_a-ustat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-ustat.o `test -f 'ustat.c' || echo '$(srcdir)/'`ustat.c
+
+libmpers_mx32_a-ustat.obj: ustat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-ustat.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-ustat.Tpo -c -o libmpers_mx32_a-ustat.obj `if test -f 'ustat.c'; then $(CYGPATH_W) 'ustat.c'; else $(CYGPATH_W) '$(srcdir)/ustat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-ustat.Tpo $(DEPDIR)/libmpers_mx32_a-ustat.Po
+# $(AM_V_CC)source='ustat.c' object='libmpers_mx32_a-ustat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-ustat.obj `if test -f 'ustat.c'; then $(CYGPATH_W) 'ustat.c'; else $(CYGPATH_W) '$(srcdir)/ustat.c'; fi`
+
+libmpers_mx32_a-utime.o: utime.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-utime.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-utime.Tpo -c -o libmpers_mx32_a-utime.o `test -f 'utime.c' || echo '$(srcdir)/'`utime.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-utime.Tpo $(DEPDIR)/libmpers_mx32_a-utime.Po
+# $(AM_V_CC)source='utime.c' object='libmpers_mx32_a-utime.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-utime.o `test -f 'utime.c' || echo '$(srcdir)/'`utime.c
+
+libmpers_mx32_a-utime.obj: utime.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-utime.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-utime.Tpo -c -o libmpers_mx32_a-utime.obj `if test -f 'utime.c'; then $(CYGPATH_W) 'utime.c'; else $(CYGPATH_W) '$(srcdir)/utime.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-utime.Tpo $(DEPDIR)/libmpers_mx32_a-utime.Po
+# $(AM_V_CC)source='utime.c' object='libmpers_mx32_a-utime.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-utime.obj `if test -f 'utime.c'; then $(CYGPATH_W) 'utime.c'; else $(CYGPATH_W) '$(srcdir)/utime.c'; fi`
+
+libmpers_mx32_a-v4l2.o: v4l2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-v4l2.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-v4l2.Tpo -c -o libmpers_mx32_a-v4l2.o `test -f 'v4l2.c' || echo '$(srcdir)/'`v4l2.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-v4l2.Tpo $(DEPDIR)/libmpers_mx32_a-v4l2.Po
+# $(AM_V_CC)source='v4l2.c' object='libmpers_mx32_a-v4l2.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-v4l2.o `test -f 'v4l2.c' || echo '$(srcdir)/'`v4l2.c
+
+libmpers_mx32_a-v4l2.obj: v4l2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-v4l2.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-v4l2.Tpo -c -o libmpers_mx32_a-v4l2.obj `if test -f 'v4l2.c'; then $(CYGPATH_W) 'v4l2.c'; else $(CYGPATH_W) '$(srcdir)/v4l2.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-v4l2.Tpo $(DEPDIR)/libmpers_mx32_a-v4l2.Po
+# $(AM_V_CC)source='v4l2.c' object='libmpers_mx32_a-v4l2.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-v4l2.obj `if test -f 'v4l2.c'; then $(CYGPATH_W) 'v4l2.c'; else $(CYGPATH_W) '$(srcdir)/v4l2.c'; fi`
+
+libstrace_a-fetch_indirect_syscall_args.o: fetch_indirect_syscall_args.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-fetch_indirect_syscall_args.o -MD -MP -MF $(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Tpo -c -o libstrace_a-fetch_indirect_syscall_args.o `test -f 'fetch_indirect_syscall_args.c' || echo '$(srcdir)/'`fetch_indirect_syscall_args.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Tpo $(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Po
+# $(AM_V_CC)source='fetch_indirect_syscall_args.c' object='libstrace_a-fetch_indirect_syscall_args.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-fetch_indirect_syscall_args.o `test -f 'fetch_indirect_syscall_args.c' || echo '$(srcdir)/'`fetch_indirect_syscall_args.c
+
+libstrace_a-fetch_indirect_syscall_args.obj: fetch_indirect_syscall_args.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-fetch_indirect_syscall_args.obj -MD -MP -MF $(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Tpo -c -o libstrace_a-fetch_indirect_syscall_args.obj `if test -f 'fetch_indirect_syscall_args.c'; then $(CYGPATH_W) 'fetch_indirect_syscall_args.c'; else $(CYGPATH_W) '$(srcdir)/fetch_indirect_syscall_args.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Tpo $(DEPDIR)/libstrace_a-fetch_indirect_syscall_args.Po
+# $(AM_V_CC)source='fetch_indirect_syscall_args.c' object='libstrace_a-fetch_indirect_syscall_args.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-fetch_indirect_syscall_args.obj `if test -f 'fetch_indirect_syscall_args.c'; then $(CYGPATH_W) 'fetch_indirect_syscall_args.c'; else $(CYGPATH_W) '$(srcdir)/fetch_indirect_syscall_args.c'; fi`
+
+libstrace_a-fstatfs.o: fstatfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-fstatfs.o -MD -MP -MF $(DEPDIR)/libstrace_a-fstatfs.Tpo -c -o libstrace_a-fstatfs.o `test -f 'fstatfs.c' || echo '$(srcdir)/'`fstatfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-fstatfs.Tpo $(DEPDIR)/libstrace_a-fstatfs.Po
+# $(AM_V_CC)source='fstatfs.c' object='libstrace_a-fstatfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-fstatfs.o `test -f 'fstatfs.c' || echo '$(srcdir)/'`fstatfs.c
+
+libstrace_a-fstatfs.obj: fstatfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-fstatfs.obj -MD -MP -MF $(DEPDIR)/libstrace_a-fstatfs.Tpo -c -o libstrace_a-fstatfs.obj `if test -f 'fstatfs.c'; then $(CYGPATH_W) 'fstatfs.c'; else $(CYGPATH_W) '$(srcdir)/fstatfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-fstatfs.Tpo $(DEPDIR)/libstrace_a-fstatfs.Po
+# $(AM_V_CC)source='fstatfs.c' object='libstrace_a-fstatfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-fstatfs.obj `if test -f 'fstatfs.c'; then $(CYGPATH_W) 'fstatfs.c'; else $(CYGPATH_W) '$(srcdir)/fstatfs.c'; fi`
+
+libstrace_a-fstatfs64.o: fstatfs64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-fstatfs64.o -MD -MP -MF $(DEPDIR)/libstrace_a-fstatfs64.Tpo -c -o libstrace_a-fstatfs64.o `test -f 'fstatfs64.c' || echo '$(srcdir)/'`fstatfs64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-fstatfs64.Tpo $(DEPDIR)/libstrace_a-fstatfs64.Po
+# $(AM_V_CC)source='fstatfs64.c' object='libstrace_a-fstatfs64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-fstatfs64.o `test -f 'fstatfs64.c' || echo '$(srcdir)/'`fstatfs64.c
+
+libstrace_a-fstatfs64.obj: fstatfs64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-fstatfs64.obj -MD -MP -MF $(DEPDIR)/libstrace_a-fstatfs64.Tpo -c -o libstrace_a-fstatfs64.obj `if test -f 'fstatfs64.c'; then $(CYGPATH_W) 'fstatfs64.c'; else $(CYGPATH_W) '$(srcdir)/fstatfs64.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-fstatfs64.Tpo $(DEPDIR)/libstrace_a-fstatfs64.Po
+# $(AM_V_CC)source='fstatfs64.c' object='libstrace_a-fstatfs64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-fstatfs64.obj `if test -f 'fstatfs64.c'; then $(CYGPATH_W) 'fstatfs64.c'; else $(CYGPATH_W) '$(srcdir)/fstatfs64.c'; fi`
+
+libstrace_a-getpagesize.o: getpagesize.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getpagesize.o -MD -MP -MF $(DEPDIR)/libstrace_a-getpagesize.Tpo -c -o libstrace_a-getpagesize.o `test -f 'getpagesize.c' || echo '$(srcdir)/'`getpagesize.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getpagesize.Tpo $(DEPDIR)/libstrace_a-getpagesize.Po
+# $(AM_V_CC)source='getpagesize.c' object='libstrace_a-getpagesize.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpagesize.o `test -f 'getpagesize.c' || echo '$(srcdir)/'`getpagesize.c
+
+libstrace_a-getpagesize.obj: getpagesize.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getpagesize.obj -MD -MP -MF $(DEPDIR)/libstrace_a-getpagesize.Tpo -c -o libstrace_a-getpagesize.obj `if test -f 'getpagesize.c'; then $(CYGPATH_W) 'getpagesize.c'; else $(CYGPATH_W) '$(srcdir)/getpagesize.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getpagesize.Tpo $(DEPDIR)/libstrace_a-getpagesize.Po
+# $(AM_V_CC)source='getpagesize.c' object='libstrace_a-getpagesize.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpagesize.obj `if test -f 'getpagesize.c'; then $(CYGPATH_W) 'getpagesize.c'; else $(CYGPATH_W) '$(srcdir)/getpagesize.c'; fi`
+
+libstrace_a-ipc.o: ipc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-ipc.o -MD -MP -MF $(DEPDIR)/libstrace_a-ipc.Tpo -c -o libstrace_a-ipc.o `test -f 'ipc.c' || echo '$(srcdir)/'`ipc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-ipc.Tpo $(DEPDIR)/libstrace_a-ipc.Po
+# $(AM_V_CC)source='ipc.c' object='libstrace_a-ipc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-ipc.o `test -f 'ipc.c' || echo '$(srcdir)/'`ipc.c
+
+libstrace_a-ipc.obj: ipc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-ipc.obj -MD -MP -MF $(DEPDIR)/libstrace_a-ipc.Tpo -c -o libstrace_a-ipc.obj `if test -f 'ipc.c'; then $(CYGPATH_W) 'ipc.c'; else $(CYGPATH_W) '$(srcdir)/ipc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-ipc.Tpo $(DEPDIR)/libstrace_a-ipc.Po
+# $(AM_V_CC)source='ipc.c' object='libstrace_a-ipc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-ipc.obj `if test -f 'ipc.c'; then $(CYGPATH_W) 'ipc.c'; else $(CYGPATH_W) '$(srcdir)/ipc.c'; fi`
+
+libstrace_a-sigreturn.o: sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sigreturn.o -MD -MP -MF $(DEPDIR)/libstrace_a-sigreturn.Tpo -c -o libstrace_a-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po
+# $(AM_V_CC)source='sigreturn.c' object='libstrace_a-sigreturn.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
+
+libstrace_a-sigreturn.obj: sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sigreturn.obj -MD -MP -MF $(DEPDIR)/libstrace_a-sigreturn.Tpo -c -o libstrace_a-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po
+# $(AM_V_CC)source='sigreturn.c' object='libstrace_a-sigreturn.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
+
+libstrace_a-socketcall.o: socketcall.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-socketcall.o -MD -MP -MF $(DEPDIR)/libstrace_a-socketcall.Tpo -c -o libstrace_a-socketcall.o `test -f 'socketcall.c' || echo '$(srcdir)/'`socketcall.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-socketcall.Tpo $(DEPDIR)/libstrace_a-socketcall.Po
+# $(AM_V_CC)source='socketcall.c' object='libstrace_a-socketcall.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-socketcall.o `test -f 'socketcall.c' || echo '$(srcdir)/'`socketcall.c
+
+libstrace_a-socketcall.obj: socketcall.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-socketcall.obj -MD -MP -MF $(DEPDIR)/libstrace_a-socketcall.Tpo -c -o libstrace_a-socketcall.obj `if test -f 'socketcall.c'; then $(CYGPATH_W) 'socketcall.c'; else $(CYGPATH_W) '$(srcdir)/socketcall.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-socketcall.Tpo $(DEPDIR)/libstrace_a-socketcall.Po
+# $(AM_V_CC)source='socketcall.c' object='libstrace_a-socketcall.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-socketcall.obj `if test -f 'socketcall.c'; then $(CYGPATH_W) 'socketcall.c'; else $(CYGPATH_W) '$(srcdir)/socketcall.c'; fi`
+
+libstrace_a-statfs.o: statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-statfs.o -MD -MP -MF $(DEPDIR)/libstrace_a-statfs.Tpo -c -o libstrace_a-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-statfs.Tpo $(DEPDIR)/libstrace_a-statfs.Po
+# $(AM_V_CC)source='statfs.c' object='libstrace_a-statfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+
+libstrace_a-statfs.obj: statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-statfs.obj -MD -MP -MF $(DEPDIR)/libstrace_a-statfs.Tpo -c -o libstrace_a-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)/libstrace_a-statfs.Tpo $(DEPDIR)/libstrace_a-statfs.Po
+# $(AM_V_CC)source='statfs.c' object='libstrace_a-statfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
+
+libstrace_a-statfs64.o: statfs64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-statfs64.o -MD -MP -MF $(DEPDIR)/libstrace_a-statfs64.Tpo -c -o libstrace_a-statfs64.o `test -f 'statfs64.c' || echo '$(srcdir)/'`statfs64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-statfs64.Tpo $(DEPDIR)/libstrace_a-statfs64.Po
+# $(AM_V_CC)source='statfs64.c' object='libstrace_a-statfs64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-statfs64.o `test -f 'statfs64.c' || echo '$(srcdir)/'`statfs64.c
+
+libstrace_a-statfs64.obj: statfs64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-statfs64.obj -MD -MP -MF $(DEPDIR)/libstrace_a-statfs64.Tpo -c -o libstrace_a-statfs64.obj `if test -f 'statfs64.c'; then $(CYGPATH_W) 'statfs64.c'; else $(CYGPATH_W) '$(srcdir)/statfs64.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-statfs64.Tpo $(DEPDIR)/libstrace_a-statfs64.Po
+# $(AM_V_CC)source='statfs64.c' object='libstrace_a-statfs64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-statfs64.obj `if test -f 'statfs64.c'; then $(CYGPATH_W) 'statfs64.c'; else $(CYGPATH_W) '$(srcdir)/statfs64.c'; fi`
+
+libstrace_a-sync_file_range.o: sync_file_range.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sync_file_range.o -MD -MP -MF $(DEPDIR)/libstrace_a-sync_file_range.Tpo -c -o libstrace_a-sync_file_range.o `test -f 'sync_file_range.c' || echo '$(srcdir)/'`sync_file_range.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sync_file_range.Tpo $(DEPDIR)/libstrace_a-sync_file_range.Po
+# $(AM_V_CC)source='sync_file_range.c' object='libstrace_a-sync_file_range.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sync_file_range.o `test -f 'sync_file_range.c' || echo '$(srcdir)/'`sync_file_range.c
+
+libstrace_a-sync_file_range.obj: sync_file_range.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sync_file_range.obj -MD -MP -MF $(DEPDIR)/libstrace_a-sync_file_range.Tpo -c -o libstrace_a-sync_file_range.obj `if test -f 'sync_file_range.c'; then $(CYGPATH_W) 'sync_file_range.c'; else $(CYGPATH_W) '$(srcdir)/sync_file_range.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sync_file_range.Tpo $(DEPDIR)/libstrace_a-sync_file_range.Po
+# $(AM_V_CC)source='sync_file_range.c' object='libstrace_a-sync_file_range.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sync_file_range.obj `if test -f 'sync_file_range.c'; then $(CYGPATH_W) 'sync_file_range.c'; else $(CYGPATH_W) '$(srcdir)/sync_file_range.c'; fi`
+
+libstrace_a-sync_file_range2.o: sync_file_range2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sync_file_range2.o -MD -MP -MF $(DEPDIR)/libstrace_a-sync_file_range2.Tpo -c -o libstrace_a-sync_file_range2.o `test -f 'sync_file_range2.c' || echo '$(srcdir)/'`sync_file_range2.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sync_file_range2.Tpo $(DEPDIR)/libstrace_a-sync_file_range2.Po
+# $(AM_V_CC)source='sync_file_range2.c' object='libstrace_a-sync_file_range2.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sync_file_range2.o `test -f 'sync_file_range2.c' || echo '$(srcdir)/'`sync_file_range2.c
+
+libstrace_a-sync_file_range2.obj: sync_file_range2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sync_file_range2.obj -MD -MP -MF $(DEPDIR)/libstrace_a-sync_file_range2.Tpo -c -o libstrace_a-sync_file_range2.obj `if test -f 'sync_file_range2.c'; then $(CYGPATH_W) 'sync_file_range2.c'; else $(CYGPATH_W) '$(srcdir)/sync_file_range2.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sync_file_range2.Tpo $(DEPDIR)/libstrace_a-sync_file_range2.Po
+# $(AM_V_CC)source='sync_file_range2.c' object='libstrace_a-sync_file_range2.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sync_file_range2.obj `if test -f 'sync_file_range2.c'; then $(CYGPATH_W) 'sync_file_range2.c'; else $(CYGPATH_W) '$(srcdir)/sync_file_range2.c'; fi`
+
+libstrace_a-upeek.o: upeek.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-upeek.o -MD -MP -MF $(DEPDIR)/libstrace_a-upeek.Tpo -c -o libstrace_a-upeek.o `test -f 'upeek.c' || echo '$(srcdir)/'`upeek.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-upeek.Tpo $(DEPDIR)/libstrace_a-upeek.Po
+# $(AM_V_CC)source='upeek.c' object='libstrace_a-upeek.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-upeek.o `test -f 'upeek.c' || echo '$(srcdir)/'`upeek.c
+
+libstrace_a-upeek.obj: upeek.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-upeek.obj -MD -MP -MF $(DEPDIR)/libstrace_a-upeek.Tpo -c -o libstrace_a-upeek.obj `if test -f 'upeek.c'; then $(CYGPATH_W) 'upeek.c'; else $(CYGPATH_W) '$(srcdir)/upeek.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-upeek.Tpo $(DEPDIR)/libstrace_a-upeek.Po
+# $(AM_V_CC)source='upeek.c' object='libstrace_a-upeek.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-upeek.obj `if test -f 'upeek.c'; then $(CYGPATH_W) 'upeek.c'; else $(CYGPATH_W) '$(srcdir)/upeek.c'; fi`
+
+libstrace_a-upoke.o: upoke.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-upoke.o -MD -MP -MF $(DEPDIR)/libstrace_a-upoke.Tpo -c -o libstrace_a-upoke.o `test -f 'upoke.c' || echo '$(srcdir)/'`upoke.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-upoke.Tpo $(DEPDIR)/libstrace_a-upoke.Po
+# $(AM_V_CC)source='upoke.c' object='libstrace_a-upoke.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-upoke.o `test -f 'upoke.c' || echo '$(srcdir)/'`upoke.c
+
+libstrace_a-upoke.obj: upoke.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-upoke.obj -MD -MP -MF $(DEPDIR)/libstrace_a-upoke.Tpo -c -o libstrace_a-upoke.obj `if test -f 'upoke.c'; then $(CYGPATH_W) 'upoke.c'; else $(CYGPATH_W) '$(srcdir)/upoke.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-upoke.Tpo $(DEPDIR)/libstrace_a-upoke.Po
+# $(AM_V_CC)source='upoke.c' object='libstrace_a-upoke.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-upoke.obj `if test -f 'upoke.c'; then $(CYGPATH_W) 'upoke.c'; else $(CYGPATH_W) '$(srcdir)/upoke.c'; fi`
+
+strace-access.o: access.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-access.o -MD -MP -MF $(DEPDIR)/strace-access.Tpo -c -o strace-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-access.Tpo $(DEPDIR)/strace-access.Po
+# $(AM_V_CC)source='access.c' object='strace-access.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-access.o `test -f 'access.c' || echo '$(srcdir)/'`access.c
+
+strace-access.obj: access.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-access.obj -MD -MP -MF $(DEPDIR)/strace-access.Tpo -c -o strace-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-access.Tpo $(DEPDIR)/strace-access.Po
+# $(AM_V_CC)source='access.c' object='strace-access.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-access.obj `if test -f 'access.c'; then $(CYGPATH_W) 'access.c'; else $(CYGPATH_W) '$(srcdir)/access.c'; fi`
+
+strace-affinity.o: affinity.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-affinity.o -MD -MP -MF $(DEPDIR)/strace-affinity.Tpo -c -o strace-affinity.o `test -f 'affinity.c' || echo '$(srcdir)/'`affinity.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-affinity.Tpo $(DEPDIR)/strace-affinity.Po
+# $(AM_V_CC)source='affinity.c' object='strace-affinity.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-affinity.o `test -f 'affinity.c' || echo '$(srcdir)/'`affinity.c
+
+strace-affinity.obj: affinity.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-affinity.obj -MD -MP -MF $(DEPDIR)/strace-affinity.Tpo -c -o strace-affinity.obj `if test -f 'affinity.c'; then $(CYGPATH_W) 'affinity.c'; else $(CYGPATH_W) '$(srcdir)/affinity.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-affinity.Tpo $(DEPDIR)/strace-affinity.Po
+# $(AM_V_CC)source='affinity.c' object='strace-affinity.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-affinity.obj `if test -f 'affinity.c'; then $(CYGPATH_W) 'affinity.c'; else $(CYGPATH_W) '$(srcdir)/affinity.c'; fi`
+
+strace-aio.o: aio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-aio.o -MD -MP -MF $(DEPDIR)/strace-aio.Tpo -c -o strace-aio.o `test -f 'aio.c' || echo '$(srcdir)/'`aio.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-aio.Tpo $(DEPDIR)/strace-aio.Po
+# $(AM_V_CC)source='aio.c' object='strace-aio.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-aio.o `test -f 'aio.c' || echo '$(srcdir)/'`aio.c
+
+strace-aio.obj: aio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-aio.obj -MD -MP -MF $(DEPDIR)/strace-aio.Tpo -c -o strace-aio.obj `if test -f 'aio.c'; then $(CYGPATH_W) 'aio.c'; else $(CYGPATH_W) '$(srcdir)/aio.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-aio.Tpo $(DEPDIR)/strace-aio.Po
+# $(AM_V_CC)source='aio.c' object='strace-aio.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-aio.obj `if test -f 'aio.c'; then $(CYGPATH_W) 'aio.c'; else $(CYGPATH_W) '$(srcdir)/aio.c'; fi`
+
+strace-alpha.o: alpha.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-alpha.o -MD -MP -MF $(DEPDIR)/strace-alpha.Tpo -c -o strace-alpha.o `test -f 'alpha.c' || echo '$(srcdir)/'`alpha.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-alpha.Tpo $(DEPDIR)/strace-alpha.Po
+# $(AM_V_CC)source='alpha.c' object='strace-alpha.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-alpha.o `test -f 'alpha.c' || echo '$(srcdir)/'`alpha.c
+
+strace-alpha.obj: alpha.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-alpha.obj -MD -MP -MF $(DEPDIR)/strace-alpha.Tpo -c -o strace-alpha.obj `if test -f 'alpha.c'; then $(CYGPATH_W) 'alpha.c'; else $(CYGPATH_W) '$(srcdir)/alpha.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-alpha.Tpo $(DEPDIR)/strace-alpha.Po
+# $(AM_V_CC)source='alpha.c' object='strace-alpha.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-alpha.obj `if test -f 'alpha.c'; then $(CYGPATH_W) 'alpha.c'; else $(CYGPATH_W) '$(srcdir)/alpha.c'; fi`
+
+strace-basic_filters.o: basic_filters.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-basic_filters.o -MD -MP -MF $(DEPDIR)/strace-basic_filters.Tpo -c -o strace-basic_filters.o `test -f 'basic_filters.c' || echo '$(srcdir)/'`basic_filters.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-basic_filters.Tpo $(DEPDIR)/strace-basic_filters.Po
+# $(AM_V_CC)source='basic_filters.c' object='strace-basic_filters.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-basic_filters.o `test -f 'basic_filters.c' || echo '$(srcdir)/'`basic_filters.c
+
+strace-basic_filters.obj: basic_filters.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-basic_filters.obj -MD -MP -MF $(DEPDIR)/strace-basic_filters.Tpo -c -o strace-basic_filters.obj `if test -f 'basic_filters.c'; then $(CYGPATH_W) 'basic_filters.c'; else $(CYGPATH_W) '$(srcdir)/basic_filters.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-basic_filters.Tpo $(DEPDIR)/strace-basic_filters.Po
+# $(AM_V_CC)source='basic_filters.c' object='strace-basic_filters.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-basic_filters.obj `if test -f 'basic_filters.c'; then $(CYGPATH_W) 'basic_filters.c'; else $(CYGPATH_W) '$(srcdir)/basic_filters.c'; fi`
+
+strace-bind.o: bind.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bind.o -MD -MP -MF $(DEPDIR)/strace-bind.Tpo -c -o strace-bind.o `test -f 'bind.c' || echo '$(srcdir)/'`bind.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bind.Tpo $(DEPDIR)/strace-bind.Po
+# $(AM_V_CC)source='bind.c' object='strace-bind.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bind.o `test -f 'bind.c' || echo '$(srcdir)/'`bind.c
+
+strace-bind.obj: bind.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bind.obj -MD -MP -MF $(DEPDIR)/strace-bind.Tpo -c -o strace-bind.obj `if test -f 'bind.c'; then $(CYGPATH_W) 'bind.c'; else $(CYGPATH_W) '$(srcdir)/bind.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bind.Tpo $(DEPDIR)/strace-bind.Po
+# $(AM_V_CC)source='bind.c' object='strace-bind.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bind.obj `if test -f 'bind.c'; then $(CYGPATH_W) 'bind.c'; else $(CYGPATH_W) '$(srcdir)/bind.c'; fi`
+
+strace-bjm.o: bjm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bjm.o -MD -MP -MF $(DEPDIR)/strace-bjm.Tpo -c -o strace-bjm.o `test -f 'bjm.c' || echo '$(srcdir)/'`bjm.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bjm.Tpo $(DEPDIR)/strace-bjm.Po
+# $(AM_V_CC)source='bjm.c' object='strace-bjm.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bjm.o `test -f 'bjm.c' || echo '$(srcdir)/'`bjm.c
+
+strace-bjm.obj: bjm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bjm.obj -MD -MP -MF $(DEPDIR)/strace-bjm.Tpo -c -o strace-bjm.obj `if test -f 'bjm.c'; then $(CYGPATH_W) 'bjm.c'; else $(CYGPATH_W) '$(srcdir)/bjm.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bjm.Tpo $(DEPDIR)/strace-bjm.Po
+# $(AM_V_CC)source='bjm.c' object='strace-bjm.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bjm.obj `if test -f 'bjm.c'; then $(CYGPATH_W) 'bjm.c'; else $(CYGPATH_W) '$(srcdir)/bjm.c'; fi`
+
+strace-block.o: block.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-block.o -MD -MP -MF $(DEPDIR)/strace-block.Tpo -c -o strace-block.o `test -f 'block.c' || echo '$(srcdir)/'`block.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-block.Tpo $(DEPDIR)/strace-block.Po
+# $(AM_V_CC)source='block.c' object='strace-block.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-block.o `test -f 'block.c' || echo '$(srcdir)/'`block.c
+
+strace-block.obj: block.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-block.obj -MD -MP -MF $(DEPDIR)/strace-block.Tpo -c -o strace-block.obj `if test -f 'block.c'; then $(CYGPATH_W) 'block.c'; else $(CYGPATH_W) '$(srcdir)/block.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-block.Tpo $(DEPDIR)/strace-block.Po
+# $(AM_V_CC)source='block.c' object='strace-block.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-block.obj `if test -f 'block.c'; then $(CYGPATH_W) 'block.c'; else $(CYGPATH_W) '$(srcdir)/block.c'; fi`
+
+strace-bpf.o: bpf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf.o -MD -MP -MF $(DEPDIR)/strace-bpf.Tpo -c -o strace-bpf.o `test -f 'bpf.c' || echo '$(srcdir)/'`bpf.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf.Tpo $(DEPDIR)/strace-bpf.Po
+# $(AM_V_CC)source='bpf.c' object='strace-bpf.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf.o `test -f 'bpf.c' || echo '$(srcdir)/'`bpf.c
+
+strace-bpf.obj: bpf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf.obj -MD -MP -MF $(DEPDIR)/strace-bpf.Tpo -c -o strace-bpf.obj `if test -f 'bpf.c'; then $(CYGPATH_W) 'bpf.c'; else $(CYGPATH_W) '$(srcdir)/bpf.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf.Tpo $(DEPDIR)/strace-bpf.Po
+# $(AM_V_CC)source='bpf.c' object='strace-bpf.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf.obj `if test -f 'bpf.c'; then $(CYGPATH_W) 'bpf.c'; else $(CYGPATH_W) '$(srcdir)/bpf.c'; fi`
+
+strace-bpf_filter.o: bpf_filter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_filter.o -MD -MP -MF $(DEPDIR)/strace-bpf_filter.Tpo -c -o strace-bpf_filter.o `test -f 'bpf_filter.c' || echo '$(srcdir)/'`bpf_filter.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_filter.Tpo $(DEPDIR)/strace-bpf_filter.Po
+# $(AM_V_CC)source='bpf_filter.c' object='strace-bpf_filter.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_filter.o `test -f 'bpf_filter.c' || echo '$(srcdir)/'`bpf_filter.c
+
+strace-bpf_filter.obj: bpf_filter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_filter.obj -MD -MP -MF $(DEPDIR)/strace-bpf_filter.Tpo -c -o strace-bpf_filter.obj `if test -f 'bpf_filter.c'; then $(CYGPATH_W) 'bpf_filter.c'; else $(CYGPATH_W) '$(srcdir)/bpf_filter.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_filter.Tpo $(DEPDIR)/strace-bpf_filter.Po
+# $(AM_V_CC)source='bpf_filter.c' object='strace-bpf_filter.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_filter.obj `if test -f 'bpf_filter.c'; then $(CYGPATH_W) 'bpf_filter.c'; else $(CYGPATH_W) '$(srcdir)/bpf_filter.c'; fi`
+
+strace-bpf_seccomp_filter.o: bpf_seccomp_filter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_seccomp_filter.o -MD -MP -MF $(DEPDIR)/strace-bpf_seccomp_filter.Tpo -c -o strace-bpf_seccomp_filter.o `test -f 'bpf_seccomp_filter.c' || echo '$(srcdir)/'`bpf_seccomp_filter.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_seccomp_filter.Tpo $(DEPDIR)/strace-bpf_seccomp_filter.Po
+# $(AM_V_CC)source='bpf_seccomp_filter.c' object='strace-bpf_seccomp_filter.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_seccomp_filter.o `test -f 'bpf_seccomp_filter.c' || echo '$(srcdir)/'`bpf_seccomp_filter.c
+
+strace-bpf_seccomp_filter.obj: bpf_seccomp_filter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_seccomp_filter.obj -MD -MP -MF $(DEPDIR)/strace-bpf_seccomp_filter.Tpo -c -o strace-bpf_seccomp_filter.obj `if test -f 'bpf_seccomp_filter.c'; then $(CYGPATH_W) 'bpf_seccomp_filter.c'; else $(CYGPATH_W) '$(srcdir)/bpf_seccomp_filter.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_seccomp_filter.Tpo $(DEPDIR)/strace-bpf_seccomp_filter.Po
+# $(AM_V_CC)source='bpf_seccomp_filter.c' object='strace-bpf_seccomp_filter.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_seccomp_filter.obj `if test -f 'bpf_seccomp_filter.c'; then $(CYGPATH_W) 'bpf_seccomp_filter.c'; else $(CYGPATH_W) '$(srcdir)/bpf_seccomp_filter.c'; fi`
+
+strace-bpf_sock_filter.o: bpf_sock_filter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_sock_filter.o -MD -MP -MF $(DEPDIR)/strace-bpf_sock_filter.Tpo -c -o strace-bpf_sock_filter.o `test -f 'bpf_sock_filter.c' || echo '$(srcdir)/'`bpf_sock_filter.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_sock_filter.Tpo $(DEPDIR)/strace-bpf_sock_filter.Po
+# $(AM_V_CC)source='bpf_sock_filter.c' object='strace-bpf_sock_filter.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_sock_filter.o `test -f 'bpf_sock_filter.c' || echo '$(srcdir)/'`bpf_sock_filter.c
+
+strace-bpf_sock_filter.obj: bpf_sock_filter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_sock_filter.obj -MD -MP -MF $(DEPDIR)/strace-bpf_sock_filter.Tpo -c -o strace-bpf_sock_filter.obj `if test -f 'bpf_sock_filter.c'; then $(CYGPATH_W) 'bpf_sock_filter.c'; else $(CYGPATH_W) '$(srcdir)/bpf_sock_filter.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_sock_filter.Tpo $(DEPDIR)/strace-bpf_sock_filter.Po
+# $(AM_V_CC)source='bpf_sock_filter.c' object='strace-bpf_sock_filter.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_sock_filter.obj `if test -f 'bpf_sock_filter.c'; then $(CYGPATH_W) 'bpf_sock_filter.c'; else $(CYGPATH_W) '$(srcdir)/bpf_sock_filter.c'; fi`
+
+strace-btrfs.o: btrfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-btrfs.o -MD -MP -MF $(DEPDIR)/strace-btrfs.Tpo -c -o strace-btrfs.o `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-btrfs.Tpo $(DEPDIR)/strace-btrfs.Po
+# $(AM_V_CC)source='btrfs.c' object='strace-btrfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-btrfs.o `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c
+
+strace-btrfs.obj: btrfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-btrfs.obj -MD -MP -MF $(DEPDIR)/strace-btrfs.Tpo -c -o strace-btrfs.obj `if test -f 'btrfs.c'; then $(CYGPATH_W) 'btrfs.c'; else $(CYGPATH_W) '$(srcdir)/btrfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-btrfs.Tpo $(DEPDIR)/strace-btrfs.Po
+# $(AM_V_CC)source='btrfs.c' object='strace-btrfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-btrfs.obj `if test -f 'btrfs.c'; then $(CYGPATH_W) 'btrfs.c'; else $(CYGPATH_W) '$(srcdir)/btrfs.c'; fi`
+
+strace-cacheflush.o: cacheflush.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-cacheflush.o -MD -MP -MF $(DEPDIR)/strace-cacheflush.Tpo -c -o strace-cacheflush.o `test -f 'cacheflush.c' || echo '$(srcdir)/'`cacheflush.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-cacheflush.Tpo $(DEPDIR)/strace-cacheflush.Po
+# $(AM_V_CC)source='cacheflush.c' object='strace-cacheflush.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-cacheflush.o `test -f 'cacheflush.c' || echo '$(srcdir)/'`cacheflush.c
+
+strace-cacheflush.obj: cacheflush.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-cacheflush.obj -MD -MP -MF $(DEPDIR)/strace-cacheflush.Tpo -c -o strace-cacheflush.obj `if test -f 'cacheflush.c'; then $(CYGPATH_W) 'cacheflush.c'; else $(CYGPATH_W) '$(srcdir)/cacheflush.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-cacheflush.Tpo $(DEPDIR)/strace-cacheflush.Po
+# $(AM_V_CC)source='cacheflush.c' object='strace-cacheflush.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-cacheflush.obj `if test -f 'cacheflush.c'; then $(CYGPATH_W) 'cacheflush.c'; else $(CYGPATH_W) '$(srcdir)/cacheflush.c'; fi`
+
+strace-capability.o: capability.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-capability.o -MD -MP -MF $(DEPDIR)/strace-capability.Tpo -c -o strace-capability.o `test -f 'capability.c' || echo '$(srcdir)/'`capability.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-capability.Tpo $(DEPDIR)/strace-capability.Po
+# $(AM_V_CC)source='capability.c' object='strace-capability.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-capability.o `test -f 'capability.c' || echo '$(srcdir)/'`capability.c
+
+strace-capability.obj: capability.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-capability.obj -MD -MP -MF $(DEPDIR)/strace-capability.Tpo -c -o strace-capability.obj `if test -f 'capability.c'; then $(CYGPATH_W) 'capability.c'; else $(CYGPATH_W) '$(srcdir)/capability.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-capability.Tpo $(DEPDIR)/strace-capability.Po
+# $(AM_V_CC)source='capability.c' object='strace-capability.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-capability.obj `if test -f 'capability.c'; then $(CYGPATH_W) 'capability.c'; else $(CYGPATH_W) '$(srcdir)/capability.c'; fi`
+
+strace-chdir.o: chdir.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-chdir.o -MD -MP -MF $(DEPDIR)/strace-chdir.Tpo -c -o strace-chdir.o `test -f 'chdir.c' || echo '$(srcdir)/'`chdir.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-chdir.Tpo $(DEPDIR)/strace-chdir.Po
+# $(AM_V_CC)source='chdir.c' object='strace-chdir.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-chdir.o `test -f 'chdir.c' || echo '$(srcdir)/'`chdir.c
+
+strace-chdir.obj: chdir.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-chdir.obj -MD -MP -MF $(DEPDIR)/strace-chdir.Tpo -c -o strace-chdir.obj `if test -f 'chdir.c'; then $(CYGPATH_W) 'chdir.c'; else $(CYGPATH_W) '$(srcdir)/chdir.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-chdir.Tpo $(DEPDIR)/strace-chdir.Po
+# $(AM_V_CC)source='chdir.c' object='strace-chdir.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-chdir.obj `if test -f 'chdir.c'; then $(CYGPATH_W) 'chdir.c'; else $(CYGPATH_W) '$(srcdir)/chdir.c'; fi`
+
+strace-chmod.o: chmod.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-chmod.o -MD -MP -MF $(DEPDIR)/strace-chmod.Tpo -c -o strace-chmod.o `test -f 'chmod.c' || echo '$(srcdir)/'`chmod.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-chmod.Tpo $(DEPDIR)/strace-chmod.Po
+# $(AM_V_CC)source='chmod.c' object='strace-chmod.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-chmod.o `test -f 'chmod.c' || echo '$(srcdir)/'`chmod.c
+
+strace-chmod.obj: chmod.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-chmod.obj -MD -MP -MF $(DEPDIR)/strace-chmod.Tpo -c -o strace-chmod.obj `if test -f 'chmod.c'; then $(CYGPATH_W) 'chmod.c'; else $(CYGPATH_W) '$(srcdir)/chmod.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-chmod.Tpo $(DEPDIR)/strace-chmod.Po
+# $(AM_V_CC)source='chmod.c' object='strace-chmod.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-chmod.obj `if test -f 'chmod.c'; then $(CYGPATH_W) 'chmod.c'; else $(CYGPATH_W) '$(srcdir)/chmod.c'; fi`
+
+strace-clone.o: clone.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-clone.o -MD -MP -MF $(DEPDIR)/strace-clone.Tpo -c -o strace-clone.o `test -f 'clone.c' || echo '$(srcdir)/'`clone.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-clone.Tpo $(DEPDIR)/strace-clone.Po
+# $(AM_V_CC)source='clone.c' object='strace-clone.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-clone.o `test -f 'clone.c' || echo '$(srcdir)/'`clone.c
+
+strace-clone.obj: clone.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-clone.obj -MD -MP -MF $(DEPDIR)/strace-clone.Tpo -c -o strace-clone.obj `if test -f 'clone.c'; then $(CYGPATH_W) 'clone.c'; else $(CYGPATH_W) '$(srcdir)/clone.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-clone.Tpo $(DEPDIR)/strace-clone.Po
+# $(AM_V_CC)source='clone.c' object='strace-clone.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-clone.obj `if test -f 'clone.c'; then $(CYGPATH_W) 'clone.c'; else $(CYGPATH_W) '$(srcdir)/clone.c'; fi`
+
+strace-copy_file_range.o: copy_file_range.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-copy_file_range.o -MD -MP -MF $(DEPDIR)/strace-copy_file_range.Tpo -c -o strace-copy_file_range.o `test -f 'copy_file_range.c' || echo '$(srcdir)/'`copy_file_range.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-copy_file_range.Tpo $(DEPDIR)/strace-copy_file_range.Po
+# $(AM_V_CC)source='copy_file_range.c' object='strace-copy_file_range.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-copy_file_range.o `test -f 'copy_file_range.c' || echo '$(srcdir)/'`copy_file_range.c
+
+strace-copy_file_range.obj: copy_file_range.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-copy_file_range.obj -MD -MP -MF $(DEPDIR)/strace-copy_file_range.Tpo -c -o strace-copy_file_range.obj `if test -f 'copy_file_range.c'; then $(CYGPATH_W) 'copy_file_range.c'; else $(CYGPATH_W) '$(srcdir)/copy_file_range.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-copy_file_range.Tpo $(DEPDIR)/strace-copy_file_range.Po
+# $(AM_V_CC)source='copy_file_range.c' object='strace-copy_file_range.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-copy_file_range.obj `if test -f 'copy_file_range.c'; then $(CYGPATH_W) 'copy_file_range.c'; else $(CYGPATH_W) '$(srcdir)/copy_file_range.c'; fi`
+
+strace-count.o: count.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-count.o -MD -MP -MF $(DEPDIR)/strace-count.Tpo -c -o strace-count.o `test -f 'count.c' || echo '$(srcdir)/'`count.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-count.Tpo $(DEPDIR)/strace-count.Po
+# $(AM_V_CC)source='count.c' object='strace-count.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-count.o `test -f 'count.c' || echo '$(srcdir)/'`count.c
+
+strace-count.obj: count.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-count.obj -MD -MP -MF $(DEPDIR)/strace-count.Tpo -c -o strace-count.obj `if test -f 'count.c'; then $(CYGPATH_W) 'count.c'; else $(CYGPATH_W) '$(srcdir)/count.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-count.Tpo $(DEPDIR)/strace-count.Po
+# $(AM_V_CC)source='count.c' object='strace-count.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-count.obj `if test -f 'count.c'; then $(CYGPATH_W) 'count.c'; else $(CYGPATH_W) '$(srcdir)/count.c'; fi`
+
+strace-delay.o: delay.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-delay.o -MD -MP -MF $(DEPDIR)/strace-delay.Tpo -c -o strace-delay.o `test -f 'delay.c' || echo '$(srcdir)/'`delay.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-delay.Tpo $(DEPDIR)/strace-delay.Po
+# $(AM_V_CC)source='delay.c' object='strace-delay.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-delay.o `test -f 'delay.c' || echo '$(srcdir)/'`delay.c
+
+strace-delay.obj: delay.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-delay.obj -MD -MP -MF $(DEPDIR)/strace-delay.Tpo -c -o strace-delay.obj `if test -f 'delay.c'; then $(CYGPATH_W) 'delay.c'; else $(CYGPATH_W) '$(srcdir)/delay.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-delay.Tpo $(DEPDIR)/strace-delay.Po
+# $(AM_V_CC)source='delay.c' object='strace-delay.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-delay.obj `if test -f 'delay.c'; then $(CYGPATH_W) 'delay.c'; else $(CYGPATH_W) '$(srcdir)/delay.c'; fi`
+
+strace-desc.o: desc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-desc.o -MD -MP -MF $(DEPDIR)/strace-desc.Tpo -c -o strace-desc.o `test -f 'desc.c' || echo '$(srcdir)/'`desc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-desc.Tpo $(DEPDIR)/strace-desc.Po
+# $(AM_V_CC)source='desc.c' object='strace-desc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-desc.o `test -f 'desc.c' || echo '$(srcdir)/'`desc.c
+
+strace-desc.obj: desc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-desc.obj -MD -MP -MF $(DEPDIR)/strace-desc.Tpo -c -o strace-desc.obj `if test -f 'desc.c'; then $(CYGPATH_W) 'desc.c'; else $(CYGPATH_W) '$(srcdir)/desc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-desc.Tpo $(DEPDIR)/strace-desc.Po
+# $(AM_V_CC)source='desc.c' object='strace-desc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-desc.obj `if test -f 'desc.c'; then $(CYGPATH_W) 'desc.c'; else $(CYGPATH_W) '$(srcdir)/desc.c'; fi`
+
+strace-dirent.o: dirent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dirent.o -MD -MP -MF $(DEPDIR)/strace-dirent.Tpo -c -o strace-dirent.o `test -f 'dirent.c' || echo '$(srcdir)/'`dirent.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dirent.Tpo $(DEPDIR)/strace-dirent.Po
+# $(AM_V_CC)source='dirent.c' object='strace-dirent.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dirent.o `test -f 'dirent.c' || echo '$(srcdir)/'`dirent.c
+
+strace-dirent.obj: dirent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dirent.obj -MD -MP -MF $(DEPDIR)/strace-dirent.Tpo -c -o strace-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dirent.Tpo $(DEPDIR)/strace-dirent.Po
+# $(AM_V_CC)source='dirent.c' object='strace-dirent.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
+
+strace-dirent64.o: dirent64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dirent64.o -MD -MP -MF $(DEPDIR)/strace-dirent64.Tpo -c -o strace-dirent64.o `test -f 'dirent64.c' || echo '$(srcdir)/'`dirent64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dirent64.Tpo $(DEPDIR)/strace-dirent64.Po
+# $(AM_V_CC)source='dirent64.c' object='strace-dirent64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dirent64.o `test -f 'dirent64.c' || echo '$(srcdir)/'`dirent64.c
+
+strace-dirent64.obj: dirent64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dirent64.obj -MD -MP -MF $(DEPDIR)/strace-dirent64.Tpo -c -o strace-dirent64.obj `if test -f 'dirent64.c'; then $(CYGPATH_W) 'dirent64.c'; else $(CYGPATH_W) '$(srcdir)/dirent64.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dirent64.Tpo $(DEPDIR)/strace-dirent64.Po
+# $(AM_V_CC)source='dirent64.c' object='strace-dirent64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dirent64.obj `if test -f 'dirent64.c'; then $(CYGPATH_W) 'dirent64.c'; else $(CYGPATH_W) '$(srcdir)/dirent64.c'; fi`
+
+strace-dm.o: dm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dm.o -MD -MP -MF $(DEPDIR)/strace-dm.Tpo -c -o strace-dm.o `test -f 'dm.c' || echo '$(srcdir)/'`dm.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dm.Tpo $(DEPDIR)/strace-dm.Po
+# $(AM_V_CC)source='dm.c' object='strace-dm.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dm.o `test -f 'dm.c' || echo '$(srcdir)/'`dm.c
+
+strace-dm.obj: dm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dm.obj -MD -MP -MF $(DEPDIR)/strace-dm.Tpo -c -o strace-dm.obj `if test -f 'dm.c'; then $(CYGPATH_W) 'dm.c'; else $(CYGPATH_W) '$(srcdir)/dm.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dm.Tpo $(DEPDIR)/strace-dm.Po
+# $(AM_V_CC)source='dm.c' object='strace-dm.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-dyxlat.Tpo $(DEPDIR)/strace-dyxlat.Po
+# $(AM_V_CC)source='dyxlat.c' object='strace-dyxlat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-dyxlat.Tpo $(DEPDIR)/strace-dyxlat.Po
+# $(AM_V_CC)source='dyxlat.c' object='strace-dyxlat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-epoll.Tpo $(DEPDIR)/strace-epoll.Po
+# $(AM_V_CC)source='epoll.c' object='strace-epoll.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-epoll.o `test -f 'epoll.c' || echo '$(srcdir)/'`epoll.c
+
+strace-epoll.obj: epoll.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-epoll.obj -MD -MP -MF $(DEPDIR)/strace-epoll.Tpo -c -o strace-epoll.obj `if test -f 'epoll.c'; then $(CYGPATH_W) 'epoll.c'; else $(CYGPATH_W) '$(srcdir)/epoll.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-epoll.Tpo $(DEPDIR)/strace-epoll.Po
+# $(AM_V_CC)source='epoll.c' object='strace-epoll.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-epoll.obj `if test -f 'epoll.c'; then $(CYGPATH_W) 'epoll.c'; else $(CYGPATH_W) '$(srcdir)/epoll.c'; fi`
+
+strace-error_prints.o: error_prints.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-error_prints.o -MD -MP -MF $(DEPDIR)/strace-error_prints.Tpo -c -o strace-error_prints.o `test -f 'error_prints.c' || echo '$(srcdir)/'`error_prints.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-error_prints.Tpo $(DEPDIR)/strace-error_prints.Po
+# $(AM_V_CC)source='error_prints.c' object='strace-error_prints.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-error_prints.o `test -f 'error_prints.c' || echo '$(srcdir)/'`error_prints.c
+
+strace-error_prints.obj: error_prints.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-error_prints.obj -MD -MP -MF $(DEPDIR)/strace-error_prints.Tpo -c -o strace-error_prints.obj `if test -f 'error_prints.c'; then $(CYGPATH_W) 'error_prints.c'; else $(CYGPATH_W) '$(srcdir)/error_prints.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-error_prints.Tpo $(DEPDIR)/strace-error_prints.Po
+# $(AM_V_CC)source='error_prints.c' object='strace-error_prints.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-error_prints.obj `if test -f 'error_prints.c'; then $(CYGPATH_W) 'error_prints.c'; else $(CYGPATH_W) '$(srcdir)/error_prints.c'; fi`
+
+strace-evdev.o: evdev.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-evdev.o -MD -MP -MF $(DEPDIR)/strace-evdev.Tpo -c -o strace-evdev.o `test -f 'evdev.c' || echo '$(srcdir)/'`evdev.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-evdev.Tpo $(DEPDIR)/strace-evdev.Po
+# $(AM_V_CC)source='evdev.c' object='strace-evdev.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-evdev.o `test -f 'evdev.c' || echo '$(srcdir)/'`evdev.c
+
+strace-evdev.obj: evdev.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-evdev.obj -MD -MP -MF $(DEPDIR)/strace-evdev.Tpo -c -o strace-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-evdev.Tpo $(DEPDIR)/strace-evdev.Po
+# $(AM_V_CC)source='evdev.c' object='strace-evdev.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
+
+strace-evdev_mpers.o: evdev_mpers.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-evdev_mpers.o -MD -MP -MF $(DEPDIR)/strace-evdev_mpers.Tpo -c -o strace-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-evdev_mpers.Tpo $(DEPDIR)/strace-evdev_mpers.Po
+# $(AM_V_CC)source='evdev_mpers.c' object='strace-evdev_mpers.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+
+strace-evdev_mpers.obj: evdev_mpers.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-evdev_mpers.obj -MD -MP -MF $(DEPDIR)/strace-evdev_mpers.Tpo -c -o strace-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-evdev_mpers.Tpo $(DEPDIR)/strace-evdev_mpers.Po
+# $(AM_V_CC)source='evdev_mpers.c' object='strace-evdev_mpers.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+
+strace-eventfd.o: eventfd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-eventfd.o -MD -MP -MF $(DEPDIR)/strace-eventfd.Tpo -c -o strace-eventfd.o `test -f 'eventfd.c' || echo '$(srcdir)/'`eventfd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-eventfd.Tpo $(DEPDIR)/strace-eventfd.Po
+# $(AM_V_CC)source='eventfd.c' object='strace-eventfd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-eventfd.o `test -f 'eventfd.c' || echo '$(srcdir)/'`eventfd.c
+
+strace-eventfd.obj: eventfd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-eventfd.obj -MD -MP -MF $(DEPDIR)/strace-eventfd.Tpo -c -o strace-eventfd.obj `if test -f 'eventfd.c'; then $(CYGPATH_W) 'eventfd.c'; else $(CYGPATH_W) '$(srcdir)/eventfd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-eventfd.Tpo $(DEPDIR)/strace-eventfd.Po
+# $(AM_V_CC)source='eventfd.c' object='strace-eventfd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-eventfd.obj `if test -f 'eventfd.c'; then $(CYGPATH_W) 'eventfd.c'; else $(CYGPATH_W) '$(srcdir)/eventfd.c'; fi`
+
+strace-execve.o: execve.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-execve.o -MD -MP -MF $(DEPDIR)/strace-execve.Tpo -c -o strace-execve.o `test -f 'execve.c' || echo '$(srcdir)/'`execve.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-execve.Tpo $(DEPDIR)/strace-execve.Po
+# $(AM_V_CC)source='execve.c' object='strace-execve.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-execve.o `test -f 'execve.c' || echo '$(srcdir)/'`execve.c
+
+strace-execve.obj: execve.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-execve.obj -MD -MP -MF $(DEPDIR)/strace-execve.Tpo -c -o strace-execve.obj `if test -f 'execve.c'; then $(CYGPATH_W) 'execve.c'; else $(CYGPATH_W) '$(srcdir)/execve.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-execve.Tpo $(DEPDIR)/strace-execve.Po
+# $(AM_V_CC)source='execve.c' object='strace-execve.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-execve.obj `if test -f 'execve.c'; then $(CYGPATH_W) 'execve.c'; else $(CYGPATH_W) '$(srcdir)/execve.c'; fi`
+
+strace-fadvise.o: fadvise.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fadvise.o -MD -MP -MF $(DEPDIR)/strace-fadvise.Tpo -c -o strace-fadvise.o `test -f 'fadvise.c' || echo '$(srcdir)/'`fadvise.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fadvise.Tpo $(DEPDIR)/strace-fadvise.Po
+# $(AM_V_CC)source='fadvise.c' object='strace-fadvise.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fadvise.o `test -f 'fadvise.c' || echo '$(srcdir)/'`fadvise.c
+
+strace-fadvise.obj: fadvise.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fadvise.obj -MD -MP -MF $(DEPDIR)/strace-fadvise.Tpo -c -o strace-fadvise.obj `if test -f 'fadvise.c'; then $(CYGPATH_W) 'fadvise.c'; else $(CYGPATH_W) '$(srcdir)/fadvise.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fadvise.Tpo $(DEPDIR)/strace-fadvise.Po
+# $(AM_V_CC)source='fadvise.c' object='strace-fadvise.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fadvise.obj `if test -f 'fadvise.c'; then $(CYGPATH_W) 'fadvise.c'; else $(CYGPATH_W) '$(srcdir)/fadvise.c'; fi`
+
+strace-fallocate.o: fallocate.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fallocate.o -MD -MP -MF $(DEPDIR)/strace-fallocate.Tpo -c -o strace-fallocate.o `test -f 'fallocate.c' || echo '$(srcdir)/'`fallocate.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fallocate.Tpo $(DEPDIR)/strace-fallocate.Po
+# $(AM_V_CC)source='fallocate.c' object='strace-fallocate.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fallocate.o `test -f 'fallocate.c' || echo '$(srcdir)/'`fallocate.c
+
+strace-fallocate.obj: fallocate.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fallocate.obj -MD -MP -MF $(DEPDIR)/strace-fallocate.Tpo -c -o strace-fallocate.obj `if test -f 'fallocate.c'; then $(CYGPATH_W) 'fallocate.c'; else $(CYGPATH_W) '$(srcdir)/fallocate.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fallocate.Tpo $(DEPDIR)/strace-fallocate.Po
+# $(AM_V_CC)source='fallocate.c' object='strace-fallocate.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fallocate.obj `if test -f 'fallocate.c'; then $(CYGPATH_W) 'fallocate.c'; else $(CYGPATH_W) '$(srcdir)/fallocate.c'; fi`
+
+strace-fanotify.o: fanotify.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fanotify.o -MD -MP -MF $(DEPDIR)/strace-fanotify.Tpo -c -o strace-fanotify.o `test -f 'fanotify.c' || echo '$(srcdir)/'`fanotify.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fanotify.Tpo $(DEPDIR)/strace-fanotify.Po
+# $(AM_V_CC)source='fanotify.c' object='strace-fanotify.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fanotify.o `test -f 'fanotify.c' || echo '$(srcdir)/'`fanotify.c
+
+strace-fanotify.obj: fanotify.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fanotify.obj -MD -MP -MF $(DEPDIR)/strace-fanotify.Tpo -c -o strace-fanotify.obj `if test -f 'fanotify.c'; then $(CYGPATH_W) 'fanotify.c'; else $(CYGPATH_W) '$(srcdir)/fanotify.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fanotify.Tpo $(DEPDIR)/strace-fanotify.Po
+# $(AM_V_CC)source='fanotify.c' object='strace-fanotify.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fanotify.obj `if test -f 'fanotify.c'; then $(CYGPATH_W) 'fanotify.c'; else $(CYGPATH_W) '$(srcdir)/fanotify.c'; fi`
+
+strace-fchownat.o: fchownat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fchownat.o -MD -MP -MF $(DEPDIR)/strace-fchownat.Tpo -c -o strace-fchownat.o `test -f 'fchownat.c' || echo '$(srcdir)/'`fchownat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fchownat.Tpo $(DEPDIR)/strace-fchownat.Po
+# $(AM_V_CC)source='fchownat.c' object='strace-fchownat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fchownat.o `test -f 'fchownat.c' || echo '$(srcdir)/'`fchownat.c
+
+strace-fchownat.obj: fchownat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fchownat.obj -MD -MP -MF $(DEPDIR)/strace-fchownat.Tpo -c -o strace-fchownat.obj `if test -f 'fchownat.c'; then $(CYGPATH_W) 'fchownat.c'; else $(CYGPATH_W) '$(srcdir)/fchownat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fchownat.Tpo $(DEPDIR)/strace-fchownat.Po
+# $(AM_V_CC)source='fchownat.c' object='strace-fchownat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fchownat.obj `if test -f 'fchownat.c'; then $(CYGPATH_W) 'fchownat.c'; else $(CYGPATH_W) '$(srcdir)/fchownat.c'; fi`
+
+strace-fcntl.o: fcntl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fcntl.o -MD -MP -MF $(DEPDIR)/strace-fcntl.Tpo -c -o strace-fcntl.o `test -f 'fcntl.c' || echo '$(srcdir)/'`fcntl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fcntl.Tpo $(DEPDIR)/strace-fcntl.Po
+# $(AM_V_CC)source='fcntl.c' object='strace-fcntl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fcntl.o `test -f 'fcntl.c' || echo '$(srcdir)/'`fcntl.c
+
+strace-fcntl.obj: fcntl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fcntl.obj -MD -MP -MF $(DEPDIR)/strace-fcntl.Tpo -c -o strace-fcntl.obj `if test -f 'fcntl.c'; then $(CYGPATH_W) 'fcntl.c'; else $(CYGPATH_W) '$(srcdir)/fcntl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fcntl.Tpo $(DEPDIR)/strace-fcntl.Po
+# $(AM_V_CC)source='fcntl.c' object='strace-fcntl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fcntl.obj `if test -f 'fcntl.c'; then $(CYGPATH_W) 'fcntl.c'; else $(CYGPATH_W) '$(srcdir)/fcntl.c'; fi`
+
+strace-fetch_bpf_fprog.o: fetch_bpf_fprog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_bpf_fprog.o -MD -MP -MF $(DEPDIR)/strace-fetch_bpf_fprog.Tpo -c -o strace-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_bpf_fprog.Tpo $(DEPDIR)/strace-fetch_bpf_fprog.Po
+# $(AM_V_CC)source='fetch_bpf_fprog.c' object='strace-fetch_bpf_fprog.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
+
+strace-fetch_bpf_fprog.obj: fetch_bpf_fprog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_bpf_fprog.obj -MD -MP -MF $(DEPDIR)/strace-fetch_bpf_fprog.Tpo -c -o strace-fetch_bpf_fprog.obj `if test -f 'fetch_bpf_fprog.c'; then $(CYGPATH_W) 'fetch_bpf_fprog.c'; else $(CYGPATH_W) '$(srcdir)/fetch_bpf_fprog.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_bpf_fprog.Tpo $(DEPDIR)/strace-fetch_bpf_fprog.Po
+# $(AM_V_CC)source='fetch_bpf_fprog.c' object='strace-fetch_bpf_fprog.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_bpf_fprog.obj `if test -f 'fetch_bpf_fprog.c'; then $(CYGPATH_W) 'fetch_bpf_fprog.c'; else $(CYGPATH_W) '$(srcdir)/fetch_bpf_fprog.c'; fi`
+
+strace-fetch_struct_flock.o: fetch_struct_flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_flock.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_flock.Tpo -c -o strace-fetch_struct_flock.o `test -f 'fetch_struct_flock.c' || echo '$(srcdir)/'`fetch_struct_flock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_flock.Tpo $(DEPDIR)/strace-fetch_struct_flock.Po
+# $(AM_V_CC)source='fetch_struct_flock.c' object='strace-fetch_struct_flock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_flock.o `test -f 'fetch_struct_flock.c' || echo '$(srcdir)/'`fetch_struct_flock.c
+
+strace-fetch_struct_flock.obj: fetch_struct_flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_flock.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_flock.Tpo -c -o strace-fetch_struct_flock.obj `if test -f 'fetch_struct_flock.c'; then $(CYGPATH_W) 'fetch_struct_flock.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_flock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_flock.Tpo $(DEPDIR)/strace-fetch_struct_flock.Po
+# $(AM_V_CC)source='fetch_struct_flock.c' object='strace-fetch_struct_flock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_flock.obj `if test -f 'fetch_struct_flock.c'; then $(CYGPATH_W) 'fetch_struct_flock.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_flock.c'; fi`
+
+strace-fetch_struct_keyctl_kdf_params.o: fetch_struct_keyctl_kdf_params.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_keyctl_kdf_params.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Tpo -c -o strace-fetch_struct_keyctl_kdf_params.o `test -f 'fetch_struct_keyctl_kdf_params.c' || echo '$(srcdir)/'`fetch_struct_keyctl_kdf_params.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Tpo $(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Po
+# $(AM_V_CC)source='fetch_struct_keyctl_kdf_params.c' object='strace-fetch_struct_keyctl_kdf_params.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_keyctl_kdf_params.o `test -f 'fetch_struct_keyctl_kdf_params.c' || echo '$(srcdir)/'`fetch_struct_keyctl_kdf_params.c
+
+strace-fetch_struct_keyctl_kdf_params.obj: fetch_struct_keyctl_kdf_params.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_keyctl_kdf_params.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Tpo -c -o strace-fetch_struct_keyctl_kdf_params.obj `if test -f 'fetch_struct_keyctl_kdf_params.c'; then $(CYGPATH_W) 'fetch_struct_keyctl_kdf_params.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_keyctl_kdf_params.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Tpo $(DEPDIR)/strace-fetch_struct_keyctl_kdf_params.Po
+# $(AM_V_CC)source='fetch_struct_keyctl_kdf_params.c' object='strace-fetch_struct_keyctl_kdf_params.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_keyctl_kdf_params.obj `if test -f 'fetch_struct_keyctl_kdf_params.c'; then $(CYGPATH_W) 'fetch_struct_keyctl_kdf_params.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_keyctl_kdf_params.c'; fi`
+
+strace-fetch_struct_mmsghdr.o: fetch_struct_mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_mmsghdr.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_mmsghdr.Tpo -c -o strace-fetch_struct_mmsghdr.o `test -f 'fetch_struct_mmsghdr.c' || echo '$(srcdir)/'`fetch_struct_mmsghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_mmsghdr.Tpo $(DEPDIR)/strace-fetch_struct_mmsghdr.Po
+# $(AM_V_CC)source='fetch_struct_mmsghdr.c' object='strace-fetch_struct_mmsghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_mmsghdr.o `test -f 'fetch_struct_mmsghdr.c' || echo '$(srcdir)/'`fetch_struct_mmsghdr.c
+
+strace-fetch_struct_mmsghdr.obj: fetch_struct_mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_mmsghdr.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_mmsghdr.Tpo -c -o strace-fetch_struct_mmsghdr.obj `if test -f 'fetch_struct_mmsghdr.c'; then $(CYGPATH_W) 'fetch_struct_mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_mmsghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_mmsghdr.Tpo $(DEPDIR)/strace-fetch_struct_mmsghdr.Po
+# $(AM_V_CC)source='fetch_struct_mmsghdr.c' object='strace-fetch_struct_mmsghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_mmsghdr.obj `if test -f 'fetch_struct_mmsghdr.c'; then $(CYGPATH_W) 'fetch_struct_mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_mmsghdr.c'; fi`
+
+strace-fetch_struct_msghdr.o: fetch_struct_msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_msghdr.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_msghdr.Tpo -c -o strace-fetch_struct_msghdr.o `test -f 'fetch_struct_msghdr.c' || echo '$(srcdir)/'`fetch_struct_msghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_msghdr.Tpo $(DEPDIR)/strace-fetch_struct_msghdr.Po
+# $(AM_V_CC)source='fetch_struct_msghdr.c' object='strace-fetch_struct_msghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_msghdr.o `test -f 'fetch_struct_msghdr.c' || echo '$(srcdir)/'`fetch_struct_msghdr.c
+
+strace-fetch_struct_msghdr.obj: fetch_struct_msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_msghdr.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_msghdr.Tpo -c -o strace-fetch_struct_msghdr.obj `if test -f 'fetch_struct_msghdr.c'; then $(CYGPATH_W) 'fetch_struct_msghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_msghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_msghdr.Tpo $(DEPDIR)/strace-fetch_struct_msghdr.Po
+# $(AM_V_CC)source='fetch_struct_msghdr.c' object='strace-fetch_struct_msghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_msghdr.obj `if test -f 'fetch_struct_msghdr.c'; then $(CYGPATH_W) 'fetch_struct_msghdr.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_msghdr.c'; fi`
+
+strace-fetch_struct_stat.o: fetch_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_stat.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_stat.Tpo -c -o strace-fetch_struct_stat.o `test -f 'fetch_struct_stat.c' || echo '$(srcdir)/'`fetch_struct_stat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_stat.Tpo $(DEPDIR)/strace-fetch_struct_stat.Po
+# $(AM_V_CC)source='fetch_struct_stat.c' object='strace-fetch_struct_stat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_stat.o `test -f 'fetch_struct_stat.c' || echo '$(srcdir)/'`fetch_struct_stat.c
+
+strace-fetch_struct_stat.obj: fetch_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_stat.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_stat.Tpo -c -o strace-fetch_struct_stat.obj `if test -f 'fetch_struct_stat.c'; then $(CYGPATH_W) 'fetch_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_stat.Tpo $(DEPDIR)/strace-fetch_struct_stat.Po
+# $(AM_V_CC)source='fetch_struct_stat.c' object='strace-fetch_struct_stat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_stat.obj `if test -f 'fetch_struct_stat.c'; then $(CYGPATH_W) 'fetch_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat.c'; fi`
+
+strace-fetch_struct_stat64.o: fetch_struct_stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_stat64.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_stat64.Tpo -c -o strace-fetch_struct_stat64.o `test -f 'fetch_struct_stat64.c' || echo '$(srcdir)/'`fetch_struct_stat64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_stat64.Tpo $(DEPDIR)/strace-fetch_struct_stat64.Po
+# $(AM_V_CC)source='fetch_struct_stat64.c' object='strace-fetch_struct_stat64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_stat64.o `test -f 'fetch_struct_stat64.c' || echo '$(srcdir)/'`fetch_struct_stat64.c
+
+strace-fetch_struct_stat64.obj: fetch_struct_stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_stat64.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_stat64.Tpo -c -o strace-fetch_struct_stat64.obj `if test -f 'fetch_struct_stat64.c'; then $(CYGPATH_W) 'fetch_struct_stat64.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat64.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_stat64.Tpo $(DEPDIR)/strace-fetch_struct_stat64.Po
+# $(AM_V_CC)source='fetch_struct_stat64.c' object='strace-fetch_struct_stat64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_stat64.obj `if test -f 'fetch_struct_stat64.c'; then $(CYGPATH_W) 'fetch_struct_stat64.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_stat64.c'; fi`
+
+strace-fetch_struct_statfs.o: fetch_struct_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_statfs.o -MD -MP -MF $(DEPDIR)/strace-fetch_struct_statfs.Tpo -c -o strace-fetch_struct_statfs.o `test -f 'fetch_struct_statfs.c' || echo '$(srcdir)/'`fetch_struct_statfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_statfs.Tpo $(DEPDIR)/strace-fetch_struct_statfs.Po
+# $(AM_V_CC)source='fetch_struct_statfs.c' object='strace-fetch_struct_statfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_statfs.o `test -f 'fetch_struct_statfs.c' || echo '$(srcdir)/'`fetch_struct_statfs.c
+
+strace-fetch_struct_statfs.obj: fetch_struct_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fetch_struct_statfs.obj -MD -MP -MF $(DEPDIR)/strace-fetch_struct_statfs.Tpo -c -o strace-fetch_struct_statfs.obj `if test -f 'fetch_struct_statfs.c'; then $(CYGPATH_W) 'fetch_struct_statfs.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_statfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fetch_struct_statfs.Tpo $(DEPDIR)/strace-fetch_struct_statfs.Po
+# $(AM_V_CC)source='fetch_struct_statfs.c' object='strace-fetch_struct_statfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fetch_struct_statfs.obj `if test -f 'fetch_struct_statfs.c'; then $(CYGPATH_W) 'fetch_struct_statfs.c'; else $(CYGPATH_W) '$(srcdir)/fetch_struct_statfs.c'; fi`
+
+strace-file_handle.o: file_handle.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-file_handle.o -MD -MP -MF $(DEPDIR)/strace-file_handle.Tpo -c -o strace-file_handle.o `test -f 'file_handle.c' || echo '$(srcdir)/'`file_handle.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-file_handle.Tpo $(DEPDIR)/strace-file_handle.Po
+# $(AM_V_CC)source='file_handle.c' object='strace-file_handle.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-file_handle.o `test -f 'file_handle.c' || echo '$(srcdir)/'`file_handle.c
+
+strace-file_handle.obj: file_handle.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-file_handle.obj -MD -MP -MF $(DEPDIR)/strace-file_handle.Tpo -c -o strace-file_handle.obj `if test -f 'file_handle.c'; then $(CYGPATH_W) 'file_handle.c'; else $(CYGPATH_W) '$(srcdir)/file_handle.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-file_handle.Tpo $(DEPDIR)/strace-file_handle.Po
+# $(AM_V_CC)source='file_handle.c' object='strace-file_handle.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-file_handle.obj `if test -f 'file_handle.c'; then $(CYGPATH_W) 'file_handle.c'; else $(CYGPATH_W) '$(srcdir)/file_handle.c'; fi`
+
+strace-file_ioctl.o: file_ioctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-file_ioctl.o -MD -MP -MF $(DEPDIR)/strace-file_ioctl.Tpo -c -o strace-file_ioctl.o `test -f 'file_ioctl.c' || echo '$(srcdir)/'`file_ioctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-file_ioctl.Tpo $(DEPDIR)/strace-file_ioctl.Po
+# $(AM_V_CC)source='file_ioctl.c' object='strace-file_ioctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-file_ioctl.o `test -f 'file_ioctl.c' || echo '$(srcdir)/'`file_ioctl.c
+
+strace-file_ioctl.obj: file_ioctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-file_ioctl.obj -MD -MP -MF $(DEPDIR)/strace-file_ioctl.Tpo -c -o strace-file_ioctl.obj `if test -f 'file_ioctl.c'; then $(CYGPATH_W) 'file_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/file_ioctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-file_ioctl.Tpo $(DEPDIR)/strace-file_ioctl.Po
+# $(AM_V_CC)source='file_ioctl.c' object='strace-file_ioctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-file_ioctl.obj `if test -f 'file_ioctl.c'; then $(CYGPATH_W) 'file_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/file_ioctl.c'; fi`
+
+strace-filter_qualify.o: filter_qualify.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-filter_qualify.o -MD -MP -MF $(DEPDIR)/strace-filter_qualify.Tpo -c -o strace-filter_qualify.o `test -f 'filter_qualify.c' || echo '$(srcdir)/'`filter_qualify.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-filter_qualify.Tpo $(DEPDIR)/strace-filter_qualify.Po
+# $(AM_V_CC)source='filter_qualify.c' object='strace-filter_qualify.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-filter_qualify.o `test -f 'filter_qualify.c' || echo '$(srcdir)/'`filter_qualify.c
+
+strace-filter_qualify.obj: filter_qualify.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-filter_qualify.obj -MD -MP -MF $(DEPDIR)/strace-filter_qualify.Tpo -c -o strace-filter_qualify.obj `if test -f 'filter_qualify.c'; then $(CYGPATH_W) 'filter_qualify.c'; else $(CYGPATH_W) '$(srcdir)/filter_qualify.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-filter_qualify.Tpo $(DEPDIR)/strace-filter_qualify.Po
+# $(AM_V_CC)source='filter_qualify.c' object='strace-filter_qualify.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-filter_qualify.obj `if test -f 'filter_qualify.c'; then $(CYGPATH_W) 'filter_qualify.c'; else $(CYGPATH_W) '$(srcdir)/filter_qualify.c'; fi`
+
+strace-flock.o: flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-flock.o -MD -MP -MF $(DEPDIR)/strace-flock.Tpo -c -o strace-flock.o `test -f 'flock.c' || echo '$(srcdir)/'`flock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-flock.Tpo $(DEPDIR)/strace-flock.Po
+# $(AM_V_CC)source='flock.c' object='strace-flock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-flock.o `test -f 'flock.c' || echo '$(srcdir)/'`flock.c
+
+strace-flock.obj: flock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-flock.obj -MD -MP -MF $(DEPDIR)/strace-flock.Tpo -c -o strace-flock.obj `if test -f 'flock.c'; then $(CYGPATH_W) 'flock.c'; else $(CYGPATH_W) '$(srcdir)/flock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-flock.Tpo $(DEPDIR)/strace-flock.Po
+# $(AM_V_CC)source='flock.c' object='strace-flock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-flock.obj `if test -f 'flock.c'; then $(CYGPATH_W) 'flock.c'; else $(CYGPATH_W) '$(srcdir)/flock.c'; fi`
+
+strace-fs_x_ioctl.o: fs_x_ioctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fs_x_ioctl.o -MD -MP -MF $(DEPDIR)/strace-fs_x_ioctl.Tpo -c -o strace-fs_x_ioctl.o `test -f 'fs_x_ioctl.c' || echo '$(srcdir)/'`fs_x_ioctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fs_x_ioctl.Tpo $(DEPDIR)/strace-fs_x_ioctl.Po
+# $(AM_V_CC)source='fs_x_ioctl.c' object='strace-fs_x_ioctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fs_x_ioctl.o `test -f 'fs_x_ioctl.c' || echo '$(srcdir)/'`fs_x_ioctl.c
+
+strace-fs_x_ioctl.obj: fs_x_ioctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-fs_x_ioctl.obj -MD -MP -MF $(DEPDIR)/strace-fs_x_ioctl.Tpo -c -o strace-fs_x_ioctl.obj `if test -f 'fs_x_ioctl.c'; then $(CYGPATH_W) 'fs_x_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/fs_x_ioctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-fs_x_ioctl.Tpo $(DEPDIR)/strace-fs_x_ioctl.Po
+# $(AM_V_CC)source='fs_x_ioctl.c' object='strace-fs_x_ioctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-fs_x_ioctl.obj `if test -f 'fs_x_ioctl.c'; then $(CYGPATH_W) 'fs_x_ioctl.c'; else $(CYGPATH_W) '$(srcdir)/fs_x_ioctl.c'; fi`
+
+strace-futex.o: futex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-futex.o -MD -MP -MF $(DEPDIR)/strace-futex.Tpo -c -o strace-futex.o `test -f 'futex.c' || echo '$(srcdir)/'`futex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-futex.Tpo $(DEPDIR)/strace-futex.Po
+# $(AM_V_CC)source='futex.c' object='strace-futex.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-futex.o `test -f 'futex.c' || echo '$(srcdir)/'`futex.c
+
+strace-futex.obj: futex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-futex.obj -MD -MP -MF $(DEPDIR)/strace-futex.Tpo -c -o strace-futex.obj `if test -f 'futex.c'; then $(CYGPATH_W) 'futex.c'; else $(CYGPATH_W) '$(srcdir)/futex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-futex.Tpo $(DEPDIR)/strace-futex.Po
+# $(AM_V_CC)source='futex.c' object='strace-futex.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-futex.obj `if test -f 'futex.c'; then $(CYGPATH_W) 'futex.c'; else $(CYGPATH_W) '$(srcdir)/futex.c'; fi`
+
+strace-get_robust_list.o: get_robust_list.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-get_robust_list.o -MD -MP -MF $(DEPDIR)/strace-get_robust_list.Tpo -c -o strace-get_robust_list.o `test -f 'get_robust_list.c' || echo '$(srcdir)/'`get_robust_list.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-get_robust_list.Tpo $(DEPDIR)/strace-get_robust_list.Po
+# $(AM_V_CC)source='get_robust_list.c' object='strace-get_robust_list.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-get_robust_list.o `test -f 'get_robust_list.c' || echo '$(srcdir)/'`get_robust_list.c
+
+strace-get_robust_list.obj: get_robust_list.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-get_robust_list.obj -MD -MP -MF $(DEPDIR)/strace-get_robust_list.Tpo -c -o strace-get_robust_list.obj `if test -f 'get_robust_list.c'; then $(CYGPATH_W) 'get_robust_list.c'; else $(CYGPATH_W) '$(srcdir)/get_robust_list.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-get_robust_list.Tpo $(DEPDIR)/strace-get_robust_list.Po
+# $(AM_V_CC)source='get_robust_list.c' object='strace-get_robust_list.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-get_robust_list.obj `if test -f 'get_robust_list.c'; then $(CYGPATH_W) 'get_robust_list.c'; else $(CYGPATH_W) '$(srcdir)/get_robust_list.c'; fi`
+
+strace-getcpu.o: getcpu.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-getcpu.o -MD -MP -MF $(DEPDIR)/strace-getcpu.Tpo -c -o strace-getcpu.o `test -f 'getcpu.c' || echo '$(srcdir)/'`getcpu.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-getcpu.Tpo $(DEPDIR)/strace-getcpu.Po
+# $(AM_V_CC)source='getcpu.c' object='strace-getcpu.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-getcpu.o `test -f 'getcpu.c' || echo '$(srcdir)/'`getcpu.c
+
+strace-getcpu.obj: getcpu.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-getcpu.obj -MD -MP -MF $(DEPDIR)/strace-getcpu.Tpo -c -o strace-getcpu.obj `if test -f 'getcpu.c'; then $(CYGPATH_W) 'getcpu.c'; else $(CYGPATH_W) '$(srcdir)/getcpu.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-getcpu.Tpo $(DEPDIR)/strace-getcpu.Po
+# $(AM_V_CC)source='getcpu.c' object='strace-getcpu.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-getcpu.obj `if test -f 'getcpu.c'; then $(CYGPATH_W) 'getcpu.c'; else $(CYGPATH_W) '$(srcdir)/getcpu.c'; fi`
+
+strace-getcwd.o: getcwd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-getcwd.o -MD -MP -MF $(DEPDIR)/strace-getcwd.Tpo -c -o strace-getcwd.o `test -f 'getcwd.c' || echo '$(srcdir)/'`getcwd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-getcwd.Tpo $(DEPDIR)/strace-getcwd.Po
+# $(AM_V_CC)source='getcwd.c' object='strace-getcwd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-getcwd.o `test -f 'getcwd.c' || echo '$(srcdir)/'`getcwd.c
+
+strace-getcwd.obj: getcwd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-getcwd.obj -MD -MP -MF $(DEPDIR)/strace-getcwd.Tpo -c -o strace-getcwd.obj `if test -f 'getcwd.c'; then $(CYGPATH_W) 'getcwd.c'; else $(CYGPATH_W) '$(srcdir)/getcwd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-getcwd.Tpo $(DEPDIR)/strace-getcwd.Po
+# $(AM_V_CC)source='getcwd.c' object='strace-getcwd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-getcwd.obj `if test -f 'getcwd.c'; then $(CYGPATH_W) 'getcwd.c'; else $(CYGPATH_W) '$(srcdir)/getcwd.c'; fi`
+
+strace-getrandom.o: getrandom.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-getrandom.o -MD -MP -MF $(DEPDIR)/strace-getrandom.Tpo -c -o strace-getrandom.o `test -f 'getrandom.c' || echo '$(srcdir)/'`getrandom.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-getrandom.Tpo $(DEPDIR)/strace-getrandom.Po
+# $(AM_V_CC)source='getrandom.c' object='strace-getrandom.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-getrandom.o `test -f 'getrandom.c' || echo '$(srcdir)/'`getrandom.c
+
+strace-getrandom.obj: getrandom.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-getrandom.obj -MD -MP -MF $(DEPDIR)/strace-getrandom.Tpo -c -o strace-getrandom.obj `if test -f 'getrandom.c'; then $(CYGPATH_W) 'getrandom.c'; else $(CYGPATH_W) '$(srcdir)/getrandom.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-getrandom.Tpo $(DEPDIR)/strace-getrandom.Po
+# $(AM_V_CC)source='getrandom.c' object='strace-getrandom.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-getrandom.obj `if test -f 'getrandom.c'; then $(CYGPATH_W) 'getrandom.c'; else $(CYGPATH_W) '$(srcdir)/getrandom.c'; fi`
+
+strace-hdio.o: hdio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-hdio.o -MD -MP -MF $(DEPDIR)/strace-hdio.Tpo -c -o strace-hdio.o `test -f 'hdio.c' || echo '$(srcdir)/'`hdio.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-hdio.Tpo $(DEPDIR)/strace-hdio.Po
+# $(AM_V_CC)source='hdio.c' object='strace-hdio.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-hdio.o `test -f 'hdio.c' || echo '$(srcdir)/'`hdio.c
+
+strace-hdio.obj: hdio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-hdio.obj -MD -MP -MF $(DEPDIR)/strace-hdio.Tpo -c -o strace-hdio.obj `if test -f 'hdio.c'; then $(CYGPATH_W) 'hdio.c'; else $(CYGPATH_W) '$(srcdir)/hdio.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-hdio.Tpo $(DEPDIR)/strace-hdio.Po
+# $(AM_V_CC)source='hdio.c' object='strace-hdio.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-hdio.obj `if test -f 'hdio.c'; then $(CYGPATH_W) 'hdio.c'; else $(CYGPATH_W) '$(srcdir)/hdio.c'; fi`
+
+strace-hostname.o: hostname.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-hostname.o -MD -MP -MF $(DEPDIR)/strace-hostname.Tpo -c -o strace-hostname.o `test -f 'hostname.c' || echo '$(srcdir)/'`hostname.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-hostname.Tpo $(DEPDIR)/strace-hostname.Po
+# $(AM_V_CC)source='hostname.c' object='strace-hostname.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-hostname.o `test -f 'hostname.c' || echo '$(srcdir)/'`hostname.c
+
+strace-hostname.obj: hostname.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-hostname.obj -MD -MP -MF $(DEPDIR)/strace-hostname.Tpo -c -o strace-hostname.obj `if test -f 'hostname.c'; then $(CYGPATH_W) 'hostname.c'; else $(CYGPATH_W) '$(srcdir)/hostname.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-hostname.Tpo $(DEPDIR)/strace-hostname.Po
+# $(AM_V_CC)source='hostname.c' object='strace-hostname.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-hostname.obj `if test -f 'hostname.c'; then $(CYGPATH_W) 'hostname.c'; else $(CYGPATH_W) '$(srcdir)/hostname.c'; fi`
+
+strace-inotify.o: inotify.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-inotify.o -MD -MP -MF $(DEPDIR)/strace-inotify.Tpo -c -o strace-inotify.o `test -f 'inotify.c' || echo '$(srcdir)/'`inotify.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-inotify.Tpo $(DEPDIR)/strace-inotify.Po
+# $(AM_V_CC)source='inotify.c' object='strace-inotify.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-inotify.o `test -f 'inotify.c' || echo '$(srcdir)/'`inotify.c
+
+strace-inotify.obj: inotify.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-inotify.obj -MD -MP -MF $(DEPDIR)/strace-inotify.Tpo -c -o strace-inotify.obj `if test -f 'inotify.c'; then $(CYGPATH_W) 'inotify.c'; else $(CYGPATH_W) '$(srcdir)/inotify.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-inotify.Tpo $(DEPDIR)/strace-inotify.Po
+# $(AM_V_CC)source='inotify.c' object='strace-inotify.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-inotify.obj `if test -f 'inotify.c'; then $(CYGPATH_W) 'inotify.c'; else $(CYGPATH_W) '$(srcdir)/inotify.c'; fi`
+
+strace-io.o: io.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-io.o -MD -MP -MF $(DEPDIR)/strace-io.Tpo -c -o strace-io.o `test -f 'io.c' || echo '$(srcdir)/'`io.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-io.Tpo $(DEPDIR)/strace-io.Po
+# $(AM_V_CC)source='io.c' object='strace-io.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-io.o `test -f 'io.c' || echo '$(srcdir)/'`io.c
+
+strace-io.obj: io.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-io.obj -MD -MP -MF $(DEPDIR)/strace-io.Tpo -c -o strace-io.obj `if test -f 'io.c'; then $(CYGPATH_W) 'io.c'; else $(CYGPATH_W) '$(srcdir)/io.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-io.Tpo $(DEPDIR)/strace-io.Po
+# $(AM_V_CC)source='io.c' object='strace-io.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-io.obj `if test -f 'io.c'; then $(CYGPATH_W) 'io.c'; else $(CYGPATH_W) '$(srcdir)/io.c'; fi`
+
+strace-ioctl.o: ioctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ioctl.o -MD -MP -MF $(DEPDIR)/strace-ioctl.Tpo -c -o strace-ioctl.o `test -f 'ioctl.c' || echo '$(srcdir)/'`ioctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ioctl.Tpo $(DEPDIR)/strace-ioctl.Po
+# $(AM_V_CC)source='ioctl.c' object='strace-ioctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ioctl.o `test -f 'ioctl.c' || echo '$(srcdir)/'`ioctl.c
+
+strace-ioctl.obj: ioctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ioctl.obj -MD -MP -MF $(DEPDIR)/strace-ioctl.Tpo -c -o strace-ioctl.obj `if test -f 'ioctl.c'; then $(CYGPATH_W) 'ioctl.c'; else $(CYGPATH_W) '$(srcdir)/ioctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ioctl.Tpo $(DEPDIR)/strace-ioctl.Po
+# $(AM_V_CC)source='ioctl.c' object='strace-ioctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ioctl.obj `if test -f 'ioctl.c'; then $(CYGPATH_W) 'ioctl.c'; else $(CYGPATH_W) '$(srcdir)/ioctl.c'; fi`
+
+strace-ioperm.o: ioperm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ioperm.o -MD -MP -MF $(DEPDIR)/strace-ioperm.Tpo -c -o strace-ioperm.o `test -f 'ioperm.c' || echo '$(srcdir)/'`ioperm.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ioperm.Tpo $(DEPDIR)/strace-ioperm.Po
+# $(AM_V_CC)source='ioperm.c' object='strace-ioperm.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ioperm.o `test -f 'ioperm.c' || echo '$(srcdir)/'`ioperm.c
+
+strace-ioperm.obj: ioperm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ioperm.obj -MD -MP -MF $(DEPDIR)/strace-ioperm.Tpo -c -o strace-ioperm.obj `if test -f 'ioperm.c'; then $(CYGPATH_W) 'ioperm.c'; else $(CYGPATH_W) '$(srcdir)/ioperm.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ioperm.Tpo $(DEPDIR)/strace-ioperm.Po
+# $(AM_V_CC)source='ioperm.c' object='strace-ioperm.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ioperm.obj `if test -f 'ioperm.c'; then $(CYGPATH_W) 'ioperm.c'; else $(CYGPATH_W) '$(srcdir)/ioperm.c'; fi`
+
+strace-iopl.o: iopl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-iopl.o -MD -MP -MF $(DEPDIR)/strace-iopl.Tpo -c -o strace-iopl.o `test -f 'iopl.c' || echo '$(srcdir)/'`iopl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-iopl.Tpo $(DEPDIR)/strace-iopl.Po
+# $(AM_V_CC)source='iopl.c' object='strace-iopl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-iopl.o `test -f 'iopl.c' || echo '$(srcdir)/'`iopl.c
+
+strace-iopl.obj: iopl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-iopl.obj -MD -MP -MF $(DEPDIR)/strace-iopl.Tpo -c -o strace-iopl.obj `if test -f 'iopl.c'; then $(CYGPATH_W) 'iopl.c'; else $(CYGPATH_W) '$(srcdir)/iopl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-iopl.Tpo $(DEPDIR)/strace-iopl.Po
+# $(AM_V_CC)source='iopl.c' object='strace-iopl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-iopl.obj `if test -f 'iopl.c'; then $(CYGPATH_W) 'iopl.c'; else $(CYGPATH_W) '$(srcdir)/iopl.c'; fi`
+
+strace-ioprio.o: ioprio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ioprio.o -MD -MP -MF $(DEPDIR)/strace-ioprio.Tpo -c -o strace-ioprio.o `test -f 'ioprio.c' || echo '$(srcdir)/'`ioprio.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ioprio.Tpo $(DEPDIR)/strace-ioprio.Po
+# $(AM_V_CC)source='ioprio.c' object='strace-ioprio.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ioprio.o `test -f 'ioprio.c' || echo '$(srcdir)/'`ioprio.c
+
+strace-ioprio.obj: ioprio.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ioprio.obj -MD -MP -MF $(DEPDIR)/strace-ioprio.Tpo -c -o strace-ioprio.obj `if test -f 'ioprio.c'; then $(CYGPATH_W) 'ioprio.c'; else $(CYGPATH_W) '$(srcdir)/ioprio.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ioprio.Tpo $(DEPDIR)/strace-ioprio.Po
+# $(AM_V_CC)source='ioprio.c' object='strace-ioprio.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ioprio.obj `if test -f 'ioprio.c'; then $(CYGPATH_W) 'ioprio.c'; else $(CYGPATH_W) '$(srcdir)/ioprio.c'; fi`
+
+strace-ipc_msg.o: ipc_msg.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_msg.o -MD -MP -MF $(DEPDIR)/strace-ipc_msg.Tpo -c -o strace-ipc_msg.o `test -f 'ipc_msg.c' || echo '$(srcdir)/'`ipc_msg.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_msg.Tpo $(DEPDIR)/strace-ipc_msg.Po
+# $(AM_V_CC)source='ipc_msg.c' object='strace-ipc_msg.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_msg.o `test -f 'ipc_msg.c' || echo '$(srcdir)/'`ipc_msg.c
+
+strace-ipc_msg.obj: ipc_msg.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_msg.obj -MD -MP -MF $(DEPDIR)/strace-ipc_msg.Tpo -c -o strace-ipc_msg.obj `if test -f 'ipc_msg.c'; then $(CYGPATH_W) 'ipc_msg.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msg.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_msg.Tpo $(DEPDIR)/strace-ipc_msg.Po
+# $(AM_V_CC)source='ipc_msg.c' object='strace-ipc_msg.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_msg.obj `if test -f 'ipc_msg.c'; then $(CYGPATH_W) 'ipc_msg.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msg.c'; fi`
+
+strace-ipc_msgctl.o: ipc_msgctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_msgctl.o -MD -MP -MF $(DEPDIR)/strace-ipc_msgctl.Tpo -c -o strace-ipc_msgctl.o `test -f 'ipc_msgctl.c' || echo '$(srcdir)/'`ipc_msgctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_msgctl.Tpo $(DEPDIR)/strace-ipc_msgctl.Po
+# $(AM_V_CC)source='ipc_msgctl.c' object='strace-ipc_msgctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_msgctl.o `test -f 'ipc_msgctl.c' || echo '$(srcdir)/'`ipc_msgctl.c
+
+strace-ipc_msgctl.obj: ipc_msgctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_msgctl.obj -MD -MP -MF $(DEPDIR)/strace-ipc_msgctl.Tpo -c -o strace-ipc_msgctl.obj `if test -f 'ipc_msgctl.c'; then $(CYGPATH_W) 'ipc_msgctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msgctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_msgctl.Tpo $(DEPDIR)/strace-ipc_msgctl.Po
+# $(AM_V_CC)source='ipc_msgctl.c' object='strace-ipc_msgctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_msgctl.obj `if test -f 'ipc_msgctl.c'; then $(CYGPATH_W) 'ipc_msgctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_msgctl.c'; fi`
+
+strace-ipc_sem.o: ipc_sem.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_sem.o -MD -MP -MF $(DEPDIR)/strace-ipc_sem.Tpo -c -o strace-ipc_sem.o `test -f 'ipc_sem.c' || echo '$(srcdir)/'`ipc_sem.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_sem.Tpo $(DEPDIR)/strace-ipc_sem.Po
+# $(AM_V_CC)source='ipc_sem.c' object='strace-ipc_sem.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_sem.o `test -f 'ipc_sem.c' || echo '$(srcdir)/'`ipc_sem.c
+
+strace-ipc_sem.obj: ipc_sem.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_sem.obj -MD -MP -MF $(DEPDIR)/strace-ipc_sem.Tpo -c -o strace-ipc_sem.obj `if test -f 'ipc_sem.c'; then $(CYGPATH_W) 'ipc_sem.c'; else $(CYGPATH_W) '$(srcdir)/ipc_sem.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_sem.Tpo $(DEPDIR)/strace-ipc_sem.Po
+# $(AM_V_CC)source='ipc_sem.c' object='strace-ipc_sem.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_sem.obj `if test -f 'ipc_sem.c'; then $(CYGPATH_W) 'ipc_sem.c'; else $(CYGPATH_W) '$(srcdir)/ipc_sem.c'; fi`
+
+strace-ipc_shm.o: ipc_shm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_shm.o -MD -MP -MF $(DEPDIR)/strace-ipc_shm.Tpo -c -o strace-ipc_shm.o `test -f 'ipc_shm.c' || echo '$(srcdir)/'`ipc_shm.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_shm.Tpo $(DEPDIR)/strace-ipc_shm.Po
+# $(AM_V_CC)source='ipc_shm.c' object='strace-ipc_shm.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_shm.o `test -f 'ipc_shm.c' || echo '$(srcdir)/'`ipc_shm.c
+
+strace-ipc_shm.obj: ipc_shm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_shm.obj -MD -MP -MF $(DEPDIR)/strace-ipc_shm.Tpo -c -o strace-ipc_shm.obj `if test -f 'ipc_shm.c'; then $(CYGPATH_W) 'ipc_shm.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shm.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_shm.Tpo $(DEPDIR)/strace-ipc_shm.Po
+# $(AM_V_CC)source='ipc_shm.c' object='strace-ipc_shm.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_shm.obj `if test -f 'ipc_shm.c'; then $(CYGPATH_W) 'ipc_shm.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shm.c'; fi`
+
+strace-ipc_shmctl.o: ipc_shmctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_shmctl.o -MD -MP -MF $(DEPDIR)/strace-ipc_shmctl.Tpo -c -o strace-ipc_shmctl.o `test -f 'ipc_shmctl.c' || echo '$(srcdir)/'`ipc_shmctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_shmctl.Tpo $(DEPDIR)/strace-ipc_shmctl.Po
+# $(AM_V_CC)source='ipc_shmctl.c' object='strace-ipc_shmctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_shmctl.o `test -f 'ipc_shmctl.c' || echo '$(srcdir)/'`ipc_shmctl.c
+
+strace-ipc_shmctl.obj: ipc_shmctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ipc_shmctl.obj -MD -MP -MF $(DEPDIR)/strace-ipc_shmctl.Tpo -c -o strace-ipc_shmctl.obj `if test -f 'ipc_shmctl.c'; then $(CYGPATH_W) 'ipc_shmctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shmctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ipc_shmctl.Tpo $(DEPDIR)/strace-ipc_shmctl.Po
+# $(AM_V_CC)source='ipc_shmctl.c' object='strace-ipc_shmctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ipc_shmctl.obj `if test -f 'ipc_shmctl.c'; then $(CYGPATH_W) 'ipc_shmctl.c'; else $(CYGPATH_W) '$(srcdir)/ipc_shmctl.c'; fi`
+
+strace-kcmp.o: kcmp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-kcmp.o -MD -MP -MF $(DEPDIR)/strace-kcmp.Tpo -c -o strace-kcmp.o `test -f 'kcmp.c' || echo '$(srcdir)/'`kcmp.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-kcmp.Tpo $(DEPDIR)/strace-kcmp.Po
+# $(AM_V_CC)source='kcmp.c' object='strace-kcmp.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-kcmp.o `test -f 'kcmp.c' || echo '$(srcdir)/'`kcmp.c
+
+strace-kcmp.obj: kcmp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-kcmp.obj -MD -MP -MF $(DEPDIR)/strace-kcmp.Tpo -c -o strace-kcmp.obj `if test -f 'kcmp.c'; then $(CYGPATH_W) 'kcmp.c'; else $(CYGPATH_W) '$(srcdir)/kcmp.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-kcmp.Tpo $(DEPDIR)/strace-kcmp.Po
+# $(AM_V_CC)source='kcmp.c' object='strace-kcmp.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-kcmp.obj `if test -f 'kcmp.c'; then $(CYGPATH_W) 'kcmp.c'; else $(CYGPATH_W) '$(srcdir)/kcmp.c'; fi`
+
+strace-kexec.o: kexec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-kexec.o -MD -MP -MF $(DEPDIR)/strace-kexec.Tpo -c -o strace-kexec.o `test -f 'kexec.c' || echo '$(srcdir)/'`kexec.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-kexec.Tpo $(DEPDIR)/strace-kexec.Po
+# $(AM_V_CC)source='kexec.c' object='strace-kexec.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-kexec.o `test -f 'kexec.c' || echo '$(srcdir)/'`kexec.c
+
+strace-kexec.obj: kexec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-kexec.obj -MD -MP -MF $(DEPDIR)/strace-kexec.Tpo -c -o strace-kexec.obj `if test -f 'kexec.c'; then $(CYGPATH_W) 'kexec.c'; else $(CYGPATH_W) '$(srcdir)/kexec.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-kexec.Tpo $(DEPDIR)/strace-kexec.Po
+# $(AM_V_CC)source='kexec.c' object='strace-kexec.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-kexec.obj `if test -f 'kexec.c'; then $(CYGPATH_W) 'kexec.c'; else $(CYGPATH_W) '$(srcdir)/kexec.c'; fi`
+
+strace-keyctl.o: keyctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-keyctl.o -MD -MP -MF $(DEPDIR)/strace-keyctl.Tpo -c -o strace-keyctl.o `test -f 'keyctl.c' || echo '$(srcdir)/'`keyctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-keyctl.Tpo $(DEPDIR)/strace-keyctl.Po
+# $(AM_V_CC)source='keyctl.c' object='strace-keyctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-keyctl.o `test -f 'keyctl.c' || echo '$(srcdir)/'`keyctl.c
+
+strace-keyctl.obj: keyctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-keyctl.obj -MD -MP -MF $(DEPDIR)/strace-keyctl.Tpo -c -o strace-keyctl.obj `if test -f 'keyctl.c'; then $(CYGPATH_W) 'keyctl.c'; else $(CYGPATH_W) '$(srcdir)/keyctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-keyctl.Tpo $(DEPDIR)/strace-keyctl.Po
+# $(AM_V_CC)source='keyctl.c' object='strace-keyctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-keyctl.obj `if test -f 'keyctl.c'; then $(CYGPATH_W) 'keyctl.c'; else $(CYGPATH_W) '$(srcdir)/keyctl.c'; fi`
+
+strace-kvm.o: kvm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-kvm.o -MD -MP -MF $(DEPDIR)/strace-kvm.Tpo -c -o strace-kvm.o `test -f 'kvm.c' || echo '$(srcdir)/'`kvm.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-kvm.Tpo $(DEPDIR)/strace-kvm.Po
+# $(AM_V_CC)source='kvm.c' object='strace-kvm.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-kvm.o `test -f 'kvm.c' || echo '$(srcdir)/'`kvm.c
+
+strace-kvm.obj: kvm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-kvm.obj -MD -MP -MF $(DEPDIR)/strace-kvm.Tpo -c -o strace-kvm.obj `if test -f 'kvm.c'; then $(CYGPATH_W) 'kvm.c'; else $(CYGPATH_W) '$(srcdir)/kvm.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-kvm.Tpo $(DEPDIR)/strace-kvm.Po
+# $(AM_V_CC)source='kvm.c' object='strace-kvm.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-kvm.obj `if test -f 'kvm.c'; then $(CYGPATH_W) 'kvm.c'; else $(CYGPATH_W) '$(srcdir)/kvm.c'; fi`
+
+strace-ldt.o: ldt.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ldt.o -MD -MP -MF $(DEPDIR)/strace-ldt.Tpo -c -o strace-ldt.o `test -f 'ldt.c' || echo '$(srcdir)/'`ldt.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ldt.Tpo $(DEPDIR)/strace-ldt.Po
+# $(AM_V_CC)source='ldt.c' object='strace-ldt.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ldt.o `test -f 'ldt.c' || echo '$(srcdir)/'`ldt.c
+
+strace-ldt.obj: ldt.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ldt.obj -MD -MP -MF $(DEPDIR)/strace-ldt.Tpo -c -o strace-ldt.obj `if test -f 'ldt.c'; then $(CYGPATH_W) 'ldt.c'; else $(CYGPATH_W) '$(srcdir)/ldt.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ldt.Tpo $(DEPDIR)/strace-ldt.Po
+# $(AM_V_CC)source='ldt.c' object='strace-ldt.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ldt.obj `if test -f 'ldt.c'; then $(CYGPATH_W) 'ldt.c'; else $(CYGPATH_W) '$(srcdir)/ldt.c'; fi`
+
+strace-link.o: link.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-link.o -MD -MP -MF $(DEPDIR)/strace-link.Tpo -c -o strace-link.o `test -f 'link.c' || echo '$(srcdir)/'`link.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-link.Tpo $(DEPDIR)/strace-link.Po
+# $(AM_V_CC)source='link.c' object='strace-link.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-link.o `test -f 'link.c' || echo '$(srcdir)/'`link.c
+
+strace-link.obj: link.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-link.obj -MD -MP -MF $(DEPDIR)/strace-link.Tpo -c -o strace-link.obj `if test -f 'link.c'; then $(CYGPATH_W) 'link.c'; else $(CYGPATH_W) '$(srcdir)/link.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-link.Tpo $(DEPDIR)/strace-link.Po
+# $(AM_V_CC)source='link.c' object='strace-link.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-link.obj `if test -f 'link.c'; then $(CYGPATH_W) 'link.c'; else $(CYGPATH_W) '$(srcdir)/link.c'; fi`
+
+strace-listen.o: listen.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-listen.o -MD -MP -MF $(DEPDIR)/strace-listen.Tpo -c -o strace-listen.o `test -f 'listen.c' || echo '$(srcdir)/'`listen.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-listen.Tpo $(DEPDIR)/strace-listen.Po
+# $(AM_V_CC)source='listen.c' object='strace-listen.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-listen.o `test -f 'listen.c' || echo '$(srcdir)/'`listen.c
+
+strace-listen.obj: listen.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-listen.obj -MD -MP -MF $(DEPDIR)/strace-listen.Tpo -c -o strace-listen.obj `if test -f 'listen.c'; then $(CYGPATH_W) 'listen.c'; else $(CYGPATH_W) '$(srcdir)/listen.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-listen.Tpo $(DEPDIR)/strace-listen.Po
+# $(AM_V_CC)source='listen.c' object='strace-listen.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-listen.obj `if test -f 'listen.c'; then $(CYGPATH_W) 'listen.c'; else $(CYGPATH_W) '$(srcdir)/listen.c'; fi`
+
+strace-lookup_dcookie.o: lookup_dcookie.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-lookup_dcookie.o -MD -MP -MF $(DEPDIR)/strace-lookup_dcookie.Tpo -c -o strace-lookup_dcookie.o `test -f 'lookup_dcookie.c' || echo '$(srcdir)/'`lookup_dcookie.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-lookup_dcookie.Tpo $(DEPDIR)/strace-lookup_dcookie.Po
+# $(AM_V_CC)source='lookup_dcookie.c' object='strace-lookup_dcookie.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-lookup_dcookie.o `test -f 'lookup_dcookie.c' || echo '$(srcdir)/'`lookup_dcookie.c
+
+strace-lookup_dcookie.obj: lookup_dcookie.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-lookup_dcookie.obj -MD -MP -MF $(DEPDIR)/strace-lookup_dcookie.Tpo -c -o strace-lookup_dcookie.obj `if test -f 'lookup_dcookie.c'; then $(CYGPATH_W) 'lookup_dcookie.c'; else $(CYGPATH_W) '$(srcdir)/lookup_dcookie.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-lookup_dcookie.Tpo $(DEPDIR)/strace-lookup_dcookie.Po
+# $(AM_V_CC)source='lookup_dcookie.c' object='strace-lookup_dcookie.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-lookup_dcookie.obj `if test -f 'lookup_dcookie.c'; then $(CYGPATH_W) 'lookup_dcookie.c'; else $(CYGPATH_W) '$(srcdir)/lookup_dcookie.c'; fi`
+
+strace-loop.o: loop.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-loop.o -MD -MP -MF $(DEPDIR)/strace-loop.Tpo -c -o strace-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-loop.Tpo $(DEPDIR)/strace-loop.Po
+# $(AM_V_CC)source='loop.c' object='strace-loop.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-loop.o `test -f 'loop.c' || echo '$(srcdir)/'`loop.c
+
+strace-loop.obj: loop.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-loop.obj -MD -MP -MF $(DEPDIR)/strace-loop.Tpo -c -o strace-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-loop.Tpo $(DEPDIR)/strace-loop.Po
+# $(AM_V_CC)source='loop.c' object='strace-loop.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-loop.obj `if test -f 'loop.c'; then $(CYGPATH_W) 'loop.c'; else $(CYGPATH_W) '$(srcdir)/loop.c'; fi`
+
+strace-lseek.o: lseek.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-lseek.o -MD -MP -MF $(DEPDIR)/strace-lseek.Tpo -c -o strace-lseek.o `test -f 'lseek.c' || echo '$(srcdir)/'`lseek.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-lseek.Tpo $(DEPDIR)/strace-lseek.Po
+# $(AM_V_CC)source='lseek.c' object='strace-lseek.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-lseek.o `test -f 'lseek.c' || echo '$(srcdir)/'`lseek.c
+
+strace-lseek.obj: lseek.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-lseek.obj -MD -MP -MF $(DEPDIR)/strace-lseek.Tpo -c -o strace-lseek.obj `if test -f 'lseek.c'; then $(CYGPATH_W) 'lseek.c'; else $(CYGPATH_W) '$(srcdir)/lseek.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-lseek.Tpo $(DEPDIR)/strace-lseek.Po
+# $(AM_V_CC)source='lseek.c' object='strace-lseek.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-lseek.obj `if test -f 'lseek.c'; then $(CYGPATH_W) 'lseek.c'; else $(CYGPATH_W) '$(srcdir)/lseek.c'; fi`
+
+strace-mem.o: mem.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mem.o -MD -MP -MF $(DEPDIR)/strace-mem.Tpo -c -o strace-mem.o `test -f 'mem.c' || echo '$(srcdir)/'`mem.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mem.Tpo $(DEPDIR)/strace-mem.Po
+# $(AM_V_CC)source='mem.c' object='strace-mem.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mem.o `test -f 'mem.c' || echo '$(srcdir)/'`mem.c
+
+strace-mem.obj: mem.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mem.obj -MD -MP -MF $(DEPDIR)/strace-mem.Tpo -c -o strace-mem.obj `if test -f 'mem.c'; then $(CYGPATH_W) 'mem.c'; else $(CYGPATH_W) '$(srcdir)/mem.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mem.Tpo $(DEPDIR)/strace-mem.Po
+# $(AM_V_CC)source='mem.c' object='strace-mem.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mem.obj `if test -f 'mem.c'; then $(CYGPATH_W) 'mem.c'; else $(CYGPATH_W) '$(srcdir)/mem.c'; fi`
+
+strace-membarrier.o: membarrier.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-membarrier.o -MD -MP -MF $(DEPDIR)/strace-membarrier.Tpo -c -o strace-membarrier.o `test -f 'membarrier.c' || echo '$(srcdir)/'`membarrier.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-membarrier.Tpo $(DEPDIR)/strace-membarrier.Po
+# $(AM_V_CC)source='membarrier.c' object='strace-membarrier.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-membarrier.o `test -f 'membarrier.c' || echo '$(srcdir)/'`membarrier.c
+
+strace-membarrier.obj: membarrier.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-membarrier.obj -MD -MP -MF $(DEPDIR)/strace-membarrier.Tpo -c -o strace-membarrier.obj `if test -f 'membarrier.c'; then $(CYGPATH_W) 'membarrier.c'; else $(CYGPATH_W) '$(srcdir)/membarrier.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-membarrier.Tpo $(DEPDIR)/strace-membarrier.Po
+# $(AM_V_CC)source='membarrier.c' object='strace-membarrier.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-membarrier.obj `if test -f 'membarrier.c'; then $(CYGPATH_W) 'membarrier.c'; else $(CYGPATH_W) '$(srcdir)/membarrier.c'; fi`
+
+strace-memfd_create.o: memfd_create.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-memfd_create.o -MD -MP -MF $(DEPDIR)/strace-memfd_create.Tpo -c -o strace-memfd_create.o `test -f 'memfd_create.c' || echo '$(srcdir)/'`memfd_create.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-memfd_create.Tpo $(DEPDIR)/strace-memfd_create.Po
+# $(AM_V_CC)source='memfd_create.c' object='strace-memfd_create.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-memfd_create.o `test -f 'memfd_create.c' || echo '$(srcdir)/'`memfd_create.c
+
+strace-memfd_create.obj: memfd_create.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-memfd_create.obj -MD -MP -MF $(DEPDIR)/strace-memfd_create.Tpo -c -o strace-memfd_create.obj `if test -f 'memfd_create.c'; then $(CYGPATH_W) 'memfd_create.c'; else $(CYGPATH_W) '$(srcdir)/memfd_create.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-memfd_create.Tpo $(DEPDIR)/strace-memfd_create.Po
+# $(AM_V_CC)source='memfd_create.c' object='strace-memfd_create.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-memfd_create.obj `if test -f 'memfd_create.c'; then $(CYGPATH_W) 'memfd_create.c'; else $(CYGPATH_W) '$(srcdir)/memfd_create.c'; fi`
+
+strace-mknod.o: mknod.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mknod.o -MD -MP -MF $(DEPDIR)/strace-mknod.Tpo -c -o strace-mknod.o `test -f 'mknod.c' || echo '$(srcdir)/'`mknod.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mknod.Tpo $(DEPDIR)/strace-mknod.Po
+# $(AM_V_CC)source='mknod.c' object='strace-mknod.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mknod.o `test -f 'mknod.c' || echo '$(srcdir)/'`mknod.c
+
+strace-mknod.obj: mknod.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mknod.obj -MD -MP -MF $(DEPDIR)/strace-mknod.Tpo -c -o strace-mknod.obj `if test -f 'mknod.c'; then $(CYGPATH_W) 'mknod.c'; else $(CYGPATH_W) '$(srcdir)/mknod.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mknod.Tpo $(DEPDIR)/strace-mknod.Po
+# $(AM_V_CC)source='mknod.c' object='strace-mknod.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mknod.obj `if test -f 'mknod.c'; then $(CYGPATH_W) 'mknod.c'; else $(CYGPATH_W) '$(srcdir)/mknod.c'; fi`
+
+strace-mmap_cache.o: mmap_cache.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_cache.o -MD -MP -MF $(DEPDIR)/strace-mmap_cache.Tpo -c -o strace-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_cache.Tpo $(DEPDIR)/strace-mmap_cache.Po
+# $(AM_V_CC)source='mmap_cache.c' object='strace-mmap_cache.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c
+
+strace-mmap_cache.obj: mmap_cache.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_cache.obj -MD -MP -MF $(DEPDIR)/strace-mmap_cache.Tpo -c -o strace-mmap_cache.obj `if test -f 'mmap_cache.c'; then $(CYGPATH_W) 'mmap_cache.c'; else $(CYGPATH_W) '$(srcdir)/mmap_cache.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_cache.Tpo $(DEPDIR)/strace-mmap_cache.Po
+# $(AM_V_CC)source='mmap_cache.c' object='strace-mmap_cache.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmap_cache.obj `if test -f 'mmap_cache.c'; then $(CYGPATH_W) 'mmap_cache.c'; else $(CYGPATH_W) '$(srcdir)/mmap_cache.c'; fi`
+
+strace-mmsghdr.o: mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmsghdr.o -MD -MP -MF $(DEPDIR)/strace-mmsghdr.Tpo -c -o strace-mmsghdr.o `test -f 'mmsghdr.c' || echo '$(srcdir)/'`mmsghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmsghdr.Tpo $(DEPDIR)/strace-mmsghdr.Po
+# $(AM_V_CC)source='mmsghdr.c' object='strace-mmsghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmsghdr.o `test -f 'mmsghdr.c' || echo '$(srcdir)/'`mmsghdr.c
+
+strace-mmsghdr.obj: mmsghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmsghdr.obj -MD -MP -MF $(DEPDIR)/strace-mmsghdr.Tpo -c -o strace-mmsghdr.obj `if test -f 'mmsghdr.c'; then $(CYGPATH_W) 'mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/mmsghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmsghdr.Tpo $(DEPDIR)/strace-mmsghdr.Po
+# $(AM_V_CC)source='mmsghdr.c' object='strace-mmsghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mmsghdr.obj `if test -f 'mmsghdr.c'; then $(CYGPATH_W) 'mmsghdr.c'; else $(CYGPATH_W) '$(srcdir)/mmsghdr.c'; fi`
+
+strace-mount.o: mount.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mount.o -MD -MP -MF $(DEPDIR)/strace-mount.Tpo -c -o strace-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mount.Tpo $(DEPDIR)/strace-mount.Po
+# $(AM_V_CC)source='mount.c' object='strace-mount.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mount.o `test -f 'mount.c' || echo '$(srcdir)/'`mount.c
+
+strace-mount.obj: mount.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mount.obj -MD -MP -MF $(DEPDIR)/strace-mount.Tpo -c -o strace-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mount.Tpo $(DEPDIR)/strace-mount.Po
+# $(AM_V_CC)source='mount.c' object='strace-mount.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mount.obj `if test -f 'mount.c'; then $(CYGPATH_W) 'mount.c'; else $(CYGPATH_W) '$(srcdir)/mount.c'; fi`
+
+strace-mq.o: mq.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mq.o -MD -MP -MF $(DEPDIR)/strace-mq.Tpo -c -o strace-mq.o `test -f 'mq.c' || echo '$(srcdir)/'`mq.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mq.Tpo $(DEPDIR)/strace-mq.Po
+# $(AM_V_CC)source='mq.c' object='strace-mq.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mq.o `test -f 'mq.c' || echo '$(srcdir)/'`mq.c
+
+strace-mq.obj: mq.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mq.obj -MD -MP -MF $(DEPDIR)/strace-mq.Tpo -c -o strace-mq.obj `if test -f 'mq.c'; then $(CYGPATH_W) 'mq.c'; else $(CYGPATH_W) '$(srcdir)/mq.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mq.Tpo $(DEPDIR)/strace-mq.Po
+# $(AM_V_CC)source='mq.c' object='strace-mq.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mq.obj `if test -f 'mq.c'; then $(CYGPATH_W) 'mq.c'; else $(CYGPATH_W) '$(srcdir)/mq.c'; fi`
+
+strace-msghdr.o: msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-msghdr.o -MD -MP -MF $(DEPDIR)/strace-msghdr.Tpo -c -o strace-msghdr.o `test -f 'msghdr.c' || echo '$(srcdir)/'`msghdr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-msghdr.Tpo $(DEPDIR)/strace-msghdr.Po
+# $(AM_V_CC)source='msghdr.c' object='strace-msghdr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-msghdr.o `test -f 'msghdr.c' || echo '$(srcdir)/'`msghdr.c
+
+strace-msghdr.obj: msghdr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-msghdr.obj -MD -MP -MF $(DEPDIR)/strace-msghdr.Tpo -c -o strace-msghdr.obj `if test -f 'msghdr.c'; then $(CYGPATH_W) 'msghdr.c'; else $(CYGPATH_W) '$(srcdir)/msghdr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-msghdr.Tpo $(DEPDIR)/strace-msghdr.Po
+# $(AM_V_CC)source='msghdr.c' object='strace-msghdr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-msghdr.obj `if test -f 'msghdr.c'; then $(CYGPATH_W) 'msghdr.c'; else $(CYGPATH_W) '$(srcdir)/msghdr.c'; fi`
+
+strace-mtd.o: mtd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mtd.o -MD -MP -MF $(DEPDIR)/strace-mtd.Tpo -c -o strace-mtd.o `test -f 'mtd.c' || echo '$(srcdir)/'`mtd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mtd.Tpo $(DEPDIR)/strace-mtd.Po
+# $(AM_V_CC)source='mtd.c' object='strace-mtd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mtd.o `test -f 'mtd.c' || echo '$(srcdir)/'`mtd.c
+
+strace-mtd.obj: mtd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mtd.obj -MD -MP -MF $(DEPDIR)/strace-mtd.Tpo -c -o strace-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mtd.Tpo $(DEPDIR)/strace-mtd.Po
+# $(AM_V_CC)source='mtd.c' object='strace-mtd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-mtd.obj `if test -f 'mtd.c'; then $(CYGPATH_W) 'mtd.c'; else $(CYGPATH_W) '$(srcdir)/mtd.c'; fi`
+
+strace-net.o: net.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-net.o -MD -MP -MF $(DEPDIR)/strace-net.Tpo -c -o strace-net.o `test -f 'net.c' || echo '$(srcdir)/'`net.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-net.Tpo $(DEPDIR)/strace-net.Po
+# $(AM_V_CC)source='net.c' object='strace-net.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-net.o `test -f 'net.c' || echo '$(srcdir)/'`net.c
+
+strace-net.obj: net.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-net.obj -MD -MP -MF $(DEPDIR)/strace-net.Tpo -c -o strace-net.obj `if test -f 'net.c'; then $(CYGPATH_W) 'net.c'; else $(CYGPATH_W) '$(srcdir)/net.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-net.Tpo $(DEPDIR)/strace-net.Po
+# $(AM_V_CC)source='net.c' object='strace-net.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-net.obj `if test -f 'net.c'; then $(CYGPATH_W) 'net.c'; else $(CYGPATH_W) '$(srcdir)/net.c'; fi`
+
+strace-netlink.o: netlink.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink.o -MD -MP -MF $(DEPDIR)/strace-netlink.Tpo -c -o strace-netlink.o `test -f 'netlink.c' || echo '$(srcdir)/'`netlink.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink.Tpo $(DEPDIR)/strace-netlink.Po
+# $(AM_V_CC)source='netlink.c' object='strace-netlink.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink.o `test -f 'netlink.c' || echo '$(srcdir)/'`netlink.c
+
+strace-netlink.obj: netlink.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink.obj -MD -MP -MF $(DEPDIR)/strace-netlink.Tpo -c -o strace-netlink.obj `if test -f 'netlink.c'; then $(CYGPATH_W) 'netlink.c'; else $(CYGPATH_W) '$(srcdir)/netlink.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink.Tpo $(DEPDIR)/strace-netlink.Po
+# $(AM_V_CC)source='netlink.c' object='strace-netlink.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_crypto.o: netlink_crypto.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_crypto.o -MD -MP -MF $(DEPDIR)/strace-netlink_crypto.Tpo -c -o strace-netlink_crypto.o `test -f 'netlink_crypto.c' || echo '$(srcdir)/'`netlink_crypto.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_crypto.Tpo $(DEPDIR)/strace-netlink_crypto.Po
+# $(AM_V_CC)source='netlink_crypto.c' object='strace-netlink_crypto.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_crypto.o `test -f 'netlink_crypto.c' || echo '$(srcdir)/'`netlink_crypto.c
+
+strace-netlink_crypto.obj: netlink_crypto.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_crypto.obj -MD -MP -MF $(DEPDIR)/strace-netlink_crypto.Tpo -c -o strace-netlink_crypto.obj `if test -f 'netlink_crypto.c'; then $(CYGPATH_W) 'netlink_crypto.c'; else $(CYGPATH_W) '$(srcdir)/netlink_crypto.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_crypto.Tpo $(DEPDIR)/strace-netlink_crypto.Po
+# $(AM_V_CC)source='netlink_crypto.c' object='strace-netlink_crypto.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_crypto.obj `if test -f 'netlink_crypto.c'; then $(CYGPATH_W) 'netlink_crypto.c'; else $(CYGPATH_W) '$(srcdir)/netlink_crypto.c'; fi`
+
+strace-netlink_inet_diag.o: netlink_inet_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_inet_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_inet_diag.Tpo -c -o strace-netlink_inet_diag.o `test -f 'netlink_inet_diag.c' || echo '$(srcdir)/'`netlink_inet_diag.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_inet_diag.Tpo $(DEPDIR)/strace-netlink_inet_diag.Po
+# $(AM_V_CC)source='netlink_inet_diag.c' object='strace-netlink_inet_diag.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_inet_diag.o `test -f 'netlink_inet_diag.c' || echo '$(srcdir)/'`netlink_inet_diag.c
+
+strace-netlink_inet_diag.obj: netlink_inet_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_inet_diag.obj -MD -MP -MF $(DEPDIR)/strace-netlink_inet_diag.Tpo -c -o strace-netlink_inet_diag.obj `if test -f 'netlink_inet_diag.c'; then $(CYGPATH_W) 'netlink_inet_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_inet_diag.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_inet_diag.Tpo $(DEPDIR)/strace-netlink_inet_diag.Po
+# $(AM_V_CC)source='netlink_inet_diag.c' object='strace-netlink_inet_diag.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_inet_diag.obj `if test -f 'netlink_inet_diag.c'; then $(CYGPATH_W) 'netlink_inet_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_inet_diag.c'; fi`
+
+strace-netlink_netfilter.o: netlink_netfilter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netfilter.o -MD -MP -MF $(DEPDIR)/strace-netlink_netfilter.Tpo -c -o strace-netlink_netfilter.o `test -f 'netlink_netfilter.c' || echo '$(srcdir)/'`netlink_netfilter.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netfilter.Tpo $(DEPDIR)/strace-netlink_netfilter.Po
+# $(AM_V_CC)source='netlink_netfilter.c' object='strace-netlink_netfilter.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_netfilter.o `test -f 'netlink_netfilter.c' || echo '$(srcdir)/'`netlink_netfilter.c
+
+strace-netlink_netfilter.obj: netlink_netfilter.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netfilter.obj -MD -MP -MF $(DEPDIR)/strace-netlink_netfilter.Tpo -c -o strace-netlink_netfilter.obj `if test -f 'netlink_netfilter.c'; then $(CYGPATH_W) 'netlink_netfilter.c'; else $(CYGPATH_W) '$(srcdir)/netlink_netfilter.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netfilter.Tpo $(DEPDIR)/strace-netlink_netfilter.Po
+# $(AM_V_CC)source='netlink_netfilter.c' object='strace-netlink_netfilter.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_netfilter.obj `if test -f 'netlink_netfilter.c'; then $(CYGPATH_W) 'netlink_netfilter.c'; else $(CYGPATH_W) '$(srcdir)/netlink_netfilter.c'; fi`
+
+strace-netlink_netlink_diag.o: netlink_netlink_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netlink_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_netlink_diag.Tpo -c -o strace-netlink_netlink_diag.o `test -f 'netlink_netlink_diag.c' || echo '$(srcdir)/'`netlink_netlink_diag.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netlink_diag.Tpo $(DEPDIR)/strace-netlink_netlink_diag.Po
+# $(AM_V_CC)source='netlink_netlink_diag.c' object='strace-netlink_netlink_diag.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_netlink_diag.o `test -f 'netlink_netlink_diag.c' || echo '$(srcdir)/'`netlink_netlink_diag.c
+
+strace-netlink_netlink_diag.obj: netlink_netlink_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netlink_diag.obj -MD -MP -MF $(DEPDIR)/strace-netlink_netlink_diag.Tpo -c -o strace-netlink_netlink_diag.obj `if test -f 'netlink_netlink_diag.c'; then $(CYGPATH_W) 'netlink_netlink_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_netlink_diag.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netlink_diag.Tpo $(DEPDIR)/strace-netlink_netlink_diag.Po
+# $(AM_V_CC)source='netlink_netlink_diag.c' object='strace-netlink_netlink_diag.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_netlink_diag.obj `if test -f 'netlink_netlink_diag.c'; then $(CYGPATH_W) 'netlink_netlink_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_netlink_diag.c'; fi`
+
+strace-netlink_packet_diag.o: netlink_packet_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_packet_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_packet_diag.Tpo -c -o strace-netlink_packet_diag.o `test -f 'netlink_packet_diag.c' || echo '$(srcdir)/'`netlink_packet_diag.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_packet_diag.Tpo $(DEPDIR)/strace-netlink_packet_diag.Po
+# $(AM_V_CC)source='netlink_packet_diag.c' object='strace-netlink_packet_diag.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_packet_diag.o `test -f 'netlink_packet_diag.c' || echo '$(srcdir)/'`netlink_packet_diag.c
+
+strace-netlink_packet_diag.obj: netlink_packet_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_packet_diag.obj -MD -MP -MF $(DEPDIR)/strace-netlink_packet_diag.Tpo -c -o strace-netlink_packet_diag.obj `if test -f 'netlink_packet_diag.c'; then $(CYGPATH_W) 'netlink_packet_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_packet_diag.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_packet_diag.Tpo $(DEPDIR)/strace-netlink_packet_diag.Po
+# $(AM_V_CC)source='netlink_packet_diag.c' object='strace-netlink_packet_diag.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_packet_diag.obj `if test -f 'netlink_packet_diag.c'; then $(CYGPATH_W) 'netlink_packet_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_packet_diag.c'; fi`
+
+strace-netlink_route.o: netlink_route.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_route.o -MD -MP -MF $(DEPDIR)/strace-netlink_route.Tpo -c -o strace-netlink_route.o `test -f 'netlink_route.c' || echo '$(srcdir)/'`netlink_route.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_route.Tpo $(DEPDIR)/strace-netlink_route.Po
+# $(AM_V_CC)source='netlink_route.c' object='strace-netlink_route.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_route.o `test -f 'netlink_route.c' || echo '$(srcdir)/'`netlink_route.c
+
+strace-netlink_route.obj: netlink_route.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_route.obj -MD -MP -MF $(DEPDIR)/strace-netlink_route.Tpo -c -o strace-netlink_route.obj `if test -f 'netlink_route.c'; then $(CYGPATH_W) 'netlink_route.c'; else $(CYGPATH_W) '$(srcdir)/netlink_route.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_route.Tpo $(DEPDIR)/strace-netlink_route.Po
+# $(AM_V_CC)source='netlink_route.c' object='strace-netlink_route.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_route.obj `if test -f 'netlink_route.c'; then $(CYGPATH_W) 'netlink_route.c'; else $(CYGPATH_W) '$(srcdir)/netlink_route.c'; fi`
+
+strace-netlink_selinux.o: netlink_selinux.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_selinux.o -MD -MP -MF $(DEPDIR)/strace-netlink_selinux.Tpo -c -o strace-netlink_selinux.o `test -f 'netlink_selinux.c' || echo '$(srcdir)/'`netlink_selinux.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_selinux.Tpo $(DEPDIR)/strace-netlink_selinux.Po
+# $(AM_V_CC)source='netlink_selinux.c' object='strace-netlink_selinux.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_selinux.o `test -f 'netlink_selinux.c' || echo '$(srcdir)/'`netlink_selinux.c
+
+strace-netlink_selinux.obj: netlink_selinux.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_selinux.obj -MD -MP -MF $(DEPDIR)/strace-netlink_selinux.Tpo -c -o strace-netlink_selinux.obj `if test -f 'netlink_selinux.c'; then $(CYGPATH_W) 'netlink_selinux.c'; else $(CYGPATH_W) '$(srcdir)/netlink_selinux.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_selinux.Tpo $(DEPDIR)/strace-netlink_selinux.Po
+# $(AM_V_CC)source='netlink_selinux.c' object='strace-netlink_selinux.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_selinux.obj `if test -f 'netlink_selinux.c'; then $(CYGPATH_W) 'netlink_selinux.c'; else $(CYGPATH_W) '$(srcdir)/netlink_selinux.c'; fi`
+
+strace-netlink_smc_diag.o: netlink_smc_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_smc_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_smc_diag.Tpo -c -o strace-netlink_smc_diag.o `test -f 'netlink_smc_diag.c' || echo '$(srcdir)/'`netlink_smc_diag.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_smc_diag.Tpo $(DEPDIR)/strace-netlink_smc_diag.Po
+# $(AM_V_CC)source='netlink_smc_diag.c' object='strace-netlink_smc_diag.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_smc_diag.o `test -f 'netlink_smc_diag.c' || echo '$(srcdir)/'`netlink_smc_diag.c
+
+strace-netlink_smc_diag.obj: netlink_smc_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_smc_diag.obj -MD -MP -MF $(DEPDIR)/strace-netlink_smc_diag.Tpo -c -o strace-netlink_smc_diag.obj `if test -f 'netlink_smc_diag.c'; then $(CYGPATH_W) 'netlink_smc_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_smc_diag.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_smc_diag.Tpo $(DEPDIR)/strace-netlink_smc_diag.Po
+# $(AM_V_CC)source='netlink_smc_diag.c' object='strace-netlink_smc_diag.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_smc_diag.obj `if test -f 'netlink_smc_diag.c'; then $(CYGPATH_W) 'netlink_smc_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_smc_diag.c'; fi`
+
+strace-netlink_sock_diag.o: netlink_sock_diag.c
+ $(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_V_at)$(am__mv) $(DEPDIR)/strace-netlink_sock_diag.Tpo $(DEPDIR)/strace-netlink_sock_diag.Po
+# $(AM_V_CC)source='netlink_sock_diag.c' object='strace-netlink_sock_diag.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-netlink_sock_diag.Tpo $(DEPDIR)/strace-netlink_sock_diag.Po
+# $(AM_V_CC)source='netlink_sock_diag.c' object='strace-netlink_sock_diag.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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-netlink_unix_diag.o: netlink_unix_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_unix_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_unix_diag.Tpo -c -o strace-netlink_unix_diag.o `test -f 'netlink_unix_diag.c' || echo '$(srcdir)/'`netlink_unix_diag.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_unix_diag.Tpo $(DEPDIR)/strace-netlink_unix_diag.Po
+# $(AM_V_CC)source='netlink_unix_diag.c' object='strace-netlink_unix_diag.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_unix_diag.o `test -f 'netlink_unix_diag.c' || echo '$(srcdir)/'`netlink_unix_diag.c
+
+strace-netlink_unix_diag.obj: netlink_unix_diag.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_unix_diag.obj -MD -MP -MF $(DEPDIR)/strace-netlink_unix_diag.Tpo -c -o strace-netlink_unix_diag.obj `if test -f 'netlink_unix_diag.c'; then $(CYGPATH_W) 'netlink_unix_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_unix_diag.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_unix_diag.Tpo $(DEPDIR)/strace-netlink_unix_diag.Po
+# $(AM_V_CC)source='netlink_unix_diag.c' object='strace-netlink_unix_diag.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_unix_diag.obj `if test -f 'netlink_unix_diag.c'; then $(CYGPATH_W) 'netlink_unix_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_unix_diag.c'; fi`
+
+strace-nlattr.o: nlattr.c
+ $(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_V_at)$(am__mv) $(DEPDIR)/strace-nlattr.Tpo $(DEPDIR)/strace-nlattr.Po
+# $(AM_V_CC)source='nlattr.c' object='strace-nlattr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-nlattr.Tpo $(DEPDIR)/strace-nlattr.Po
+# $(AM_V_CC)source='nlattr.c' object='strace-nlattr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
+# $(AM_V_CC)source='nsfs.c' object='strace-nsfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nsfs.o `test -f 'nsfs.c' || echo '$(srcdir)/'`nsfs.c
+
+strace-nsfs.obj: nsfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nsfs.obj -MD -MP -MF $(DEPDIR)/strace-nsfs.Tpo -c -o strace-nsfs.obj `if test -f 'nsfs.c'; then $(CYGPATH_W) 'nsfs.c'; else $(CYGPATH_W) '$(srcdir)/nsfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
+# $(AM_V_CC)source='nsfs.c' object='strace-nsfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nsfs.obj `if test -f 'nsfs.c'; then $(CYGPATH_W) 'nsfs.c'; else $(CYGPATH_W) '$(srcdir)/nsfs.c'; fi`
+
+strace-numa.o: numa.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-numa.o -MD -MP -MF $(DEPDIR)/strace-numa.Tpo -c -o strace-numa.o `test -f 'numa.c' || echo '$(srcdir)/'`numa.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-numa.Tpo $(DEPDIR)/strace-numa.Po
+# $(AM_V_CC)source='numa.c' object='strace-numa.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-numa.o `test -f 'numa.c' || echo '$(srcdir)/'`numa.c
+
+strace-numa.obj: numa.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-numa.obj -MD -MP -MF $(DEPDIR)/strace-numa.Tpo -c -o strace-numa.obj `if test -f 'numa.c'; then $(CYGPATH_W) 'numa.c'; else $(CYGPATH_W) '$(srcdir)/numa.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-numa.Tpo $(DEPDIR)/strace-numa.Po
+# $(AM_V_CC)source='numa.c' object='strace-numa.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-numa.obj `if test -f 'numa.c'; then $(CYGPATH_W) 'numa.c'; else $(CYGPATH_W) '$(srcdir)/numa.c'; fi`
+
+strace-number_set.o: number_set.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-number_set.o -MD -MP -MF $(DEPDIR)/strace-number_set.Tpo -c -o strace-number_set.o `test -f 'number_set.c' || echo '$(srcdir)/'`number_set.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-number_set.Tpo $(DEPDIR)/strace-number_set.Po
+# $(AM_V_CC)source='number_set.c' object='strace-number_set.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-number_set.o `test -f 'number_set.c' || echo '$(srcdir)/'`number_set.c
+
+strace-number_set.obj: number_set.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-number_set.obj -MD -MP -MF $(DEPDIR)/strace-number_set.Tpo -c -o strace-number_set.obj `if test -f 'number_set.c'; then $(CYGPATH_W) 'number_set.c'; else $(CYGPATH_W) '$(srcdir)/number_set.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-number_set.Tpo $(DEPDIR)/strace-number_set.Po
+# $(AM_V_CC)source='number_set.c' object='strace-number_set.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-number_set.obj `if test -f 'number_set.c'; then $(CYGPATH_W) 'number_set.c'; else $(CYGPATH_W) '$(srcdir)/number_set.c'; fi`
+
+strace-oldstat.o: oldstat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-oldstat.o -MD -MP -MF $(DEPDIR)/strace-oldstat.Tpo -c -o strace-oldstat.o `test -f 'oldstat.c' || echo '$(srcdir)/'`oldstat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-oldstat.Tpo $(DEPDIR)/strace-oldstat.Po
+# $(AM_V_CC)source='oldstat.c' object='strace-oldstat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-oldstat.o `test -f 'oldstat.c' || echo '$(srcdir)/'`oldstat.c
+
+strace-oldstat.obj: oldstat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-oldstat.obj -MD -MP -MF $(DEPDIR)/strace-oldstat.Tpo -c -o strace-oldstat.obj `if test -f 'oldstat.c'; then $(CYGPATH_W) 'oldstat.c'; else $(CYGPATH_W) '$(srcdir)/oldstat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-oldstat.Tpo $(DEPDIR)/strace-oldstat.Po
+# $(AM_V_CC)source='oldstat.c' object='strace-oldstat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-oldstat.obj `if test -f 'oldstat.c'; then $(CYGPATH_W) 'oldstat.c'; else $(CYGPATH_W) '$(srcdir)/oldstat.c'; fi`
+
+strace-open.o: open.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-open.o -MD -MP -MF $(DEPDIR)/strace-open.Tpo -c -o strace-open.o `test -f 'open.c' || echo '$(srcdir)/'`open.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-open.Tpo $(DEPDIR)/strace-open.Po
+# $(AM_V_CC)source='open.c' object='strace-open.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-open.o `test -f 'open.c' || echo '$(srcdir)/'`open.c
+
+strace-open.obj: open.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-open.obj -MD -MP -MF $(DEPDIR)/strace-open.Tpo -c -o strace-open.obj `if test -f 'open.c'; then $(CYGPATH_W) 'open.c'; else $(CYGPATH_W) '$(srcdir)/open.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-open.Tpo $(DEPDIR)/strace-open.Po
+# $(AM_V_CC)source='open.c' object='strace-open.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-open.obj `if test -f 'open.c'; then $(CYGPATH_W) 'open.c'; else $(CYGPATH_W) '$(srcdir)/open.c'; fi`
+
+strace-or1k_atomic.o: or1k_atomic.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-or1k_atomic.o -MD -MP -MF $(DEPDIR)/strace-or1k_atomic.Tpo -c -o strace-or1k_atomic.o `test -f 'or1k_atomic.c' || echo '$(srcdir)/'`or1k_atomic.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-or1k_atomic.Tpo $(DEPDIR)/strace-or1k_atomic.Po
+# $(AM_V_CC)source='or1k_atomic.c' object='strace-or1k_atomic.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-or1k_atomic.o `test -f 'or1k_atomic.c' || echo '$(srcdir)/'`or1k_atomic.c
+
+strace-or1k_atomic.obj: or1k_atomic.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-or1k_atomic.obj -MD -MP -MF $(DEPDIR)/strace-or1k_atomic.Tpo -c -o strace-or1k_atomic.obj `if test -f 'or1k_atomic.c'; then $(CYGPATH_W) 'or1k_atomic.c'; else $(CYGPATH_W) '$(srcdir)/or1k_atomic.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-or1k_atomic.Tpo $(DEPDIR)/strace-or1k_atomic.Po
+# $(AM_V_CC)source='or1k_atomic.c' object='strace-or1k_atomic.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-or1k_atomic.obj `if test -f 'or1k_atomic.c'; then $(CYGPATH_W) 'or1k_atomic.c'; else $(CYGPATH_W) '$(srcdir)/or1k_atomic.c'; fi`
+
+strace-pathtrace.o: pathtrace.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-pathtrace.o -MD -MP -MF $(DEPDIR)/strace-pathtrace.Tpo -c -o strace-pathtrace.o `test -f 'pathtrace.c' || echo '$(srcdir)/'`pathtrace.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-pathtrace.Tpo $(DEPDIR)/strace-pathtrace.Po
+# $(AM_V_CC)source='pathtrace.c' object='strace-pathtrace.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-pathtrace.o `test -f 'pathtrace.c' || echo '$(srcdir)/'`pathtrace.c
+
+strace-pathtrace.obj: pathtrace.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-pathtrace.obj -MD -MP -MF $(DEPDIR)/strace-pathtrace.Tpo -c -o strace-pathtrace.obj `if test -f 'pathtrace.c'; then $(CYGPATH_W) 'pathtrace.c'; else $(CYGPATH_W) '$(srcdir)/pathtrace.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-pathtrace.Tpo $(DEPDIR)/strace-pathtrace.Po
+# $(AM_V_CC)source='pathtrace.c' object='strace-pathtrace.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-pathtrace.obj `if test -f 'pathtrace.c'; then $(CYGPATH_W) 'pathtrace.c'; else $(CYGPATH_W) '$(srcdir)/pathtrace.c'; fi`
+
+strace-perf.o: perf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-perf.o -MD -MP -MF $(DEPDIR)/strace-perf.Tpo -c -o strace-perf.o `test -f 'perf.c' || echo '$(srcdir)/'`perf.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-perf.Tpo $(DEPDIR)/strace-perf.Po
+# $(AM_V_CC)source='perf.c' object='strace-perf.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-perf.o `test -f 'perf.c' || echo '$(srcdir)/'`perf.c
+
+strace-perf.obj: perf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-perf.obj -MD -MP -MF $(DEPDIR)/strace-perf.Tpo -c -o strace-perf.obj `if test -f 'perf.c'; then $(CYGPATH_W) 'perf.c'; else $(CYGPATH_W) '$(srcdir)/perf.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-perf.Tpo $(DEPDIR)/strace-perf.Po
+# $(AM_V_CC)source='perf.c' object='strace-perf.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-perf.obj `if test -f 'perf.c'; then $(CYGPATH_W) 'perf.c'; else $(CYGPATH_W) '$(srcdir)/perf.c'; fi`
+
+strace-personality.o: personality.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-personality.o -MD -MP -MF $(DEPDIR)/strace-personality.Tpo -c -o strace-personality.o `test -f 'personality.c' || echo '$(srcdir)/'`personality.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-personality.Tpo $(DEPDIR)/strace-personality.Po
+# $(AM_V_CC)source='personality.c' object='strace-personality.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-personality.o `test -f 'personality.c' || echo '$(srcdir)/'`personality.c
+
+strace-personality.obj: personality.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-personality.obj -MD -MP -MF $(DEPDIR)/strace-personality.Tpo -c -o strace-personality.obj `if test -f 'personality.c'; then $(CYGPATH_W) 'personality.c'; else $(CYGPATH_W) '$(srcdir)/personality.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-personality.Tpo $(DEPDIR)/strace-personality.Po
+# $(AM_V_CC)source='personality.c' object='strace-personality.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-personality.obj `if test -f 'personality.c'; then $(CYGPATH_W) 'personality.c'; else $(CYGPATH_W) '$(srcdir)/personality.c'; fi`
+
+strace-pkeys.o: pkeys.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-pkeys.o -MD -MP -MF $(DEPDIR)/strace-pkeys.Tpo -c -o strace-pkeys.o `test -f 'pkeys.c' || echo '$(srcdir)/'`pkeys.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-pkeys.Tpo $(DEPDIR)/strace-pkeys.Po
+# $(AM_V_CC)source='pkeys.c' object='strace-pkeys.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-pkeys.o `test -f 'pkeys.c' || echo '$(srcdir)/'`pkeys.c
+
+strace-pkeys.obj: pkeys.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-pkeys.obj -MD -MP -MF $(DEPDIR)/strace-pkeys.Tpo -c -o strace-pkeys.obj `if test -f 'pkeys.c'; then $(CYGPATH_W) 'pkeys.c'; else $(CYGPATH_W) '$(srcdir)/pkeys.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-pkeys.Tpo $(DEPDIR)/strace-pkeys.Po
+# $(AM_V_CC)source='pkeys.c' object='strace-pkeys.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-pkeys.obj `if test -f 'pkeys.c'; then $(CYGPATH_W) 'pkeys.c'; else $(CYGPATH_W) '$(srcdir)/pkeys.c'; fi`
+
+strace-poll.o: poll.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-poll.o -MD -MP -MF $(DEPDIR)/strace-poll.Tpo -c -o strace-poll.o `test -f 'poll.c' || echo '$(srcdir)/'`poll.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-poll.Tpo $(DEPDIR)/strace-poll.Po
+# $(AM_V_CC)source='poll.c' object='strace-poll.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-poll.o `test -f 'poll.c' || echo '$(srcdir)/'`poll.c
+
+strace-poll.obj: poll.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-poll.obj -MD -MP -MF $(DEPDIR)/strace-poll.Tpo -c -o strace-poll.obj `if test -f 'poll.c'; then $(CYGPATH_W) 'poll.c'; else $(CYGPATH_W) '$(srcdir)/poll.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-poll.Tpo $(DEPDIR)/strace-poll.Po
+# $(AM_V_CC)source='poll.c' object='strace-poll.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-poll.obj `if test -f 'poll.c'; then $(CYGPATH_W) 'poll.c'; else $(CYGPATH_W) '$(srcdir)/poll.c'; fi`
+
+strace-prctl.o: prctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-prctl.o -MD -MP -MF $(DEPDIR)/strace-prctl.Tpo -c -o strace-prctl.o `test -f 'prctl.c' || echo '$(srcdir)/'`prctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-prctl.Tpo $(DEPDIR)/strace-prctl.Po
+# $(AM_V_CC)source='prctl.c' object='strace-prctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-prctl.o `test -f 'prctl.c' || echo '$(srcdir)/'`prctl.c
+
+strace-prctl.obj: prctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-prctl.obj -MD -MP -MF $(DEPDIR)/strace-prctl.Tpo -c -o strace-prctl.obj `if test -f 'prctl.c'; then $(CYGPATH_W) 'prctl.c'; else $(CYGPATH_W) '$(srcdir)/prctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-prctl.Tpo $(DEPDIR)/strace-prctl.Po
+# $(AM_V_CC)source='prctl.c' object='strace-prctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-prctl.obj `if test -f 'prctl.c'; then $(CYGPATH_W) 'prctl.c'; else $(CYGPATH_W) '$(srcdir)/prctl.c'; fi`
+
+strace-print_dev_t.o: print_dev_t.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_dev_t.o -MD -MP -MF $(DEPDIR)/strace-print_dev_t.Tpo -c -o strace-print_dev_t.o `test -f 'print_dev_t.c' || echo '$(srcdir)/'`print_dev_t.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_dev_t.Tpo $(DEPDIR)/strace-print_dev_t.Po
+# $(AM_V_CC)source='print_dev_t.c' object='strace-print_dev_t.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_dev_t.o `test -f 'print_dev_t.c' || echo '$(srcdir)/'`print_dev_t.c
+
+strace-print_dev_t.obj: print_dev_t.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_dev_t.obj -MD -MP -MF $(DEPDIR)/strace-print_dev_t.Tpo -c -o strace-print_dev_t.obj `if test -f 'print_dev_t.c'; then $(CYGPATH_W) 'print_dev_t.c'; else $(CYGPATH_W) '$(srcdir)/print_dev_t.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_dev_t.Tpo $(DEPDIR)/strace-print_dev_t.Po
+# $(AM_V_CC)source='print_dev_t.c' object='strace-print_dev_t.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_dev_t.obj `if test -f 'print_dev_t.c'; then $(CYGPATH_W) 'print_dev_t.c'; else $(CYGPATH_W) '$(srcdir)/print_dev_t.c'; fi`
+
+strace-print_group_req.o: print_group_req.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_group_req.o -MD -MP -MF $(DEPDIR)/strace-print_group_req.Tpo -c -o strace-print_group_req.o `test -f 'print_group_req.c' || echo '$(srcdir)/'`print_group_req.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_group_req.Tpo $(DEPDIR)/strace-print_group_req.Po
+# $(AM_V_CC)source='print_group_req.c' object='strace-print_group_req.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_group_req.o `test -f 'print_group_req.c' || echo '$(srcdir)/'`print_group_req.c
+
+strace-print_group_req.obj: print_group_req.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_group_req.obj -MD -MP -MF $(DEPDIR)/strace-print_group_req.Tpo -c -o strace-print_group_req.obj `if test -f 'print_group_req.c'; then $(CYGPATH_W) 'print_group_req.c'; else $(CYGPATH_W) '$(srcdir)/print_group_req.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_group_req.Tpo $(DEPDIR)/strace-print_group_req.Po
+# $(AM_V_CC)source='print_group_req.c' object='strace-print_group_req.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_group_req.obj `if test -f 'print_group_req.c'; then $(CYGPATH_W) 'print_group_req.c'; else $(CYGPATH_W) '$(srcdir)/print_group_req.c'; fi`
+
+strace-print_ifindex.o: print_ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_ifindex.o -MD -MP -MF $(DEPDIR)/strace-print_ifindex.Tpo -c -o strace-print_ifindex.o `test -f 'print_ifindex.c' || echo '$(srcdir)/'`print_ifindex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_ifindex.Tpo $(DEPDIR)/strace-print_ifindex.Po
+# $(AM_V_CC)source='print_ifindex.c' object='strace-print_ifindex.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_ifindex.o `test -f 'print_ifindex.c' || echo '$(srcdir)/'`print_ifindex.c
+
+strace-print_ifindex.obj: print_ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_ifindex.obj -MD -MP -MF $(DEPDIR)/strace-print_ifindex.Tpo -c -o strace-print_ifindex.obj `if test -f 'print_ifindex.c'; then $(CYGPATH_W) 'print_ifindex.c'; else $(CYGPATH_W) '$(srcdir)/print_ifindex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_ifindex.Tpo $(DEPDIR)/strace-print_ifindex.Po
+# $(AM_V_CC)source='print_ifindex.c' object='strace-print_ifindex.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_ifindex.obj `if test -f 'print_ifindex.c'; then $(CYGPATH_W) 'print_ifindex.c'; else $(CYGPATH_W) '$(srcdir)/print_ifindex.c'; fi`
+
+strace-print_mq_attr.o: print_mq_attr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_mq_attr.o -MD -MP -MF $(DEPDIR)/strace-print_mq_attr.Tpo -c -o strace-print_mq_attr.o `test -f 'print_mq_attr.c' || echo '$(srcdir)/'`print_mq_attr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mq_attr.Tpo $(DEPDIR)/strace-print_mq_attr.Po
+# $(AM_V_CC)source='print_mq_attr.c' object='strace-print_mq_attr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_mq_attr.o `test -f 'print_mq_attr.c' || echo '$(srcdir)/'`print_mq_attr.c
+
+strace-print_mq_attr.obj: print_mq_attr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_mq_attr.obj -MD -MP -MF $(DEPDIR)/strace-print_mq_attr.Tpo -c -o strace-print_mq_attr.obj `if test -f 'print_mq_attr.c'; then $(CYGPATH_W) 'print_mq_attr.c'; else $(CYGPATH_W) '$(srcdir)/print_mq_attr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_mq_attr.Tpo $(DEPDIR)/strace-print_mq_attr.Po
+# $(AM_V_CC)source='print_mq_attr.c' object='strace-print_mq_attr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_mq_attr.obj `if test -f 'print_mq_attr.c'; then $(CYGPATH_W) 'print_mq_attr.c'; else $(CYGPATH_W) '$(srcdir)/print_mq_attr.c'; fi`
+
+strace-print_msgbuf.o: print_msgbuf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_msgbuf.o -MD -MP -MF $(DEPDIR)/strace-print_msgbuf.Tpo -c -o strace-print_msgbuf.o `test -f 'print_msgbuf.c' || echo '$(srcdir)/'`print_msgbuf.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_msgbuf.Tpo $(DEPDIR)/strace-print_msgbuf.Po
+# $(AM_V_CC)source='print_msgbuf.c' object='strace-print_msgbuf.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_msgbuf.o `test -f 'print_msgbuf.c' || echo '$(srcdir)/'`print_msgbuf.c
+
+strace-print_msgbuf.obj: print_msgbuf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_msgbuf.obj -MD -MP -MF $(DEPDIR)/strace-print_msgbuf.Tpo -c -o strace-print_msgbuf.obj `if test -f 'print_msgbuf.c'; then $(CYGPATH_W) 'print_msgbuf.c'; else $(CYGPATH_W) '$(srcdir)/print_msgbuf.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_msgbuf.Tpo $(DEPDIR)/strace-print_msgbuf.Po
+# $(AM_V_CC)source='print_msgbuf.c' object='strace-print_msgbuf.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_msgbuf.obj `if test -f 'print_msgbuf.c'; then $(CYGPATH_W) 'print_msgbuf.c'; else $(CYGPATH_W) '$(srcdir)/print_msgbuf.c'; fi`
+
+strace-print_sg_req_info.o: print_sg_req_info.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_sg_req_info.o -MD -MP -MF $(DEPDIR)/strace-print_sg_req_info.Tpo -c -o strace-print_sg_req_info.o `test -f 'print_sg_req_info.c' || echo '$(srcdir)/'`print_sg_req_info.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_sg_req_info.Tpo $(DEPDIR)/strace-print_sg_req_info.Po
+# $(AM_V_CC)source='print_sg_req_info.c' object='strace-print_sg_req_info.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_sg_req_info.o `test -f 'print_sg_req_info.c' || echo '$(srcdir)/'`print_sg_req_info.c
+
+strace-print_sg_req_info.obj: print_sg_req_info.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_sg_req_info.obj -MD -MP -MF $(DEPDIR)/strace-print_sg_req_info.Tpo -c -o strace-print_sg_req_info.obj `if test -f 'print_sg_req_info.c'; then $(CYGPATH_W) 'print_sg_req_info.c'; else $(CYGPATH_W) '$(srcdir)/print_sg_req_info.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_sg_req_info.Tpo $(DEPDIR)/strace-print_sg_req_info.Po
+# $(AM_V_CC)source='print_sg_req_info.c' object='strace-print_sg_req_info.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_sg_req_info.obj `if test -f 'print_sg_req_info.c'; then $(CYGPATH_W) 'print_sg_req_info.c'; else $(CYGPATH_W) '$(srcdir)/print_sg_req_info.c'; fi`
+
+strace-print_sigevent.o: print_sigevent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_sigevent.o -MD -MP -MF $(DEPDIR)/strace-print_sigevent.Tpo -c -o strace-print_sigevent.o `test -f 'print_sigevent.c' || echo '$(srcdir)/'`print_sigevent.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_sigevent.Tpo $(DEPDIR)/strace-print_sigevent.Po
+# $(AM_V_CC)source='print_sigevent.c' object='strace-print_sigevent.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_sigevent.o `test -f 'print_sigevent.c' || echo '$(srcdir)/'`print_sigevent.c
+
+strace-print_sigevent.obj: print_sigevent.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_sigevent.obj -MD -MP -MF $(DEPDIR)/strace-print_sigevent.Tpo -c -o strace-print_sigevent.obj `if test -f 'print_sigevent.c'; then $(CYGPATH_W) 'print_sigevent.c'; else $(CYGPATH_W) '$(srcdir)/print_sigevent.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_sigevent.Tpo $(DEPDIR)/strace-print_sigevent.Po
+# $(AM_V_CC)source='print_sigevent.c' object='strace-print_sigevent.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_sigevent.obj `if test -f 'print_sigevent.c'; then $(CYGPATH_W) 'print_sigevent.c'; else $(CYGPATH_W) '$(srcdir)/print_sigevent.c'; fi`
+
+strace-print_statfs.o: print_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_statfs.o -MD -MP -MF $(DEPDIR)/strace-print_statfs.Tpo -c -o strace-print_statfs.o `test -f 'print_statfs.c' || echo '$(srcdir)/'`print_statfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_statfs.Tpo $(DEPDIR)/strace-print_statfs.Po
+# $(AM_V_CC)source='print_statfs.c' object='strace-print_statfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_statfs.o `test -f 'print_statfs.c' || echo '$(srcdir)/'`print_statfs.c
+
+strace-print_statfs.obj: print_statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_statfs.obj -MD -MP -MF $(DEPDIR)/strace-print_statfs.Tpo -c -o strace-print_statfs.obj `if test -f 'print_statfs.c'; then $(CYGPATH_W) 'print_statfs.c'; else $(CYGPATH_W) '$(srcdir)/print_statfs.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_statfs.Tpo $(DEPDIR)/strace-print_statfs.Po
+# $(AM_V_CC)source='print_statfs.c' object='strace-print_statfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_statfs.obj `if test -f 'print_statfs.c'; then $(CYGPATH_W) 'print_statfs.c'; else $(CYGPATH_W) '$(srcdir)/print_statfs.c'; fi`
+
+strace-print_struct_stat.o: print_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_struct_stat.o -MD -MP -MF $(DEPDIR)/strace-print_struct_stat.Tpo -c -o strace-print_struct_stat.o `test -f 'print_struct_stat.c' || echo '$(srcdir)/'`print_struct_stat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_struct_stat.Tpo $(DEPDIR)/strace-print_struct_stat.Po
+# $(AM_V_CC)source='print_struct_stat.c' object='strace-print_struct_stat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_struct_stat.o `test -f 'print_struct_stat.c' || echo '$(srcdir)/'`print_struct_stat.c
+
+strace-print_struct_stat.obj: print_struct_stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_struct_stat.obj -MD -MP -MF $(DEPDIR)/strace-print_struct_stat.Tpo -c -o strace-print_struct_stat.obj `if test -f 'print_struct_stat.c'; then $(CYGPATH_W) 'print_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/print_struct_stat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_struct_stat.Tpo $(DEPDIR)/strace-print_struct_stat.Po
+# $(AM_V_CC)source='print_struct_stat.c' object='strace-print_struct_stat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_struct_stat.obj `if test -f 'print_struct_stat.c'; then $(CYGPATH_W) 'print_struct_stat.c'; else $(CYGPATH_W) '$(srcdir)/print_struct_stat.c'; fi`
+
+strace-print_time.o: print_time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_time.o -MD -MP -MF $(DEPDIR)/strace-print_time.Tpo -c -o strace-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_time.Tpo $(DEPDIR)/strace-print_time.Po
+# $(AM_V_CC)source='print_time.c' object='strace-print_time.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+strace-print_time.obj: print_time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_time.obj -MD -MP -MF $(DEPDIR)/strace-print_time.Tpo -c -o strace-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)/strace-print_time.Tpo $(DEPDIR)/strace-print_time.Po
+# $(AM_V_CC)source='print_time.c' object='strace-print_time.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+
+strace-print_timespec.o: print_timespec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_timespec.o -MD -MP -MF $(DEPDIR)/strace-print_timespec.Tpo -c -o strace-print_timespec.o `test -f 'print_timespec.c' || echo '$(srcdir)/'`print_timespec.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_timespec.Tpo $(DEPDIR)/strace-print_timespec.Po
+# $(AM_V_CC)source='print_timespec.c' object='strace-print_timespec.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_timespec.o `test -f 'print_timespec.c' || echo '$(srcdir)/'`print_timespec.c
+
+strace-print_timespec.obj: print_timespec.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_timespec.obj -MD -MP -MF $(DEPDIR)/strace-print_timespec.Tpo -c -o strace-print_timespec.obj `if test -f 'print_timespec.c'; then $(CYGPATH_W) 'print_timespec.c'; else $(CYGPATH_W) '$(srcdir)/print_timespec.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_timespec.Tpo $(DEPDIR)/strace-print_timespec.Po
+# $(AM_V_CC)source='print_timespec.c' object='strace-print_timespec.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_timespec.obj `if test -f 'print_timespec.c'; then $(CYGPATH_W) 'print_timespec.c'; else $(CYGPATH_W) '$(srcdir)/print_timespec.c'; fi`
+
+strace-print_timeval.o: print_timeval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_timeval.o -MD -MP -MF $(DEPDIR)/strace-print_timeval.Tpo -c -o strace-print_timeval.o `test -f 'print_timeval.c' || echo '$(srcdir)/'`print_timeval.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_timeval.Tpo $(DEPDIR)/strace-print_timeval.Po
+# $(AM_V_CC)source='print_timeval.c' object='strace-print_timeval.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_timeval.o `test -f 'print_timeval.c' || echo '$(srcdir)/'`print_timeval.c
+
+strace-print_timeval.obj: print_timeval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_timeval.obj -MD -MP -MF $(DEPDIR)/strace-print_timeval.Tpo -c -o strace-print_timeval.obj `if test -f 'print_timeval.c'; then $(CYGPATH_W) 'print_timeval.c'; else $(CYGPATH_W) '$(srcdir)/print_timeval.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_timeval.Tpo $(DEPDIR)/strace-print_timeval.Po
+# $(AM_V_CC)source='print_timeval.c' object='strace-print_timeval.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_timeval.obj `if test -f 'print_timeval.c'; then $(CYGPATH_W) 'print_timeval.c'; else $(CYGPATH_W) '$(srcdir)/print_timeval.c'; fi`
+
+strace-print_timex.o: print_timex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_timex.o -MD -MP -MF $(DEPDIR)/strace-print_timex.Tpo -c -o strace-print_timex.o `test -f 'print_timex.c' || echo '$(srcdir)/'`print_timex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_timex.Tpo $(DEPDIR)/strace-print_timex.Po
+# $(AM_V_CC)source='print_timex.c' object='strace-print_timex.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_timex.o `test -f 'print_timex.c' || echo '$(srcdir)/'`print_timex.c
+
+strace-print_timex.obj: print_timex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-print_timex.obj -MD -MP -MF $(DEPDIR)/strace-print_timex.Tpo -c -o strace-print_timex.obj `if test -f 'print_timex.c'; then $(CYGPATH_W) 'print_timex.c'; else $(CYGPATH_W) '$(srcdir)/print_timex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-print_timex.Tpo $(DEPDIR)/strace-print_timex.Po
+# $(AM_V_CC)source='print_timex.c' object='strace-print_timex.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-print_timex.obj `if test -f 'print_timex.c'; then $(CYGPATH_W) 'print_timex.c'; else $(CYGPATH_W) '$(srcdir)/print_timex.c'; fi`
+
+strace-printmode.o: printmode.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-printmode.o -MD -MP -MF $(DEPDIR)/strace-printmode.Tpo -c -o strace-printmode.o `test -f 'printmode.c' || echo '$(srcdir)/'`printmode.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-printmode.Tpo $(DEPDIR)/strace-printmode.Po
+# $(AM_V_CC)source='printmode.c' object='strace-printmode.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-printmode.o `test -f 'printmode.c' || echo '$(srcdir)/'`printmode.c
+
+strace-printmode.obj: printmode.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-printmode.obj -MD -MP -MF $(DEPDIR)/strace-printmode.Tpo -c -o strace-printmode.obj `if test -f 'printmode.c'; then $(CYGPATH_W) 'printmode.c'; else $(CYGPATH_W) '$(srcdir)/printmode.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-printmode.Tpo $(DEPDIR)/strace-printmode.Po
+# $(AM_V_CC)source='printmode.c' object='strace-printmode.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-printmode.obj `if test -f 'printmode.c'; then $(CYGPATH_W) 'printmode.c'; else $(CYGPATH_W) '$(srcdir)/printmode.c'; fi`
+
+strace-printrusage.o: printrusage.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-printrusage.o -MD -MP -MF $(DEPDIR)/strace-printrusage.Tpo -c -o strace-printrusage.o `test -f 'printrusage.c' || echo '$(srcdir)/'`printrusage.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-printrusage.Tpo $(DEPDIR)/strace-printrusage.Po
+# $(AM_V_CC)source='printrusage.c' object='strace-printrusage.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-printrusage.o `test -f 'printrusage.c' || echo '$(srcdir)/'`printrusage.c
+
+strace-printrusage.obj: printrusage.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-printrusage.obj -MD -MP -MF $(DEPDIR)/strace-printrusage.Tpo -c -o strace-printrusage.obj `if test -f 'printrusage.c'; then $(CYGPATH_W) 'printrusage.c'; else $(CYGPATH_W) '$(srcdir)/printrusage.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-printrusage.Tpo $(DEPDIR)/strace-printrusage.Po
+# $(AM_V_CC)source='printrusage.c' object='strace-printrusage.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-printrusage.obj `if test -f 'printrusage.c'; then $(CYGPATH_W) 'printrusage.c'; else $(CYGPATH_W) '$(srcdir)/printrusage.c'; fi`
+
+strace-printsiginfo.o: printsiginfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-printsiginfo.o -MD -MP -MF $(DEPDIR)/strace-printsiginfo.Tpo -c -o strace-printsiginfo.o `test -f 'printsiginfo.c' || echo '$(srcdir)/'`printsiginfo.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-printsiginfo.Tpo $(DEPDIR)/strace-printsiginfo.Po
+# $(AM_V_CC)source='printsiginfo.c' object='strace-printsiginfo.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-printsiginfo.o `test -f 'printsiginfo.c' || echo '$(srcdir)/'`printsiginfo.c
+
+strace-printsiginfo.obj: printsiginfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-printsiginfo.obj -MD -MP -MF $(DEPDIR)/strace-printsiginfo.Tpo -c -o strace-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-printsiginfo.Tpo $(DEPDIR)/strace-printsiginfo.Po
+# $(AM_V_CC)source='printsiginfo.c' object='strace-printsiginfo.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
+
+strace-process.o: process.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-process.o -MD -MP -MF $(DEPDIR)/strace-process.Tpo -c -o strace-process.o `test -f 'process.c' || echo '$(srcdir)/'`process.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-process.Tpo $(DEPDIR)/strace-process.Po
+# $(AM_V_CC)source='process.c' object='strace-process.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-process.o `test -f 'process.c' || echo '$(srcdir)/'`process.c
+
+strace-process.obj: process.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-process.obj -MD -MP -MF $(DEPDIR)/strace-process.Tpo -c -o strace-process.obj `if test -f 'process.c'; then $(CYGPATH_W) 'process.c'; else $(CYGPATH_W) '$(srcdir)/process.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-process.Tpo $(DEPDIR)/strace-process.Po
+# $(AM_V_CC)source='process.c' object='strace-process.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-process.obj `if test -f 'process.c'; then $(CYGPATH_W) 'process.c'; else $(CYGPATH_W) '$(srcdir)/process.c'; fi`
+
+strace-process_vm.o: process_vm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-process_vm.o -MD -MP -MF $(DEPDIR)/strace-process_vm.Tpo -c -o strace-process_vm.o `test -f 'process_vm.c' || echo '$(srcdir)/'`process_vm.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-process_vm.Tpo $(DEPDIR)/strace-process_vm.Po
+# $(AM_V_CC)source='process_vm.c' object='strace-process_vm.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-process_vm.o `test -f 'process_vm.c' || echo '$(srcdir)/'`process_vm.c
+
+strace-process_vm.obj: process_vm.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-process_vm.obj -MD -MP -MF $(DEPDIR)/strace-process_vm.Tpo -c -o strace-process_vm.obj `if test -f 'process_vm.c'; then $(CYGPATH_W) 'process_vm.c'; else $(CYGPATH_W) '$(srcdir)/process_vm.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-process_vm.Tpo $(DEPDIR)/strace-process_vm.Po
+# $(AM_V_CC)source='process_vm.c' object='strace-process_vm.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-process_vm.obj `if test -f 'process_vm.c'; then $(CYGPATH_W) 'process_vm.c'; else $(CYGPATH_W) '$(srcdir)/process_vm.c'; fi`
+
+strace-ptp.o: ptp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ptp.o -MD -MP -MF $(DEPDIR)/strace-ptp.Tpo -c -o strace-ptp.o `test -f 'ptp.c' || echo '$(srcdir)/'`ptp.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ptp.Tpo $(DEPDIR)/strace-ptp.Po
+# $(AM_V_CC)source='ptp.c' object='strace-ptp.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ptp.o `test -f 'ptp.c' || echo '$(srcdir)/'`ptp.c
+
+strace-ptp.obj: ptp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ptp.obj -MD -MP -MF $(DEPDIR)/strace-ptp.Tpo -c -o strace-ptp.obj `if test -f 'ptp.c'; then $(CYGPATH_W) 'ptp.c'; else $(CYGPATH_W) '$(srcdir)/ptp.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ptp.Tpo $(DEPDIR)/strace-ptp.Po
+# $(AM_V_CC)source='ptp.c' object='strace-ptp.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ptp.obj `if test -f 'ptp.c'; then $(CYGPATH_W) 'ptp.c'; else $(CYGPATH_W) '$(srcdir)/ptp.c'; fi`
+
+strace-quota.o: quota.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-quota.o -MD -MP -MF $(DEPDIR)/strace-quota.Tpo -c -o strace-quota.o `test -f 'quota.c' || echo '$(srcdir)/'`quota.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-quota.Tpo $(DEPDIR)/strace-quota.Po
+# $(AM_V_CC)source='quota.c' object='strace-quota.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-quota.o `test -f 'quota.c' || echo '$(srcdir)/'`quota.c
+
+strace-quota.obj: quota.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-quota.obj -MD -MP -MF $(DEPDIR)/strace-quota.Tpo -c -o strace-quota.obj `if test -f 'quota.c'; then $(CYGPATH_W) 'quota.c'; else $(CYGPATH_W) '$(srcdir)/quota.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-quota.Tpo $(DEPDIR)/strace-quota.Po
+# $(AM_V_CC)source='quota.c' object='strace-quota.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-quota.obj `if test -f 'quota.c'; then $(CYGPATH_W) 'quota.c'; else $(CYGPATH_W) '$(srcdir)/quota.c'; fi`
+
+strace-readahead.o: readahead.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-readahead.o -MD -MP -MF $(DEPDIR)/strace-readahead.Tpo -c -o strace-readahead.o `test -f 'readahead.c' || echo '$(srcdir)/'`readahead.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-readahead.Tpo $(DEPDIR)/strace-readahead.Po
+# $(AM_V_CC)source='readahead.c' object='strace-readahead.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-readahead.o `test -f 'readahead.c' || echo '$(srcdir)/'`readahead.c
+
+strace-readahead.obj: readahead.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-readahead.obj -MD -MP -MF $(DEPDIR)/strace-readahead.Tpo -c -o strace-readahead.obj `if test -f 'readahead.c'; then $(CYGPATH_W) 'readahead.c'; else $(CYGPATH_W) '$(srcdir)/readahead.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-readahead.Tpo $(DEPDIR)/strace-readahead.Po
+# $(AM_V_CC)source='readahead.c' object='strace-readahead.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-readahead.obj `if test -f 'readahead.c'; then $(CYGPATH_W) 'readahead.c'; else $(CYGPATH_W) '$(srcdir)/readahead.c'; fi`
+
+strace-readlink.o: readlink.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-readlink.o -MD -MP -MF $(DEPDIR)/strace-readlink.Tpo -c -o strace-readlink.o `test -f 'readlink.c' || echo '$(srcdir)/'`readlink.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-readlink.Tpo $(DEPDIR)/strace-readlink.Po
+# $(AM_V_CC)source='readlink.c' object='strace-readlink.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-readlink.o `test -f 'readlink.c' || echo '$(srcdir)/'`readlink.c
+
+strace-readlink.obj: readlink.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-readlink.obj -MD -MP -MF $(DEPDIR)/strace-readlink.Tpo -c -o strace-readlink.obj `if test -f 'readlink.c'; then $(CYGPATH_W) 'readlink.c'; else $(CYGPATH_W) '$(srcdir)/readlink.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-readlink.Tpo $(DEPDIR)/strace-readlink.Po
+# $(AM_V_CC)source='readlink.c' object='strace-readlink.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-readlink.obj `if test -f 'readlink.c'; then $(CYGPATH_W) 'readlink.c'; else $(CYGPATH_W) '$(srcdir)/readlink.c'; fi`
+
+strace-reboot.o: reboot.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-reboot.o -MD -MP -MF $(DEPDIR)/strace-reboot.Tpo -c -o strace-reboot.o `test -f 'reboot.c' || echo '$(srcdir)/'`reboot.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-reboot.Tpo $(DEPDIR)/strace-reboot.Po
+# $(AM_V_CC)source='reboot.c' object='strace-reboot.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-reboot.o `test -f 'reboot.c' || echo '$(srcdir)/'`reboot.c
+
+strace-reboot.obj: reboot.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-reboot.obj -MD -MP -MF $(DEPDIR)/strace-reboot.Tpo -c -o strace-reboot.obj `if test -f 'reboot.c'; then $(CYGPATH_W) 'reboot.c'; else $(CYGPATH_W) '$(srcdir)/reboot.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-reboot.Tpo $(DEPDIR)/strace-reboot.Po
+# $(AM_V_CC)source='reboot.c' object='strace-reboot.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-reboot.obj `if test -f 'reboot.c'; then $(CYGPATH_W) 'reboot.c'; else $(CYGPATH_W) '$(srcdir)/reboot.c'; fi`
+
+strace-renameat.o: renameat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-renameat.o -MD -MP -MF $(DEPDIR)/strace-renameat.Tpo -c -o strace-renameat.o `test -f 'renameat.c' || echo '$(srcdir)/'`renameat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-renameat.Tpo $(DEPDIR)/strace-renameat.Po
+# $(AM_V_CC)source='renameat.c' object='strace-renameat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-renameat.o `test -f 'renameat.c' || echo '$(srcdir)/'`renameat.c
+
+strace-renameat.obj: renameat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-renameat.obj -MD -MP -MF $(DEPDIR)/strace-renameat.Tpo -c -o strace-renameat.obj `if test -f 'renameat.c'; then $(CYGPATH_W) 'renameat.c'; else $(CYGPATH_W) '$(srcdir)/renameat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-renameat.Tpo $(DEPDIR)/strace-renameat.Po
+# $(AM_V_CC)source='renameat.c' object='strace-renameat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-renameat.obj `if test -f 'renameat.c'; then $(CYGPATH_W) 'renameat.c'; else $(CYGPATH_W) '$(srcdir)/renameat.c'; fi`
+
+strace-resource.o: resource.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-resource.o -MD -MP -MF $(DEPDIR)/strace-resource.Tpo -c -o strace-resource.o `test -f 'resource.c' || echo '$(srcdir)/'`resource.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-resource.Tpo $(DEPDIR)/strace-resource.Po
+# $(AM_V_CC)source='resource.c' object='strace-resource.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-resource.o `test -f 'resource.c' || echo '$(srcdir)/'`resource.c
+
+strace-resource.obj: resource.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-resource.obj -MD -MP -MF $(DEPDIR)/strace-resource.Tpo -c -o strace-resource.obj `if test -f 'resource.c'; then $(CYGPATH_W) 'resource.c'; else $(CYGPATH_W) '$(srcdir)/resource.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-resource.Tpo $(DEPDIR)/strace-resource.Po
+# $(AM_V_CC)source='resource.c' object='strace-resource.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-resource.obj `if test -f 'resource.c'; then $(CYGPATH_W) 'resource.c'; else $(CYGPATH_W) '$(srcdir)/resource.c'; fi`
+
+strace-retval.o: retval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-retval.o -MD -MP -MF $(DEPDIR)/strace-retval.Tpo -c -o strace-retval.o `test -f 'retval.c' || echo '$(srcdir)/'`retval.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-retval.Tpo $(DEPDIR)/strace-retval.Po
+# $(AM_V_CC)source='retval.c' object='strace-retval.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-retval.o `test -f 'retval.c' || echo '$(srcdir)/'`retval.c
+
+strace-retval.obj: retval.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-retval.obj -MD -MP -MF $(DEPDIR)/strace-retval.Tpo -c -o strace-retval.obj `if test -f 'retval.c'; then $(CYGPATH_W) 'retval.c'; else $(CYGPATH_W) '$(srcdir)/retval.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-retval.Tpo $(DEPDIR)/strace-retval.Po
+# $(AM_V_CC)source='retval.c' object='strace-retval.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-retval.obj `if test -f 'retval.c'; then $(CYGPATH_W) 'retval.c'; else $(CYGPATH_W) '$(srcdir)/retval.c'; fi`
+
+strace-riscv.o: riscv.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-riscv.o -MD -MP -MF $(DEPDIR)/strace-riscv.Tpo -c -o strace-riscv.o `test -f 'riscv.c' || echo '$(srcdir)/'`riscv.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-riscv.Tpo $(DEPDIR)/strace-riscv.Po
+# $(AM_V_CC)source='riscv.c' object='strace-riscv.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-riscv.o `test -f 'riscv.c' || echo '$(srcdir)/'`riscv.c
+
+strace-riscv.obj: riscv.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-riscv.obj -MD -MP -MF $(DEPDIR)/strace-riscv.Tpo -c -o strace-riscv.obj `if test -f 'riscv.c'; then $(CYGPATH_W) 'riscv.c'; else $(CYGPATH_W) '$(srcdir)/riscv.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-riscv.Tpo $(DEPDIR)/strace-riscv.Po
+# $(AM_V_CC)source='riscv.c' object='strace-riscv.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-riscv.obj `if test -f 'riscv.c'; then $(CYGPATH_W) 'riscv.c'; else $(CYGPATH_W) '$(srcdir)/riscv.c'; fi`
+
+strace-rt_sigframe.o: rt_sigframe.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigframe.o -MD -MP -MF $(DEPDIR)/strace-rt_sigframe.Tpo -c -o strace-rt_sigframe.o `test -f 'rt_sigframe.c' || echo '$(srcdir)/'`rt_sigframe.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigframe.Tpo $(DEPDIR)/strace-rt_sigframe.Po
+# $(AM_V_CC)source='rt_sigframe.c' object='strace-rt_sigframe.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigframe.o `test -f 'rt_sigframe.c' || echo '$(srcdir)/'`rt_sigframe.c
+
+strace-rt_sigframe.obj: rt_sigframe.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigframe.obj -MD -MP -MF $(DEPDIR)/strace-rt_sigframe.Tpo -c -o strace-rt_sigframe.obj `if test -f 'rt_sigframe.c'; then $(CYGPATH_W) 'rt_sigframe.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigframe.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigframe.Tpo $(DEPDIR)/strace-rt_sigframe.Po
+# $(AM_V_CC)source='rt_sigframe.c' object='strace-rt_sigframe.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigframe.obj `if test -f 'rt_sigframe.c'; then $(CYGPATH_W) 'rt_sigframe.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigframe.c'; fi`
+
+strace-rt_sigreturn.o: rt_sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/strace-rt_sigreturn.Tpo -c -o strace-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigreturn.Tpo $(DEPDIR)/strace-rt_sigreturn.Po
+# $(AM_V_CC)source='rt_sigreturn.c' object='strace-rt_sigreturn.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+strace-rt_sigreturn.obj: rt_sigreturn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/strace-rt_sigreturn.Tpo -c -o strace-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigreturn.Tpo $(DEPDIR)/strace-rt_sigreturn.Po
+# $(AM_V_CC)source='rt_sigreturn.c' object='strace-rt_sigreturn.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
+strace-rtc.o: rtc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtc.o -MD -MP -MF $(DEPDIR)/strace-rtc.Tpo -c -o strace-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtc.Tpo $(DEPDIR)/strace-rtc.Po
+# $(AM_V_CC)source='rtc.c' object='strace-rtc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
+
+strace-rtc.obj: rtc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtc.obj -MD -MP -MF $(DEPDIR)/strace-rtc.Tpo -c -o strace-rtc.obj `if test -f 'rtc.c'; then $(CYGPATH_W) 'rtc.c'; else $(CYGPATH_W) '$(srcdir)/rtc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtc.Tpo $(DEPDIR)/strace-rtc.Po
+# $(AM_V_CC)source='rtc.c' object='strace-rtc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtc.obj `if test -f 'rtc.c'; then $(CYGPATH_W) 'rtc.c'; else $(CYGPATH_W) '$(srcdir)/rtc.c'; fi`
+
+strace-rtnl_addr.o: rtnl_addr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_addr.o -MD -MP -MF $(DEPDIR)/strace-rtnl_addr.Tpo -c -o strace-rtnl_addr.o `test -f 'rtnl_addr.c' || echo '$(srcdir)/'`rtnl_addr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_addr.Tpo $(DEPDIR)/strace-rtnl_addr.Po
+# $(AM_V_CC)source='rtnl_addr.c' object='strace-rtnl_addr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_addr.o `test -f 'rtnl_addr.c' || echo '$(srcdir)/'`rtnl_addr.c
+
+strace-rtnl_addr.obj: rtnl_addr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_addr.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_addr.Tpo -c -o strace-rtnl_addr.obj `if test -f 'rtnl_addr.c'; then $(CYGPATH_W) 'rtnl_addr.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_addr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_addr.Tpo $(DEPDIR)/strace-rtnl_addr.Po
+# $(AM_V_CC)source='rtnl_addr.c' object='strace-rtnl_addr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_addr.obj `if test -f 'rtnl_addr.c'; then $(CYGPATH_W) 'rtnl_addr.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_addr.c'; fi`
+
+strace-rtnl_addrlabel.o: rtnl_addrlabel.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_addrlabel.o -MD -MP -MF $(DEPDIR)/strace-rtnl_addrlabel.Tpo -c -o strace-rtnl_addrlabel.o `test -f 'rtnl_addrlabel.c' || echo '$(srcdir)/'`rtnl_addrlabel.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_addrlabel.Tpo $(DEPDIR)/strace-rtnl_addrlabel.Po
+# $(AM_V_CC)source='rtnl_addrlabel.c' object='strace-rtnl_addrlabel.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_addrlabel.o `test -f 'rtnl_addrlabel.c' || echo '$(srcdir)/'`rtnl_addrlabel.c
+
+strace-rtnl_addrlabel.obj: rtnl_addrlabel.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_addrlabel.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_addrlabel.Tpo -c -o strace-rtnl_addrlabel.obj `if test -f 'rtnl_addrlabel.c'; then $(CYGPATH_W) 'rtnl_addrlabel.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_addrlabel.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_addrlabel.Tpo $(DEPDIR)/strace-rtnl_addrlabel.Po
+# $(AM_V_CC)source='rtnl_addrlabel.c' object='strace-rtnl_addrlabel.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_addrlabel.obj `if test -f 'rtnl_addrlabel.c'; then $(CYGPATH_W) 'rtnl_addrlabel.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_addrlabel.c'; fi`
+
+strace-rtnl_dcb.o: rtnl_dcb.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_dcb.o -MD -MP -MF $(DEPDIR)/strace-rtnl_dcb.Tpo -c -o strace-rtnl_dcb.o `test -f 'rtnl_dcb.c' || echo '$(srcdir)/'`rtnl_dcb.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_dcb.Tpo $(DEPDIR)/strace-rtnl_dcb.Po
+# $(AM_V_CC)source='rtnl_dcb.c' object='strace-rtnl_dcb.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_dcb.o `test -f 'rtnl_dcb.c' || echo '$(srcdir)/'`rtnl_dcb.c
+
+strace-rtnl_dcb.obj: rtnl_dcb.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_dcb.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_dcb.Tpo -c -o strace-rtnl_dcb.obj `if test -f 'rtnl_dcb.c'; then $(CYGPATH_W) 'rtnl_dcb.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_dcb.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_dcb.Tpo $(DEPDIR)/strace-rtnl_dcb.Po
+# $(AM_V_CC)source='rtnl_dcb.c' object='strace-rtnl_dcb.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_dcb.obj `if test -f 'rtnl_dcb.c'; then $(CYGPATH_W) 'rtnl_dcb.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_dcb.c'; fi`
+
+strace-rtnl_link.o: rtnl_link.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_link.o -MD -MP -MF $(DEPDIR)/strace-rtnl_link.Tpo -c -o strace-rtnl_link.o `test -f 'rtnl_link.c' || echo '$(srcdir)/'`rtnl_link.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_link.Tpo $(DEPDIR)/strace-rtnl_link.Po
+# $(AM_V_CC)source='rtnl_link.c' object='strace-rtnl_link.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_link.o `test -f 'rtnl_link.c' || echo '$(srcdir)/'`rtnl_link.c
+
+strace-rtnl_link.obj: rtnl_link.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_link.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_link.Tpo -c -o strace-rtnl_link.obj `if test -f 'rtnl_link.c'; then $(CYGPATH_W) 'rtnl_link.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_link.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_link.Tpo $(DEPDIR)/strace-rtnl_link.Po
+# $(AM_V_CC)source='rtnl_link.c' object='strace-rtnl_link.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_link.obj `if test -f 'rtnl_link.c'; then $(CYGPATH_W) 'rtnl_link.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_link.c'; fi`
+
+strace-rtnl_mdb.o: rtnl_mdb.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_mdb.o -MD -MP -MF $(DEPDIR)/strace-rtnl_mdb.Tpo -c -o strace-rtnl_mdb.o `test -f 'rtnl_mdb.c' || echo '$(srcdir)/'`rtnl_mdb.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_mdb.Tpo $(DEPDIR)/strace-rtnl_mdb.Po
+# $(AM_V_CC)source='rtnl_mdb.c' object='strace-rtnl_mdb.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_mdb.o `test -f 'rtnl_mdb.c' || echo '$(srcdir)/'`rtnl_mdb.c
+
+strace-rtnl_mdb.obj: rtnl_mdb.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_mdb.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_mdb.Tpo -c -o strace-rtnl_mdb.obj `if test -f 'rtnl_mdb.c'; then $(CYGPATH_W) 'rtnl_mdb.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_mdb.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_mdb.Tpo $(DEPDIR)/strace-rtnl_mdb.Po
+# $(AM_V_CC)source='rtnl_mdb.c' object='strace-rtnl_mdb.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_mdb.obj `if test -f 'rtnl_mdb.c'; then $(CYGPATH_W) 'rtnl_mdb.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_mdb.c'; fi`
+
+strace-rtnl_neigh.o: rtnl_neigh.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_neigh.o -MD -MP -MF $(DEPDIR)/strace-rtnl_neigh.Tpo -c -o strace-rtnl_neigh.o `test -f 'rtnl_neigh.c' || echo '$(srcdir)/'`rtnl_neigh.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_neigh.Tpo $(DEPDIR)/strace-rtnl_neigh.Po
+# $(AM_V_CC)source='rtnl_neigh.c' object='strace-rtnl_neigh.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_neigh.o `test -f 'rtnl_neigh.c' || echo '$(srcdir)/'`rtnl_neigh.c
+
+strace-rtnl_neigh.obj: rtnl_neigh.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_neigh.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_neigh.Tpo -c -o strace-rtnl_neigh.obj `if test -f 'rtnl_neigh.c'; then $(CYGPATH_W) 'rtnl_neigh.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_neigh.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_neigh.Tpo $(DEPDIR)/strace-rtnl_neigh.Po
+# $(AM_V_CC)source='rtnl_neigh.c' object='strace-rtnl_neigh.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_neigh.obj `if test -f 'rtnl_neigh.c'; then $(CYGPATH_W) 'rtnl_neigh.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_neigh.c'; fi`
+
+strace-rtnl_neightbl.o: rtnl_neightbl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_neightbl.o -MD -MP -MF $(DEPDIR)/strace-rtnl_neightbl.Tpo -c -o strace-rtnl_neightbl.o `test -f 'rtnl_neightbl.c' || echo '$(srcdir)/'`rtnl_neightbl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_neightbl.Tpo $(DEPDIR)/strace-rtnl_neightbl.Po
+# $(AM_V_CC)source='rtnl_neightbl.c' object='strace-rtnl_neightbl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_neightbl.o `test -f 'rtnl_neightbl.c' || echo '$(srcdir)/'`rtnl_neightbl.c
+
+strace-rtnl_neightbl.obj: rtnl_neightbl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_neightbl.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_neightbl.Tpo -c -o strace-rtnl_neightbl.obj `if test -f 'rtnl_neightbl.c'; then $(CYGPATH_W) 'rtnl_neightbl.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_neightbl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_neightbl.Tpo $(DEPDIR)/strace-rtnl_neightbl.Po
+# $(AM_V_CC)source='rtnl_neightbl.c' object='strace-rtnl_neightbl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_neightbl.obj `if test -f 'rtnl_neightbl.c'; then $(CYGPATH_W) 'rtnl_neightbl.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_neightbl.c'; fi`
+
+strace-rtnl_netconf.o: rtnl_netconf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_netconf.o -MD -MP -MF $(DEPDIR)/strace-rtnl_netconf.Tpo -c -o strace-rtnl_netconf.o `test -f 'rtnl_netconf.c' || echo '$(srcdir)/'`rtnl_netconf.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_netconf.Tpo $(DEPDIR)/strace-rtnl_netconf.Po
+# $(AM_V_CC)source='rtnl_netconf.c' object='strace-rtnl_netconf.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_netconf.o `test -f 'rtnl_netconf.c' || echo '$(srcdir)/'`rtnl_netconf.c
+
+strace-rtnl_netconf.obj: rtnl_netconf.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_netconf.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_netconf.Tpo -c -o strace-rtnl_netconf.obj `if test -f 'rtnl_netconf.c'; then $(CYGPATH_W) 'rtnl_netconf.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_netconf.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_netconf.Tpo $(DEPDIR)/strace-rtnl_netconf.Po
+# $(AM_V_CC)source='rtnl_netconf.c' object='strace-rtnl_netconf.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_netconf.obj `if test -f 'rtnl_netconf.c'; then $(CYGPATH_W) 'rtnl_netconf.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_netconf.c'; fi`
+
+strace-rtnl_nsid.o: rtnl_nsid.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_nsid.o -MD -MP -MF $(DEPDIR)/strace-rtnl_nsid.Tpo -c -o strace-rtnl_nsid.o `test -f 'rtnl_nsid.c' || echo '$(srcdir)/'`rtnl_nsid.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_nsid.Tpo $(DEPDIR)/strace-rtnl_nsid.Po
+# $(AM_V_CC)source='rtnl_nsid.c' object='strace-rtnl_nsid.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_nsid.o `test -f 'rtnl_nsid.c' || echo '$(srcdir)/'`rtnl_nsid.c
+
+strace-rtnl_nsid.obj: rtnl_nsid.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_nsid.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_nsid.Tpo -c -o strace-rtnl_nsid.obj `if test -f 'rtnl_nsid.c'; then $(CYGPATH_W) 'rtnl_nsid.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_nsid.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_nsid.Tpo $(DEPDIR)/strace-rtnl_nsid.Po
+# $(AM_V_CC)source='rtnl_nsid.c' object='strace-rtnl_nsid.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_nsid.obj `if test -f 'rtnl_nsid.c'; then $(CYGPATH_W) 'rtnl_nsid.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_nsid.c'; fi`
+
+strace-rtnl_route.o: rtnl_route.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_route.o -MD -MP -MF $(DEPDIR)/strace-rtnl_route.Tpo -c -o strace-rtnl_route.o `test -f 'rtnl_route.c' || echo '$(srcdir)/'`rtnl_route.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_route.Tpo $(DEPDIR)/strace-rtnl_route.Po
+# $(AM_V_CC)source='rtnl_route.c' object='strace-rtnl_route.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_route.o `test -f 'rtnl_route.c' || echo '$(srcdir)/'`rtnl_route.c
+
+strace-rtnl_route.obj: rtnl_route.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_route.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_route.Tpo -c -o strace-rtnl_route.obj `if test -f 'rtnl_route.c'; then $(CYGPATH_W) 'rtnl_route.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_route.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_route.Tpo $(DEPDIR)/strace-rtnl_route.Po
+# $(AM_V_CC)source='rtnl_route.c' object='strace-rtnl_route.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_route.obj `if test -f 'rtnl_route.c'; then $(CYGPATH_W) 'rtnl_route.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_route.c'; fi`
+
+strace-rtnl_rule.o: rtnl_rule.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_rule.o -MD -MP -MF $(DEPDIR)/strace-rtnl_rule.Tpo -c -o strace-rtnl_rule.o `test -f 'rtnl_rule.c' || echo '$(srcdir)/'`rtnl_rule.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_rule.Tpo $(DEPDIR)/strace-rtnl_rule.Po
+# $(AM_V_CC)source='rtnl_rule.c' object='strace-rtnl_rule.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_rule.o `test -f 'rtnl_rule.c' || echo '$(srcdir)/'`rtnl_rule.c
+
+strace-rtnl_rule.obj: rtnl_rule.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_rule.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_rule.Tpo -c -o strace-rtnl_rule.obj `if test -f 'rtnl_rule.c'; then $(CYGPATH_W) 'rtnl_rule.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_rule.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_rule.Tpo $(DEPDIR)/strace-rtnl_rule.Po
+# $(AM_V_CC)source='rtnl_rule.c' object='strace-rtnl_rule.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_rule.obj `if test -f 'rtnl_rule.c'; then $(CYGPATH_W) 'rtnl_rule.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_rule.c'; fi`
+
+strace-rtnl_tc.o: rtnl_tc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_tc.o -MD -MP -MF $(DEPDIR)/strace-rtnl_tc.Tpo -c -o strace-rtnl_tc.o `test -f 'rtnl_tc.c' || echo '$(srcdir)/'`rtnl_tc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_tc.Tpo $(DEPDIR)/strace-rtnl_tc.Po
+# $(AM_V_CC)source='rtnl_tc.c' object='strace-rtnl_tc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_tc.o `test -f 'rtnl_tc.c' || echo '$(srcdir)/'`rtnl_tc.c
+
+strace-rtnl_tc.obj: rtnl_tc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_tc.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_tc.Tpo -c -o strace-rtnl_tc.obj `if test -f 'rtnl_tc.c'; then $(CYGPATH_W) 'rtnl_tc.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_tc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_tc.Tpo $(DEPDIR)/strace-rtnl_tc.Po
+# $(AM_V_CC)source='rtnl_tc.c' object='strace-rtnl_tc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_tc.obj `if test -f 'rtnl_tc.c'; then $(CYGPATH_W) 'rtnl_tc.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_tc.c'; fi`
+
+strace-rtnl_tc_action.o: rtnl_tc_action.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_tc_action.o -MD -MP -MF $(DEPDIR)/strace-rtnl_tc_action.Tpo -c -o strace-rtnl_tc_action.o `test -f 'rtnl_tc_action.c' || echo '$(srcdir)/'`rtnl_tc_action.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_tc_action.Tpo $(DEPDIR)/strace-rtnl_tc_action.Po
+# $(AM_V_CC)source='rtnl_tc_action.c' object='strace-rtnl_tc_action.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_tc_action.o `test -f 'rtnl_tc_action.c' || echo '$(srcdir)/'`rtnl_tc_action.c
+
+strace-rtnl_tc_action.obj: rtnl_tc_action.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtnl_tc_action.obj -MD -MP -MF $(DEPDIR)/strace-rtnl_tc_action.Tpo -c -o strace-rtnl_tc_action.obj `if test -f 'rtnl_tc_action.c'; then $(CYGPATH_W) 'rtnl_tc_action.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_tc_action.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtnl_tc_action.Tpo $(DEPDIR)/strace-rtnl_tc_action.Po
+# $(AM_V_CC)source='rtnl_tc_action.c' object='strace-rtnl_tc_action.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rtnl_tc_action.obj `if test -f 'rtnl_tc_action.c'; then $(CYGPATH_W) 'rtnl_tc_action.c'; else $(CYGPATH_W) '$(srcdir)/rtnl_tc_action.c'; fi`
+
+strace-s390.o: s390.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-s390.o -MD -MP -MF $(DEPDIR)/strace-s390.Tpo -c -o strace-s390.o `test -f 's390.c' || echo '$(srcdir)/'`s390.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-s390.Tpo $(DEPDIR)/strace-s390.Po
+# $(AM_V_CC)source='s390.c' object='strace-s390.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-s390.o `test -f 's390.c' || echo '$(srcdir)/'`s390.c
+
+strace-s390.obj: s390.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-s390.obj -MD -MP -MF $(DEPDIR)/strace-s390.Tpo -c -o strace-s390.obj `if test -f 's390.c'; then $(CYGPATH_W) 's390.c'; else $(CYGPATH_W) '$(srcdir)/s390.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-s390.Tpo $(DEPDIR)/strace-s390.Po
+# $(AM_V_CC)source='s390.c' object='strace-s390.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-s390.obj `if test -f 's390.c'; then $(CYGPATH_W) 's390.c'; else $(CYGPATH_W) '$(srcdir)/s390.c'; fi`
+
+strace-sched.o: sched.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sched.o -MD -MP -MF $(DEPDIR)/strace-sched.Tpo -c -o strace-sched.o `test -f 'sched.c' || echo '$(srcdir)/'`sched.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sched.Tpo $(DEPDIR)/strace-sched.Po
+# $(AM_V_CC)source='sched.c' object='strace-sched.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sched.o `test -f 'sched.c' || echo '$(srcdir)/'`sched.c
+
+strace-sched.obj: sched.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sched.obj -MD -MP -MF $(DEPDIR)/strace-sched.Tpo -c -o strace-sched.obj `if test -f 'sched.c'; then $(CYGPATH_W) 'sched.c'; else $(CYGPATH_W) '$(srcdir)/sched.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sched.Tpo $(DEPDIR)/strace-sched.Po
+# $(AM_V_CC)source='sched.c' object='strace-sched.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sched.obj `if test -f 'sched.c'; then $(CYGPATH_W) 'sched.c'; else $(CYGPATH_W) '$(srcdir)/sched.c'; fi`
+
+strace-scsi.o: scsi.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-scsi.o -MD -MP -MF $(DEPDIR)/strace-scsi.Tpo -c -o strace-scsi.o `test -f 'scsi.c' || echo '$(srcdir)/'`scsi.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-scsi.Tpo $(DEPDIR)/strace-scsi.Po
+# $(AM_V_CC)source='scsi.c' object='strace-scsi.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-scsi.o `test -f 'scsi.c' || echo '$(srcdir)/'`scsi.c
+
+strace-scsi.obj: scsi.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-scsi.obj -MD -MP -MF $(DEPDIR)/strace-scsi.Tpo -c -o strace-scsi.obj `if test -f 'scsi.c'; then $(CYGPATH_W) 'scsi.c'; else $(CYGPATH_W) '$(srcdir)/scsi.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-scsi.Tpo $(DEPDIR)/strace-scsi.Po
+# $(AM_V_CC)source='scsi.c' object='strace-scsi.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-scsi.obj `if test -f 'scsi.c'; then $(CYGPATH_W) 'scsi.c'; else $(CYGPATH_W) '$(srcdir)/scsi.c'; fi`
+
+strace-seccomp.o: seccomp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-seccomp.o -MD -MP -MF $(DEPDIR)/strace-seccomp.Tpo -c -o strace-seccomp.o `test -f 'seccomp.c' || echo '$(srcdir)/'`seccomp.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-seccomp.Tpo $(DEPDIR)/strace-seccomp.Po
+# $(AM_V_CC)source='seccomp.c' object='strace-seccomp.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-seccomp.o `test -f 'seccomp.c' || echo '$(srcdir)/'`seccomp.c
+
+strace-seccomp.obj: seccomp.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-seccomp.obj -MD -MP -MF $(DEPDIR)/strace-seccomp.Tpo -c -o strace-seccomp.obj `if test -f 'seccomp.c'; then $(CYGPATH_W) 'seccomp.c'; else $(CYGPATH_W) '$(srcdir)/seccomp.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-seccomp.Tpo $(DEPDIR)/strace-seccomp.Po
+# $(AM_V_CC)source='seccomp.c' object='strace-seccomp.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-seccomp.obj `if test -f 'seccomp.c'; then $(CYGPATH_W) 'seccomp.c'; else $(CYGPATH_W) '$(srcdir)/seccomp.c'; fi`
+
+strace-sendfile.o: sendfile.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sendfile.o -MD -MP -MF $(DEPDIR)/strace-sendfile.Tpo -c -o strace-sendfile.o `test -f 'sendfile.c' || echo '$(srcdir)/'`sendfile.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sendfile.Tpo $(DEPDIR)/strace-sendfile.Po
+# $(AM_V_CC)source='sendfile.c' object='strace-sendfile.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sendfile.o `test -f 'sendfile.c' || echo '$(srcdir)/'`sendfile.c
+
+strace-sendfile.obj: sendfile.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sendfile.obj -MD -MP -MF $(DEPDIR)/strace-sendfile.Tpo -c -o strace-sendfile.obj `if test -f 'sendfile.c'; then $(CYGPATH_W) 'sendfile.c'; else $(CYGPATH_W) '$(srcdir)/sendfile.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sendfile.Tpo $(DEPDIR)/strace-sendfile.Po
+# $(AM_V_CC)source='sendfile.c' object='strace-sendfile.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sendfile.obj `if test -f 'sendfile.c'; then $(CYGPATH_W) 'sendfile.c'; else $(CYGPATH_W) '$(srcdir)/sendfile.c'; fi`
+
+strace-sg_io_v3.o: sg_io_v3.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sg_io_v3.o -MD -MP -MF $(DEPDIR)/strace-sg_io_v3.Tpo -c -o strace-sg_io_v3.o `test -f 'sg_io_v3.c' || echo '$(srcdir)/'`sg_io_v3.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sg_io_v3.Tpo $(DEPDIR)/strace-sg_io_v3.Po
+# $(AM_V_CC)source='sg_io_v3.c' object='strace-sg_io_v3.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sg_io_v3.o `test -f 'sg_io_v3.c' || echo '$(srcdir)/'`sg_io_v3.c
+
+strace-sg_io_v3.obj: sg_io_v3.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sg_io_v3.obj -MD -MP -MF $(DEPDIR)/strace-sg_io_v3.Tpo -c -o strace-sg_io_v3.obj `if test -f 'sg_io_v3.c'; then $(CYGPATH_W) 'sg_io_v3.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v3.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sg_io_v3.Tpo $(DEPDIR)/strace-sg_io_v3.Po
+# $(AM_V_CC)source='sg_io_v3.c' object='strace-sg_io_v3.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sg_io_v3.obj `if test -f 'sg_io_v3.c'; then $(CYGPATH_W) 'sg_io_v3.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v3.c'; fi`
+
+strace-sg_io_v4.o: sg_io_v4.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sg_io_v4.o -MD -MP -MF $(DEPDIR)/strace-sg_io_v4.Tpo -c -o strace-sg_io_v4.o `test -f 'sg_io_v4.c' || echo '$(srcdir)/'`sg_io_v4.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sg_io_v4.Tpo $(DEPDIR)/strace-sg_io_v4.Po
+# $(AM_V_CC)source='sg_io_v4.c' object='strace-sg_io_v4.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sg_io_v4.o `test -f 'sg_io_v4.c' || echo '$(srcdir)/'`sg_io_v4.c
+
+strace-sg_io_v4.obj: sg_io_v4.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sg_io_v4.obj -MD -MP -MF $(DEPDIR)/strace-sg_io_v4.Tpo -c -o strace-sg_io_v4.obj `if test -f 'sg_io_v4.c'; then $(CYGPATH_W) 'sg_io_v4.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v4.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sg_io_v4.Tpo $(DEPDIR)/strace-sg_io_v4.Po
+# $(AM_V_CC)source='sg_io_v4.c' object='strace-sg_io_v4.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sg_io_v4.obj `if test -f 'sg_io_v4.c'; then $(CYGPATH_W) 'sg_io_v4.c'; else $(CYGPATH_W) '$(srcdir)/sg_io_v4.c'; fi`
+
+strace-shutdown.o: shutdown.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-shutdown.o -MD -MP -MF $(DEPDIR)/strace-shutdown.Tpo -c -o strace-shutdown.o `test -f 'shutdown.c' || echo '$(srcdir)/'`shutdown.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-shutdown.Tpo $(DEPDIR)/strace-shutdown.Po
+# $(AM_V_CC)source='shutdown.c' object='strace-shutdown.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-shutdown.o `test -f 'shutdown.c' || echo '$(srcdir)/'`shutdown.c
+
+strace-shutdown.obj: shutdown.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-shutdown.obj -MD -MP -MF $(DEPDIR)/strace-shutdown.Tpo -c -o strace-shutdown.obj `if test -f 'shutdown.c'; then $(CYGPATH_W) 'shutdown.c'; else $(CYGPATH_W) '$(srcdir)/shutdown.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-shutdown.Tpo $(DEPDIR)/strace-shutdown.Po
+# $(AM_V_CC)source='shutdown.c' object='strace-shutdown.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-shutdown.obj `if test -f 'shutdown.c'; then $(CYGPATH_W) 'shutdown.c'; else $(CYGPATH_W) '$(srcdir)/shutdown.c'; fi`
+
+strace-sigaltstack.o: sigaltstack.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sigaltstack.o -MD -MP -MF $(DEPDIR)/strace-sigaltstack.Tpo -c -o strace-sigaltstack.o `test -f 'sigaltstack.c' || echo '$(srcdir)/'`sigaltstack.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sigaltstack.Tpo $(DEPDIR)/strace-sigaltstack.Po
+# $(AM_V_CC)source='sigaltstack.c' object='strace-sigaltstack.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sigaltstack.o `test -f 'sigaltstack.c' || echo '$(srcdir)/'`sigaltstack.c
+
+strace-sigaltstack.obj: sigaltstack.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sigaltstack.obj -MD -MP -MF $(DEPDIR)/strace-sigaltstack.Tpo -c -o strace-sigaltstack.obj `if test -f 'sigaltstack.c'; then $(CYGPATH_W) 'sigaltstack.c'; else $(CYGPATH_W) '$(srcdir)/sigaltstack.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sigaltstack.Tpo $(DEPDIR)/strace-sigaltstack.Po
+# $(AM_V_CC)source='sigaltstack.c' object='strace-sigaltstack.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sigaltstack.obj `if test -f 'sigaltstack.c'; then $(CYGPATH_W) 'sigaltstack.c'; else $(CYGPATH_W) '$(srcdir)/sigaltstack.c'; fi`
+
+strace-signal.o: signal.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-signal.o -MD -MP -MF $(DEPDIR)/strace-signal.Tpo -c -o strace-signal.o `test -f 'signal.c' || echo '$(srcdir)/'`signal.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-signal.Tpo $(DEPDIR)/strace-signal.Po
+# $(AM_V_CC)source='signal.c' object='strace-signal.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-signal.o `test -f 'signal.c' || echo '$(srcdir)/'`signal.c
+
+strace-signal.obj: signal.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-signal.obj -MD -MP -MF $(DEPDIR)/strace-signal.Tpo -c -o strace-signal.obj `if test -f 'signal.c'; then $(CYGPATH_W) 'signal.c'; else $(CYGPATH_W) '$(srcdir)/signal.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-signal.Tpo $(DEPDIR)/strace-signal.Po
+# $(AM_V_CC)source='signal.c' object='strace-signal.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-signal.obj `if test -f 'signal.c'; then $(CYGPATH_W) 'signal.c'; else $(CYGPATH_W) '$(srcdir)/signal.c'; fi`
+
+strace-signalfd.o: signalfd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-signalfd.o -MD -MP -MF $(DEPDIR)/strace-signalfd.Tpo -c -o strace-signalfd.o `test -f 'signalfd.c' || echo '$(srcdir)/'`signalfd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-signalfd.Tpo $(DEPDIR)/strace-signalfd.Po
+# $(AM_V_CC)source='signalfd.c' object='strace-signalfd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-signalfd.o `test -f 'signalfd.c' || echo '$(srcdir)/'`signalfd.c
+
+strace-signalfd.obj: signalfd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-signalfd.obj -MD -MP -MF $(DEPDIR)/strace-signalfd.Tpo -c -o strace-signalfd.obj `if test -f 'signalfd.c'; then $(CYGPATH_W) 'signalfd.c'; else $(CYGPATH_W) '$(srcdir)/signalfd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-signalfd.Tpo $(DEPDIR)/strace-signalfd.Po
+# $(AM_V_CC)source='signalfd.c' object='strace-signalfd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-signalfd.obj `if test -f 'signalfd.c'; then $(CYGPATH_W) 'signalfd.c'; else $(CYGPATH_W) '$(srcdir)/signalfd.c'; fi`
+
+strace-sock.o: sock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sock.o -MD -MP -MF $(DEPDIR)/strace-sock.Tpo -c -o strace-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sock.Tpo $(DEPDIR)/strace-sock.Po
+# $(AM_V_CC)source='sock.c' object='strace-sock.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
+
+strace-sock.obj: sock.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sock.obj -MD -MP -MF $(DEPDIR)/strace-sock.Tpo -c -o strace-sock.obj `if test -f 'sock.c'; then $(CYGPATH_W) 'sock.c'; else $(CYGPATH_W) '$(srcdir)/sock.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sock.Tpo $(DEPDIR)/strace-sock.Po
+# $(AM_V_CC)source='sock.c' object='strace-sock.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sock.obj `if test -f 'sock.c'; then $(CYGPATH_W) 'sock.c'; else $(CYGPATH_W) '$(srcdir)/sock.c'; fi`
+
+strace-sockaddr.o: sockaddr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sockaddr.o -MD -MP -MF $(DEPDIR)/strace-sockaddr.Tpo -c -o strace-sockaddr.o `test -f 'sockaddr.c' || echo '$(srcdir)/'`sockaddr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sockaddr.Tpo $(DEPDIR)/strace-sockaddr.Po
+# $(AM_V_CC)source='sockaddr.c' object='strace-sockaddr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sockaddr.o `test -f 'sockaddr.c' || echo '$(srcdir)/'`sockaddr.c
+
+strace-sockaddr.obj: sockaddr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sockaddr.obj -MD -MP -MF $(DEPDIR)/strace-sockaddr.Tpo -c -o strace-sockaddr.obj `if test -f 'sockaddr.c'; then $(CYGPATH_W) 'sockaddr.c'; else $(CYGPATH_W) '$(srcdir)/sockaddr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sockaddr.Tpo $(DEPDIR)/strace-sockaddr.Po
+# $(AM_V_CC)source='sockaddr.c' object='strace-sockaddr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sockaddr.obj `if test -f 'sockaddr.c'; then $(CYGPATH_W) 'sockaddr.c'; else $(CYGPATH_W) '$(srcdir)/sockaddr.c'; fi`
+
+strace-socketutils.o: socketutils.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-socketutils.o -MD -MP -MF $(DEPDIR)/strace-socketutils.Tpo -c -o strace-socketutils.o `test -f 'socketutils.c' || echo '$(srcdir)/'`socketutils.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-socketutils.Tpo $(DEPDIR)/strace-socketutils.Po
+# $(AM_V_CC)source='socketutils.c' object='strace-socketutils.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-socketutils.o `test -f 'socketutils.c' || echo '$(srcdir)/'`socketutils.c
+
+strace-socketutils.obj: socketutils.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-socketutils.obj -MD -MP -MF $(DEPDIR)/strace-socketutils.Tpo -c -o strace-socketutils.obj `if test -f 'socketutils.c'; then $(CYGPATH_W) 'socketutils.c'; else $(CYGPATH_W) '$(srcdir)/socketutils.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-socketutils.Tpo $(DEPDIR)/strace-socketutils.Po
+# $(AM_V_CC)source='socketutils.c' object='strace-socketutils.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-socketutils.obj `if test -f 'socketutils.c'; then $(CYGPATH_W) 'socketutils.c'; else $(CYGPATH_W) '$(srcdir)/socketutils.c'; fi`
+
+strace-sparc.o: sparc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sparc.o -MD -MP -MF $(DEPDIR)/strace-sparc.Tpo -c -o strace-sparc.o `test -f 'sparc.c' || echo '$(srcdir)/'`sparc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sparc.Tpo $(DEPDIR)/strace-sparc.Po
+# $(AM_V_CC)source='sparc.c' object='strace-sparc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sparc.o `test -f 'sparc.c' || echo '$(srcdir)/'`sparc.c
+
+strace-sparc.obj: sparc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sparc.obj -MD -MP -MF $(DEPDIR)/strace-sparc.Tpo -c -o strace-sparc.obj `if test -f 'sparc.c'; then $(CYGPATH_W) 'sparc.c'; else $(CYGPATH_W) '$(srcdir)/sparc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sparc.Tpo $(DEPDIR)/strace-sparc.Po
+# $(AM_V_CC)source='sparc.c' object='strace-sparc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sparc.obj `if test -f 'sparc.c'; then $(CYGPATH_W) 'sparc.c'; else $(CYGPATH_W) '$(srcdir)/sparc.c'; fi`
+
+strace-sram_alloc.o: sram_alloc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sram_alloc.o -MD -MP -MF $(DEPDIR)/strace-sram_alloc.Tpo -c -o strace-sram_alloc.o `test -f 'sram_alloc.c' || echo '$(srcdir)/'`sram_alloc.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sram_alloc.Tpo $(DEPDIR)/strace-sram_alloc.Po
+# $(AM_V_CC)source='sram_alloc.c' object='strace-sram_alloc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sram_alloc.o `test -f 'sram_alloc.c' || echo '$(srcdir)/'`sram_alloc.c
+
+strace-sram_alloc.obj: sram_alloc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sram_alloc.obj -MD -MP -MF $(DEPDIR)/strace-sram_alloc.Tpo -c -o strace-sram_alloc.obj `if test -f 'sram_alloc.c'; then $(CYGPATH_W) 'sram_alloc.c'; else $(CYGPATH_W) '$(srcdir)/sram_alloc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sram_alloc.Tpo $(DEPDIR)/strace-sram_alloc.Po
+# $(AM_V_CC)source='sram_alloc.c' object='strace-sram_alloc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sram_alloc.obj `if test -f 'sram_alloc.c'; then $(CYGPATH_W) 'sram_alloc.c'; else $(CYGPATH_W) '$(srcdir)/sram_alloc.c'; fi`
+
+strace-stat.o: stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-stat.o -MD -MP -MF $(DEPDIR)/strace-stat.Tpo -c -o strace-stat.o `test -f 'stat.c' || echo '$(srcdir)/'`stat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-stat.Tpo $(DEPDIR)/strace-stat.Po
+# $(AM_V_CC)source='stat.c' object='strace-stat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-stat.o `test -f 'stat.c' || echo '$(srcdir)/'`stat.c
+
+strace-stat.obj: stat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-stat.obj -MD -MP -MF $(DEPDIR)/strace-stat.Tpo -c -o strace-stat.obj `if test -f 'stat.c'; then $(CYGPATH_W) 'stat.c'; else $(CYGPATH_W) '$(srcdir)/stat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-stat.Tpo $(DEPDIR)/strace-stat.Po
+# $(AM_V_CC)source='stat.c' object='strace-stat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-stat.obj `if test -f 'stat.c'; then $(CYGPATH_W) 'stat.c'; else $(CYGPATH_W) '$(srcdir)/stat.c'; fi`
+
+strace-stat64.o: stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-stat64.o -MD -MP -MF $(DEPDIR)/strace-stat64.Tpo -c -o strace-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-stat64.Tpo $(DEPDIR)/strace-stat64.Po
+# $(AM_V_CC)source='stat64.c' object='strace-stat64.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
+
+strace-stat64.obj: stat64.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-stat64.obj -MD -MP -MF $(DEPDIR)/strace-stat64.Tpo -c -o strace-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)/strace-stat64.Tpo $(DEPDIR)/strace-stat64.Po
+# $(AM_V_CC)source='stat64.c' object='strace-stat64.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
+
+strace-statfs.o: statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statfs.o -MD -MP -MF $(DEPDIR)/strace-statfs.Tpo -c -o strace-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-statfs.Tpo $(DEPDIR)/strace-statfs.Po
+# $(AM_V_CC)source='statfs.c' object='strace-statfs.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+
+strace-statfs.obj: statfs.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statfs.obj -MD -MP -MF $(DEPDIR)/strace-statfs.Tpo -c -o strace-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)/strace-statfs.Tpo $(DEPDIR)/strace-statfs.Po
+# $(AM_V_CC)source='statfs.c' object='strace-statfs.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
+
+strace-statx.o: statx.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statx.o -MD -MP -MF $(DEPDIR)/strace-statx.Tpo -c -o strace-statx.o `test -f 'statx.c' || echo '$(srcdir)/'`statx.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-statx.Tpo $(DEPDIR)/strace-statx.Po
+# $(AM_V_CC)source='statx.c' object='strace-statx.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statx.o `test -f 'statx.c' || echo '$(srcdir)/'`statx.c
+
+strace-statx.obj: statx.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statx.obj -MD -MP -MF $(DEPDIR)/strace-statx.Tpo -c -o strace-statx.obj `if test -f 'statx.c'; then $(CYGPATH_W) 'statx.c'; else $(CYGPATH_W) '$(srcdir)/statx.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-statx.Tpo $(DEPDIR)/strace-statx.Po
+# $(AM_V_CC)source='statx.c' object='strace-statx.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statx.obj `if test -f 'statx.c'; then $(CYGPATH_W) 'statx.c'; else $(CYGPATH_W) '$(srcdir)/statx.c'; fi`
+
+strace-strace.o: strace.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.o -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po
+# $(AM_V_CC)source='strace.c' object='strace-strace.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c
+
+strace-strace.obj: strace.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.obj -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.obj `if test -f 'strace.c'; then $(CYGPATH_W) 'strace.c'; else $(CYGPATH_W) '$(srcdir)/strace.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po
+# $(AM_V_CC)source='strace.c' object='strace-strace.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-strace.obj `if test -f 'strace.c'; then $(CYGPATH_W) 'strace.c'; else $(CYGPATH_W) '$(srcdir)/strace.c'; fi`
+
+strace-string_to_uint.o: string_to_uint.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-string_to_uint.o -MD -MP -MF $(DEPDIR)/strace-string_to_uint.Tpo -c -o strace-string_to_uint.o `test -f 'string_to_uint.c' || echo '$(srcdir)/'`string_to_uint.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-string_to_uint.Tpo $(DEPDIR)/strace-string_to_uint.Po
+# $(AM_V_CC)source='string_to_uint.c' object='strace-string_to_uint.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-string_to_uint.o `test -f 'string_to_uint.c' || echo '$(srcdir)/'`string_to_uint.c
+
+strace-string_to_uint.obj: string_to_uint.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-string_to_uint.obj -MD -MP -MF $(DEPDIR)/strace-string_to_uint.Tpo -c -o strace-string_to_uint.obj `if test -f 'string_to_uint.c'; then $(CYGPATH_W) 'string_to_uint.c'; else $(CYGPATH_W) '$(srcdir)/string_to_uint.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-string_to_uint.Tpo $(DEPDIR)/strace-string_to_uint.Po
+# $(AM_V_CC)source='string_to_uint.c' object='strace-string_to_uint.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-string_to_uint.obj `if test -f 'string_to_uint.c'; then $(CYGPATH_W) 'string_to_uint.c'; else $(CYGPATH_W) '$(srcdir)/string_to_uint.c'; fi`
+
+strace-swapon.o: swapon.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-swapon.o -MD -MP -MF $(DEPDIR)/strace-swapon.Tpo -c -o strace-swapon.o `test -f 'swapon.c' || echo '$(srcdir)/'`swapon.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-swapon.Tpo $(DEPDIR)/strace-swapon.Po
+# $(AM_V_CC)source='swapon.c' object='strace-swapon.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-swapon.o `test -f 'swapon.c' || echo '$(srcdir)/'`swapon.c
+
+strace-swapon.obj: swapon.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-swapon.obj -MD -MP -MF $(DEPDIR)/strace-swapon.Tpo -c -o strace-swapon.obj `if test -f 'swapon.c'; then $(CYGPATH_W) 'swapon.c'; else $(CYGPATH_W) '$(srcdir)/swapon.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-swapon.Tpo $(DEPDIR)/strace-swapon.Po
+# $(AM_V_CC)source='swapon.c' object='strace-swapon.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-swapon.obj `if test -f 'swapon.c'; then $(CYGPATH_W) 'swapon.c'; else $(CYGPATH_W) '$(srcdir)/swapon.c'; fi`
+
+strace-syscall.o: syscall.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-syscall.o -MD -MP -MF $(DEPDIR)/strace-syscall.Tpo -c -o strace-syscall.o `test -f 'syscall.c' || echo '$(srcdir)/'`syscall.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-syscall.Tpo $(DEPDIR)/strace-syscall.Po
+# $(AM_V_CC)source='syscall.c' object='strace-syscall.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-syscall.o `test -f 'syscall.c' || echo '$(srcdir)/'`syscall.c
+
+strace-syscall.obj: syscall.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-syscall.obj -MD -MP -MF $(DEPDIR)/strace-syscall.Tpo -c -o strace-syscall.obj `if test -f 'syscall.c'; then $(CYGPATH_W) 'syscall.c'; else $(CYGPATH_W) '$(srcdir)/syscall.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-syscall.Tpo $(DEPDIR)/strace-syscall.Po
+# $(AM_V_CC)source='syscall.c' object='strace-syscall.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-syscall.obj `if test -f 'syscall.c'; then $(CYGPATH_W) 'syscall.c'; else $(CYGPATH_W) '$(srcdir)/syscall.c'; fi`
+
+strace-sysctl.o: sysctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sysctl.o -MD -MP -MF $(DEPDIR)/strace-sysctl.Tpo -c -o strace-sysctl.o `test -f 'sysctl.c' || echo '$(srcdir)/'`sysctl.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sysctl.Tpo $(DEPDIR)/strace-sysctl.Po
+# $(AM_V_CC)source='sysctl.c' object='strace-sysctl.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sysctl.o `test -f 'sysctl.c' || echo '$(srcdir)/'`sysctl.c
+
+strace-sysctl.obj: sysctl.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sysctl.obj -MD -MP -MF $(DEPDIR)/strace-sysctl.Tpo -c -o strace-sysctl.obj `if test -f 'sysctl.c'; then $(CYGPATH_W) 'sysctl.c'; else $(CYGPATH_W) '$(srcdir)/sysctl.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sysctl.Tpo $(DEPDIR)/strace-sysctl.Po
+# $(AM_V_CC)source='sysctl.c' object='strace-sysctl.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sysctl.obj `if test -f 'sysctl.c'; then $(CYGPATH_W) 'sysctl.c'; else $(CYGPATH_W) '$(srcdir)/sysctl.c'; fi`
+
+strace-sysinfo.o: sysinfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sysinfo.o -MD -MP -MF $(DEPDIR)/strace-sysinfo.Tpo -c -o strace-sysinfo.o `test -f 'sysinfo.c' || echo '$(srcdir)/'`sysinfo.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sysinfo.Tpo $(DEPDIR)/strace-sysinfo.Po
+# $(AM_V_CC)source='sysinfo.c' object='strace-sysinfo.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sysinfo.o `test -f 'sysinfo.c' || echo '$(srcdir)/'`sysinfo.c
+
+strace-sysinfo.obj: sysinfo.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sysinfo.obj -MD -MP -MF $(DEPDIR)/strace-sysinfo.Tpo -c -o strace-sysinfo.obj `if test -f 'sysinfo.c'; then $(CYGPATH_W) 'sysinfo.c'; else $(CYGPATH_W) '$(srcdir)/sysinfo.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sysinfo.Tpo $(DEPDIR)/strace-sysinfo.Po
+# $(AM_V_CC)source='sysinfo.c' object='strace-sysinfo.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sysinfo.obj `if test -f 'sysinfo.c'; then $(CYGPATH_W) 'sysinfo.c'; else $(CYGPATH_W) '$(srcdir)/sysinfo.c'; fi`
+
+strace-syslog.o: syslog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-syslog.o -MD -MP -MF $(DEPDIR)/strace-syslog.Tpo -c -o strace-syslog.o `test -f 'syslog.c' || echo '$(srcdir)/'`syslog.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-syslog.Tpo $(DEPDIR)/strace-syslog.Po
+# $(AM_V_CC)source='syslog.c' object='strace-syslog.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-syslog.o `test -f 'syslog.c' || echo '$(srcdir)/'`syslog.c
+
+strace-syslog.obj: syslog.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-syslog.obj -MD -MP -MF $(DEPDIR)/strace-syslog.Tpo -c -o strace-syslog.obj `if test -f 'syslog.c'; then $(CYGPATH_W) 'syslog.c'; else $(CYGPATH_W) '$(srcdir)/syslog.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-syslog.Tpo $(DEPDIR)/strace-syslog.Po
+# $(AM_V_CC)source='syslog.c' object='strace-syslog.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-syslog.obj `if test -f 'syslog.c'; then $(CYGPATH_W) 'syslog.c'; else $(CYGPATH_W) '$(srcdir)/syslog.c'; fi`
+
+strace-sysmips.o: sysmips.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sysmips.o -MD -MP -MF $(DEPDIR)/strace-sysmips.Tpo -c -o strace-sysmips.o `test -f 'sysmips.c' || echo '$(srcdir)/'`sysmips.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sysmips.Tpo $(DEPDIR)/strace-sysmips.Po
+# $(AM_V_CC)source='sysmips.c' object='strace-sysmips.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sysmips.o `test -f 'sysmips.c' || echo '$(srcdir)/'`sysmips.c
+
+strace-sysmips.obj: sysmips.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sysmips.obj -MD -MP -MF $(DEPDIR)/strace-sysmips.Tpo -c -o strace-sysmips.obj `if test -f 'sysmips.c'; then $(CYGPATH_W) 'sysmips.c'; else $(CYGPATH_W) '$(srcdir)/sysmips.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sysmips.Tpo $(DEPDIR)/strace-sysmips.Po
+# $(AM_V_CC)source='sysmips.c' object='strace-sysmips.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sysmips.obj `if test -f 'sysmips.c'; then $(CYGPATH_W) 'sysmips.c'; else $(CYGPATH_W) '$(srcdir)/sysmips.c'; fi`
+
+strace-term.o: term.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-term.o -MD -MP -MF $(DEPDIR)/strace-term.Tpo -c -o strace-term.o `test -f 'term.c' || echo '$(srcdir)/'`term.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-term.Tpo $(DEPDIR)/strace-term.Po
+# $(AM_V_CC)source='term.c' object='strace-term.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-term.o `test -f 'term.c' || echo '$(srcdir)/'`term.c
+
+strace-term.obj: term.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-term.obj -MD -MP -MF $(DEPDIR)/strace-term.Tpo -c -o strace-term.obj `if test -f 'term.c'; then $(CYGPATH_W) 'term.c'; else $(CYGPATH_W) '$(srcdir)/term.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-term.Tpo $(DEPDIR)/strace-term.Po
+# $(AM_V_CC)source='term.c' object='strace-term.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-term.obj `if test -f 'term.c'; then $(CYGPATH_W) 'term.c'; else $(CYGPATH_W) '$(srcdir)/term.c'; fi`
+
+strace-time.o: time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-time.o -MD -MP -MF $(DEPDIR)/strace-time.Tpo -c -o strace-time.o `test -f 'time.c' || echo '$(srcdir)/'`time.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-time.Tpo $(DEPDIR)/strace-time.Po
+# $(AM_V_CC)source='time.c' object='strace-time.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-time.o `test -f 'time.c' || echo '$(srcdir)/'`time.c
+
+strace-time.obj: time.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-time.obj -MD -MP -MF $(DEPDIR)/strace-time.Tpo -c -o strace-time.obj `if test -f 'time.c'; then $(CYGPATH_W) 'time.c'; else $(CYGPATH_W) '$(srcdir)/time.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-time.Tpo $(DEPDIR)/strace-time.Po
+# $(AM_V_CC)source='time.c' object='strace-time.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-time.obj `if test -f 'time.c'; then $(CYGPATH_W) 'time.c'; else $(CYGPATH_W) '$(srcdir)/time.c'; fi`
+
+strace-times.o: times.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-times.o -MD -MP -MF $(DEPDIR)/strace-times.Tpo -c -o strace-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-times.Tpo $(DEPDIR)/strace-times.Po
+# $(AM_V_CC)source='times.c' object='strace-times.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c
+
+strace-times.obj: times.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-times.obj -MD -MP -MF $(DEPDIR)/strace-times.Tpo -c -o strace-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-times.Tpo $(DEPDIR)/strace-times.Po
+# $(AM_V_CC)source='times.c' object='strace-times.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
+
+strace-truncate.o: truncate.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-truncate.o -MD -MP -MF $(DEPDIR)/strace-truncate.Tpo -c -o strace-truncate.o `test -f 'truncate.c' || echo '$(srcdir)/'`truncate.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-truncate.Tpo $(DEPDIR)/strace-truncate.Po
+# $(AM_V_CC)source='truncate.c' object='strace-truncate.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-truncate.o `test -f 'truncate.c' || echo '$(srcdir)/'`truncate.c
+
+strace-truncate.obj: truncate.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-truncate.obj -MD -MP -MF $(DEPDIR)/strace-truncate.Tpo -c -o strace-truncate.obj `if test -f 'truncate.c'; then $(CYGPATH_W) 'truncate.c'; else $(CYGPATH_W) '$(srcdir)/truncate.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-truncate.Tpo $(DEPDIR)/strace-truncate.Po
+# $(AM_V_CC)source='truncate.c' object='strace-truncate.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-truncate.obj `if test -f 'truncate.c'; then $(CYGPATH_W) 'truncate.c'; else $(CYGPATH_W) '$(srcdir)/truncate.c'; fi`
+
+strace-ubi.o: ubi.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ubi.o -MD -MP -MF $(DEPDIR)/strace-ubi.Tpo -c -o strace-ubi.o `test -f 'ubi.c' || echo '$(srcdir)/'`ubi.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ubi.Tpo $(DEPDIR)/strace-ubi.Po
+# $(AM_V_CC)source='ubi.c' object='strace-ubi.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ubi.o `test -f 'ubi.c' || echo '$(srcdir)/'`ubi.c
+
+strace-ubi.obj: ubi.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ubi.obj -MD -MP -MF $(DEPDIR)/strace-ubi.Tpo -c -o strace-ubi.obj `if test -f 'ubi.c'; then $(CYGPATH_W) 'ubi.c'; else $(CYGPATH_W) '$(srcdir)/ubi.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ubi.Tpo $(DEPDIR)/strace-ubi.Po
+# $(AM_V_CC)source='ubi.c' object='strace-ubi.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ubi.obj `if test -f 'ubi.c'; then $(CYGPATH_W) 'ubi.c'; else $(CYGPATH_W) '$(srcdir)/ubi.c'; fi`
+
+strace-ucopy.o: ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ucopy.o -MD -MP -MF $(DEPDIR)/strace-ucopy.Tpo -c -o strace-ucopy.o `test -f 'ucopy.c' || echo '$(srcdir)/'`ucopy.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ucopy.Tpo $(DEPDIR)/strace-ucopy.Po
+# $(AM_V_CC)source='ucopy.c' object='strace-ucopy.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ucopy.o `test -f 'ucopy.c' || echo '$(srcdir)/'`ucopy.c
+
+strace-ucopy.obj: ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ucopy.obj -MD -MP -MF $(DEPDIR)/strace-ucopy.Tpo -c -o strace-ucopy.obj `if test -f 'ucopy.c'; then $(CYGPATH_W) 'ucopy.c'; else $(CYGPATH_W) '$(srcdir)/ucopy.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ucopy.Tpo $(DEPDIR)/strace-ucopy.Po
+# $(AM_V_CC)source='ucopy.c' object='strace-ucopy.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ucopy.obj `if test -f 'ucopy.c'; then $(CYGPATH_W) 'ucopy.c'; else $(CYGPATH_W) '$(srcdir)/ucopy.c'; fi`
+
+strace-uid.o: uid.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-uid.o -MD -MP -MF $(DEPDIR)/strace-uid.Tpo -c -o strace-uid.o `test -f 'uid.c' || echo '$(srcdir)/'`uid.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-uid.Tpo $(DEPDIR)/strace-uid.Po
+# $(AM_V_CC)source='uid.c' object='strace-uid.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-uid.o `test -f 'uid.c' || echo '$(srcdir)/'`uid.c
+
+strace-uid.obj: uid.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-uid.obj -MD -MP -MF $(DEPDIR)/strace-uid.Tpo -c -o strace-uid.obj `if test -f 'uid.c'; then $(CYGPATH_W) 'uid.c'; else $(CYGPATH_W) '$(srcdir)/uid.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-uid.Tpo $(DEPDIR)/strace-uid.Po
+# $(AM_V_CC)source='uid.c' object='strace-uid.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-uid.obj `if test -f 'uid.c'; then $(CYGPATH_W) 'uid.c'; else $(CYGPATH_W) '$(srcdir)/uid.c'; fi`
+
+strace-uid16.o: uid16.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-uid16.o -MD -MP -MF $(DEPDIR)/strace-uid16.Tpo -c -o strace-uid16.o `test -f 'uid16.c' || echo '$(srcdir)/'`uid16.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-uid16.Tpo $(DEPDIR)/strace-uid16.Po
+# $(AM_V_CC)source='uid16.c' object='strace-uid16.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-uid16.o `test -f 'uid16.c' || echo '$(srcdir)/'`uid16.c
+
+strace-uid16.obj: uid16.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-uid16.obj -MD -MP -MF $(DEPDIR)/strace-uid16.Tpo -c -o strace-uid16.obj `if test -f 'uid16.c'; then $(CYGPATH_W) 'uid16.c'; else $(CYGPATH_W) '$(srcdir)/uid16.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-uid16.Tpo $(DEPDIR)/strace-uid16.Po
+# $(AM_V_CC)source='uid16.c' object='strace-uid16.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-uid16.obj `if test -f 'uid16.c'; then $(CYGPATH_W) 'uid16.c'; else $(CYGPATH_W) '$(srcdir)/uid16.c'; fi`
+
+strace-umask.o: umask.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-umask.o -MD -MP -MF $(DEPDIR)/strace-umask.Tpo -c -o strace-umask.o `test -f 'umask.c' || echo '$(srcdir)/'`umask.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-umask.Tpo $(DEPDIR)/strace-umask.Po
+# $(AM_V_CC)source='umask.c' object='strace-umask.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-umask.o `test -f 'umask.c' || echo '$(srcdir)/'`umask.c
+
+strace-umask.obj: umask.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-umask.obj -MD -MP -MF $(DEPDIR)/strace-umask.Tpo -c -o strace-umask.obj `if test -f 'umask.c'; then $(CYGPATH_W) 'umask.c'; else $(CYGPATH_W) '$(srcdir)/umask.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-umask.Tpo $(DEPDIR)/strace-umask.Po
+# $(AM_V_CC)source='umask.c' object='strace-umask.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-umask.obj `if test -f 'umask.c'; then $(CYGPATH_W) 'umask.c'; else $(CYGPATH_W) '$(srcdir)/umask.c'; fi`
+
+strace-umount.o: umount.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-umount.o -MD -MP -MF $(DEPDIR)/strace-umount.Tpo -c -o strace-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-umount.Tpo $(DEPDIR)/strace-umount.Po
+# $(AM_V_CC)source='umount.c' object='strace-umount.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-umount.o `test -f 'umount.c' || echo '$(srcdir)/'`umount.c
+
+strace-umount.obj: umount.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-umount.obj -MD -MP -MF $(DEPDIR)/strace-umount.Tpo -c -o strace-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-umount.Tpo $(DEPDIR)/strace-umount.Po
+# $(AM_V_CC)source='umount.c' object='strace-umount.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-umount.obj `if test -f 'umount.c'; then $(CYGPATH_W) 'umount.c'; else $(CYGPATH_W) '$(srcdir)/umount.c'; fi`
+
+strace-uname.o: uname.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-uname.o -MD -MP -MF $(DEPDIR)/strace-uname.Tpo -c -o strace-uname.o `test -f 'uname.c' || echo '$(srcdir)/'`uname.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-uname.Tpo $(DEPDIR)/strace-uname.Po
+# $(AM_V_CC)source='uname.c' object='strace-uname.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-uname.o `test -f 'uname.c' || echo '$(srcdir)/'`uname.c
+
+strace-uname.obj: uname.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-uname.obj -MD -MP -MF $(DEPDIR)/strace-uname.Tpo -c -o strace-uname.obj `if test -f 'uname.c'; then $(CYGPATH_W) 'uname.c'; else $(CYGPATH_W) '$(srcdir)/uname.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-uname.Tpo $(DEPDIR)/strace-uname.Po
+# $(AM_V_CC)source='uname.c' object='strace-uname.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-uname.obj `if test -f 'uname.c'; then $(CYGPATH_W) 'uname.c'; else $(CYGPATH_W) '$(srcdir)/uname.c'; fi`
+
+strace-userfaultfd.o: userfaultfd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-userfaultfd.o -MD -MP -MF $(DEPDIR)/strace-userfaultfd.Tpo -c -o strace-userfaultfd.o `test -f 'userfaultfd.c' || echo '$(srcdir)/'`userfaultfd.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-userfaultfd.Tpo $(DEPDIR)/strace-userfaultfd.Po
+# $(AM_V_CC)source='userfaultfd.c' object='strace-userfaultfd.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-userfaultfd.o `test -f 'userfaultfd.c' || echo '$(srcdir)/'`userfaultfd.c
+
+strace-userfaultfd.obj: userfaultfd.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-userfaultfd.obj -MD -MP -MF $(DEPDIR)/strace-userfaultfd.Tpo -c -o strace-userfaultfd.obj `if test -f 'userfaultfd.c'; then $(CYGPATH_W) 'userfaultfd.c'; else $(CYGPATH_W) '$(srcdir)/userfaultfd.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-userfaultfd.Tpo $(DEPDIR)/strace-userfaultfd.Po
+# $(AM_V_CC)source='userfaultfd.c' object='strace-userfaultfd.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-userfaultfd.obj `if test -f 'userfaultfd.c'; then $(CYGPATH_W) 'userfaultfd.c'; else $(CYGPATH_W) '$(srcdir)/userfaultfd.c'; fi`
+
+strace-ustat.o: ustat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ustat.o -MD -MP -MF $(DEPDIR)/strace-ustat.Tpo -c -o strace-ustat.o `test -f 'ustat.c' || echo '$(srcdir)/'`ustat.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ustat.Tpo $(DEPDIR)/strace-ustat.Po
+# $(AM_V_CC)source='ustat.c' object='strace-ustat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ustat.o `test -f 'ustat.c' || echo '$(srcdir)/'`ustat.c
+
+strace-ustat.obj: ustat.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-ustat.obj -MD -MP -MF $(DEPDIR)/strace-ustat.Tpo -c -o strace-ustat.obj `if test -f 'ustat.c'; then $(CYGPATH_W) 'ustat.c'; else $(CYGPATH_W) '$(srcdir)/ustat.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-ustat.Tpo $(DEPDIR)/strace-ustat.Po
+# $(AM_V_CC)source='ustat.c' object='strace-ustat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-ustat.obj `if test -f 'ustat.c'; then $(CYGPATH_W) 'ustat.c'; else $(CYGPATH_W) '$(srcdir)/ustat.c'; fi`
+
+strace-util.o: util.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-util.o -MD -MP -MF $(DEPDIR)/strace-util.Tpo -c -o strace-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-util.Tpo $(DEPDIR)/strace-util.Po
+# $(AM_V_CC)source='util.c' object='strace-util.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
+
+strace-util.obj: util.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-util.obj -MD -MP -MF $(DEPDIR)/strace-util.Tpo -c -o strace-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-util.Tpo $(DEPDIR)/strace-util.Po
+# $(AM_V_CC)source='util.c' object='strace-util.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
+
+strace-utime.o: utime.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-utime.o -MD -MP -MF $(DEPDIR)/strace-utime.Tpo -c -o strace-utime.o `test -f 'utime.c' || echo '$(srcdir)/'`utime.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-utime.Tpo $(DEPDIR)/strace-utime.Po
+# $(AM_V_CC)source='utime.c' object='strace-utime.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-utime.o `test -f 'utime.c' || echo '$(srcdir)/'`utime.c
+
+strace-utime.obj: utime.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-utime.obj -MD -MP -MF $(DEPDIR)/strace-utime.Tpo -c -o strace-utime.obj `if test -f 'utime.c'; then $(CYGPATH_W) 'utime.c'; else $(CYGPATH_W) '$(srcdir)/utime.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-utime.Tpo $(DEPDIR)/strace-utime.Po
+# $(AM_V_CC)source='utime.c' object='strace-utime.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-utime.obj `if test -f 'utime.c'; then $(CYGPATH_W) 'utime.c'; else $(CYGPATH_W) '$(srcdir)/utime.c'; fi`
+
+strace-utimes.o: utimes.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-utimes.o -MD -MP -MF $(DEPDIR)/strace-utimes.Tpo -c -o strace-utimes.o `test -f 'utimes.c' || echo '$(srcdir)/'`utimes.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-utimes.Tpo $(DEPDIR)/strace-utimes.Po
+# $(AM_V_CC)source='utimes.c' object='strace-utimes.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-utimes.o `test -f 'utimes.c' || echo '$(srcdir)/'`utimes.c
+
+strace-utimes.obj: utimes.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-utimes.obj -MD -MP -MF $(DEPDIR)/strace-utimes.Tpo -c -o strace-utimes.obj `if test -f 'utimes.c'; then $(CYGPATH_W) 'utimes.c'; else $(CYGPATH_W) '$(srcdir)/utimes.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-utimes.Tpo $(DEPDIR)/strace-utimes.Po
+# $(AM_V_CC)source='utimes.c' object='strace-utimes.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-utimes.obj `if test -f 'utimes.c'; then $(CYGPATH_W) 'utimes.c'; else $(CYGPATH_W) '$(srcdir)/utimes.c'; fi`
+
+strace-v4l2.o: v4l2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-v4l2.o -MD -MP -MF $(DEPDIR)/strace-v4l2.Tpo -c -o strace-v4l2.o `test -f 'v4l2.c' || echo '$(srcdir)/'`v4l2.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-v4l2.Tpo $(DEPDIR)/strace-v4l2.Po
+# $(AM_V_CC)source='v4l2.c' object='strace-v4l2.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-v4l2.o `test -f 'v4l2.c' || echo '$(srcdir)/'`v4l2.c
+
+strace-v4l2.obj: v4l2.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-v4l2.obj -MD -MP -MF $(DEPDIR)/strace-v4l2.Tpo -c -o strace-v4l2.obj `if test -f 'v4l2.c'; then $(CYGPATH_W) 'v4l2.c'; else $(CYGPATH_W) '$(srcdir)/v4l2.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-v4l2.Tpo $(DEPDIR)/strace-v4l2.Po
+# $(AM_V_CC)source='v4l2.c' object='strace-v4l2.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-v4l2.obj `if test -f 'v4l2.c'; then $(CYGPATH_W) 'v4l2.c'; else $(CYGPATH_W) '$(srcdir)/v4l2.c'; fi`
+
+strace-wait.o: wait.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-wait.o -MD -MP -MF $(DEPDIR)/strace-wait.Tpo -c -o strace-wait.o `test -f 'wait.c' || echo '$(srcdir)/'`wait.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-wait.Tpo $(DEPDIR)/strace-wait.Po
+# $(AM_V_CC)source='wait.c' object='strace-wait.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-wait.o `test -f 'wait.c' || echo '$(srcdir)/'`wait.c
+
+strace-wait.obj: wait.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-wait.obj -MD -MP -MF $(DEPDIR)/strace-wait.Tpo -c -o strace-wait.obj `if test -f 'wait.c'; then $(CYGPATH_W) 'wait.c'; else $(CYGPATH_W) '$(srcdir)/wait.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-wait.Tpo $(DEPDIR)/strace-wait.Po
+# $(AM_V_CC)source='wait.c' object='strace-wait.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-wait.obj `if test -f 'wait.c'; then $(CYGPATH_W) 'wait.c'; else $(CYGPATH_W) '$(srcdir)/wait.c'; fi`
+
+strace-xattr.o: xattr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-xattr.o -MD -MP -MF $(DEPDIR)/strace-xattr.Tpo -c -o strace-xattr.o `test -f 'xattr.c' || echo '$(srcdir)/'`xattr.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-xattr.Tpo $(DEPDIR)/strace-xattr.Po
+# $(AM_V_CC)source='xattr.c' object='strace-xattr.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-xattr.o `test -f 'xattr.c' || echo '$(srcdir)/'`xattr.c
+
+strace-xattr.obj: xattr.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-xattr.obj -MD -MP -MF $(DEPDIR)/strace-xattr.Tpo -c -o strace-xattr.obj `if test -f 'xattr.c'; then $(CYGPATH_W) 'xattr.c'; else $(CYGPATH_W) '$(srcdir)/xattr.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-xattr.Tpo $(DEPDIR)/strace-xattr.Po
+# $(AM_V_CC)source='xattr.c' object='strace-xattr.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-xlat.Tpo $(DEPDIR)/strace-xlat.Po
+# $(AM_V_CC)source='xlat.c' object='strace-xlat.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-xlat.Tpo $(DEPDIR)/strace-xlat.Po
+# $(AM_V_CC)source='xlat.c' object='strace-xlat.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(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_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_V_at)$(am__mv) $(DEPDIR)/strace-xmalloc.Tpo $(DEPDIR)/strace-xmalloc.Po
+# $(AM_V_CC)source='xmalloc.c' object='strace-xmalloc.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
+
+strace-xmalloc.obj: xmalloc.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-xmalloc.obj -MD -MP -MF $(DEPDIR)/strace-xmalloc.Tpo -c -o strace-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-xmalloc.Tpo $(DEPDIR)/strace-xmalloc.Po
+# $(AM_V_CC)source='xmalloc.c' object='strace-xmalloc.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+
+strace-bpf_attr_check.o: bpf_attr_check.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_attr_check.o -MD -MP -MF $(DEPDIR)/strace-bpf_attr_check.Tpo -c -o strace-bpf_attr_check.o `test -f 'bpf_attr_check.c' || echo '$(srcdir)/'`bpf_attr_check.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_attr_check.Tpo $(DEPDIR)/strace-bpf_attr_check.Po
+# $(AM_V_CC)source='bpf_attr_check.c' object='strace-bpf_attr_check.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_attr_check.o `test -f 'bpf_attr_check.c' || echo '$(srcdir)/'`bpf_attr_check.c
+
+strace-bpf_attr_check.obj: bpf_attr_check.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_attr_check.obj -MD -MP -MF $(DEPDIR)/strace-bpf_attr_check.Tpo -c -o strace-bpf_attr_check.obj `if test -f 'bpf_attr_check.c'; then $(CYGPATH_W) 'bpf_attr_check.c'; else $(CYGPATH_W) '$(srcdir)/bpf_attr_check.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_attr_check.Tpo $(DEPDIR)/strace-bpf_attr_check.Po
+# $(AM_V_CC)source='bpf_attr_check.c' object='strace-bpf_attr_check.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-bpf_attr_check.obj `if test -f 'bpf_attr_check.c'; then $(CYGPATH_W) 'bpf_attr_check.c'; else $(CYGPATH_W) '$(srcdir)/bpf_attr_check.c'; fi`
+
+strace-unwind.o: unwind.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind.o -MD -MP -MF $(DEPDIR)/strace-unwind.Tpo -c -o strace-unwind.o `test -f 'unwind.c' || echo '$(srcdir)/'`unwind.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind.Tpo $(DEPDIR)/strace-unwind.Po
+# $(AM_V_CC)source='unwind.c' object='strace-unwind.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-unwind.o `test -f 'unwind.c' || echo '$(srcdir)/'`unwind.c
+
+strace-unwind.obj: unwind.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind.obj -MD -MP -MF $(DEPDIR)/strace-unwind.Tpo -c -o strace-unwind.obj `if test -f 'unwind.c'; then $(CYGPATH_W) 'unwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind.Tpo $(DEPDIR)/strace-unwind.Po
+# $(AM_V_CC)source='unwind.c' object='strace-unwind.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-unwind.obj `if test -f 'unwind.c'; then $(CYGPATH_W) 'unwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind.c'; fi`
+
+strace-unwind-libunwind.o: unwind-libunwind.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libunwind.o -MD -MP -MF $(DEPDIR)/strace-unwind-libunwind.Tpo -c -o strace-unwind-libunwind.o `test -f 'unwind-libunwind.c' || echo '$(srcdir)/'`unwind-libunwind.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libunwind.Tpo $(DEPDIR)/strace-unwind-libunwind.Po
+# $(AM_V_CC)source='unwind-libunwind.c' object='strace-unwind-libunwind.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-unwind-libunwind.o `test -f 'unwind-libunwind.c' || echo '$(srcdir)/'`unwind-libunwind.c
+
+strace-unwind-libunwind.obj: unwind-libunwind.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libunwind.obj -MD -MP -MF $(DEPDIR)/strace-unwind-libunwind.Tpo -c -o strace-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libunwind.Tpo $(DEPDIR)/strace-unwind-libunwind.Po
+# $(AM_V_CC)source='unwind-libunwind.c' object='strace-unwind-libunwind.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi`
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+check-valgrind-local:
+check-valgrind-memcheck-local:
+check-valgrind-helgrind-local:
+check-valgrind-drd-local:
+check-valgrind-sgcheck-local:
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(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-recursive
+
+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"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+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
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @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
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__post_remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
+
+dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__post_remove_distdir)
+
+dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__post_remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__post_remove_distdir)
+
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__post_remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+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:
+
+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)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+check-valgrind: check-valgrind-recursive
+
+check-valgrind-am: check-valgrind-local
+
+check-valgrind-drd: check-valgrind-drd-recursive
+
+check-valgrind-drd-am: check-valgrind-drd-local
+
+check-valgrind-helgrind: check-valgrind-helgrind-recursive
+
+check-valgrind-helgrind-am: check-valgrind-helgrind-local
+
+check-valgrind-memcheck: check-valgrind-memcheck-recursive
+
+check-valgrind-memcheck-am: check-valgrind-memcheck-local
+
+check-valgrind-sgcheck: check-valgrind-sgcheck-recursive
+
+check-valgrind-sgcheck-am: check-valgrind-sgcheck-local
+
+clean: clean-recursive
+
+clean-am: clean-binPROGRAMS clean-generic clean-local \
+ clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-binSCRIPTS
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am check-valgrind-am \
+ check-valgrind-drd-am check-valgrind-drd-local \
+ check-valgrind-helgrind-am check-valgrind-helgrind-local \
+ check-valgrind-local check-valgrind-memcheck-am \
+ check-valgrind-memcheck-local check-valgrind-sgcheck-am \
+ check-valgrind-sgcheck-local clean clean-binPROGRAMS \
+ clean-cscope clean-generic clean-local clean-noinstLIBRARIES \
+ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
+ dist-zip distcheck distclean distclean-compile \
+ distclean-generic distclean-hdr distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-binPROGRAMS \
+ install-binSCRIPTS 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-man1 install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
+ uninstall-man uninstall-man1
+
+$(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_file_mode_flags.h: $(top_srcdir)/xlat/bpf_file_mode_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_map_flags.h: $(top_srcdir)/xlat/bpf_map_flags.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_flags.h: $(top_srcdir)/xlat/bpf_prog_flags.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_logical_ino_args_flags.h: $(top_srcdir)/xlat/btrfs_logical_ino_args_flags.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/crypto_nl_attrs.h: $(top_srcdir)/xlat/crypto_nl_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/dcb_commands.h: $(top_srcdir)/xlat/dcb_commands.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/fib_rule_actions.h: $(top_srcdir)/xlat/fib_rule_actions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fib_rule_flags.h: $(top_srcdir)/xlat/fib_rule_flags.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/ifaddrflags.h: $(top_srcdir)/xlat/ifaddrflags.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_bytecodes.h: $(top_srcdir)/xlat/inet_diag_bytecodes.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/ip_type_of_services.h: $(top_srcdir)/xlat/ip_type_of_services.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/kvm_mem_flags.h: $(top_srcdir)/xlat/kvm_mem_flags.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/lwtunnel_encap_types.h: $(top_srcdir)/xlat/lwtunnel_encap_types.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/mdb_flags.h: $(top_srcdir)/xlat/mdb_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mdb_states.h: $(top_srcdir)/xlat/mdb_states.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/multicast_router_types.h: $(top_srcdir)/xlat/multicast_router_types.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/neighbor_cache_entry_flags.h: $(top_srcdir)/xlat/neighbor_cache_entry_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/neighbor_cache_entry_states.h: $(top_srcdir)/xlat/neighbor_cache_entry_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netfilter_versions.h: $(top_srcdir)/xlat/netfilter_versions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_ack_flags.h: $(top_srcdir)/xlat/netlink_ack_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_delete_flags.h: $(top_srcdir)/xlat/netlink_delete_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/nf_acct_msg_types.h: $(top_srcdir)/xlat/nf_acct_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_cthelper_msg_types.h: $(top_srcdir)/xlat/nf_cthelper_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_ctnetlink_exp_msg_types.h: $(top_srcdir)/xlat/nf_ctnetlink_exp_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_ctnetlink_msg_types.h: $(top_srcdir)/xlat/nf_ctnetlink_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_cttimeout_msg_types.h: $(top_srcdir)/xlat/nf_cttimeout_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_ipset_msg_types.h: $(top_srcdir)/xlat/nf_ipset_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_nft_compat_msg_types.h: $(top_srcdir)/xlat/nf_nft_compat_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_nftables_msg_types.h: $(top_srcdir)/xlat/nf_nftables_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_osf_msg_types.h: $(top_srcdir)/xlat/nf_osf_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_queue_msg_types.h: $(top_srcdir)/xlat/nf_queue_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nf_ulog_msg_types.h: $(top_srcdir)/xlat/nf_ulog_msg_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_crypto_types.h: $(top_srcdir)/xlat/nl_crypto_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/nlmsgerr_attrs.h: $(top_srcdir)/xlat/nlmsgerr_attrs.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_info_flags.h: $(top_srcdir)/xlat/packet_diag_info_flags.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_sve_vl_flags.h: $(top_srcdir)/xlat/pr_sve_vl_flags.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/riscv_flush_icache_flags.h: $(top_srcdir)/xlat/riscv_flush_icache_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/route_nexthop_flags.h: $(top_srcdir)/xlat/route_nexthop_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/routing_flags.h: $(top_srcdir)/xlat/routing_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/routing_protocols.h: $(top_srcdir)/xlat/routing_protocols.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/routing_scopes.h: $(top_srcdir)/xlat/routing_scopes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/routing_table_ids.h: $(top_srcdir)/xlat/routing_table_ids.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/routing_types.h: $(top_srcdir)/xlat/routing_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_addr_attrs.h: $(top_srcdir)/xlat/rtnl_addr_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_addrlabel_attrs.h: $(top_srcdir)/xlat/rtnl_addrlabel_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_dcb_attrs.h: $(top_srcdir)/xlat/rtnl_dcb_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_brport_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_brport_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_events.h: $(top_srcdir)/xlat/rtnl_ifla_events.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_info_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_port_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_port_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_vf_port_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_vf_port_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_xdp_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_xdp_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_link_attrs.h: $(top_srcdir)/xlat/rtnl_link_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_mdb_attrs.h: $(top_srcdir)/xlat/rtnl_mdb_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_mdba_mdb_attrs.h: $(top_srcdir)/xlat/rtnl_mdba_mdb_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_mdba_mdb_eattr_attrs.h: $(top_srcdir)/xlat/rtnl_mdba_mdb_eattr_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_mdba_mdb_entry_attrs.h: $(top_srcdir)/xlat/rtnl_mdba_mdb_entry_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_mdba_router_attrs.h: $(top_srcdir)/xlat/rtnl_mdba_router_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_mdba_router_pattr_attrs.h: $(top_srcdir)/xlat/rtnl_mdba_router_pattr_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_neigh_attrs.h: $(top_srcdir)/xlat/rtnl_neigh_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_neightbl_attrs.h: $(top_srcdir)/xlat/rtnl_neightbl_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_neightbl_parms_attrs.h: $(top_srcdir)/xlat/rtnl_neightbl_parms_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_netconf_attrs.h: $(top_srcdir)/xlat/rtnl_netconf_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_nsid_attrs.h: $(top_srcdir)/xlat/rtnl_nsid_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_route_attrs.h: $(top_srcdir)/xlat/rtnl_route_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_rta_metrics_attrs.h: $(top_srcdir)/xlat/rtnl_rta_metrics_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_rule_attrs.h: $(top_srcdir)/xlat/rtnl_rule_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_tc_action_attrs.h: $(top_srcdir)/xlat/rtnl_tc_action_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_tc_attrs.h: $(top_srcdir)/xlat/rtnl_tc_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_tca_stab_attrs.h: $(top_srcdir)/xlat/rtnl_tca_stab_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_tca_stats_attrs.h: $(top_srcdir)/xlat/rtnl_tca_stats_attrs.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/s390_guarded_storage_commands.h: $(top_srcdir)/xlat/s390_guarded_storage_commands.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/s390_runtime_instr_commands.h: $(top_srcdir)/xlat/s390_runtime_instr_commands.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/s390_sthyi_function_codes.h: $(top_srcdir)/xlat/s390_sthyi_function_codes.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/skf_ad.h: $(top_srcdir)/xlat/skf_ad.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_link_group_roles.h: $(top_srcdir)/xlat/smc_link_group_roles.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/socknetlinkoptions.h: $(top_srcdir)/xlat/socknetlinkoptions.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/sparc_kern_features.h: $(top_srcdir)/xlat/sparc_kern_features.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_features.h: $(top_srcdir)/xlat/uffd_api_features.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_pix_fmts.h: $(top_srcdir)/xlat/v4l2_pix_fmts.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_sdr_fmts.h: $(top_srcdir)/xlat/v4l2_sdr_fmts.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/xdp_flags.h: $(top_srcdir)/xlat/xdp_flags.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 $< $@
+
+
+# Code coverage
+#
+# Optional:
+# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting.
+# Multiple directories may be specified, separated by whitespace.
+# (Default: $(top_builddir))
+# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated
+# by lcov for code coverage. (Default:
+# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info)
+# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage
+# reports to be created. (Default:
+# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage)
+# - CODE_COVERAGE_BRANCH_COVERAGE: Set to 1 to enforce branch coverage,
+# set to 0 to disable it and leave empty to stay with the default.
+# (Default: empty)
+# - CODE_COVERAGE_LCOV_SHOPTS_DEFAULT: Extra options shared between both lcov
+# instances. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)
+# - CODE_COVERAGE_LCOV_SHOPTS: Extra options to shared between both lcov
+# instances. (Default: $CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
+# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov
+# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the
+# collecting lcov instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
+# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the collecting lcov
+# instance. (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
+# - CODE_COVERAGE_LCOV_RMOPTS_DEFAULT: Extra options to pass to the filtering
+# lcov instance. (Default: empty)
+# - CODE_COVERAGE_LCOV_RMOPTS: Extra options to pass to the filtering lcov
+# instance. (Default: $CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
+# - CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT: Extra options to pass to the
+# genhtml instance. (Default: based on $CODE_COVERAGE_BRANCH_COVERAGE)
+# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml
+# instance. (Default: $CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
+# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore
+#
+# The generated report will be titled using the $(PACKAGE_NAME) and
+# $(PACKAGE_VERSION). In order to add the current git hash to the title,
+# use the git-version-gen script, available online.
+
+# Optional variables
+CODE_COVERAGE_DIRECTORY ?= $(top_builddir)
+CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info
+CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage
+CODE_COVERAGE_BRANCH_COVERAGE ?=
+CODE_COVERAGE_LCOV_SHOPTS_DEFAULT ?= $(if $(CODE_COVERAGE_BRANCH_COVERAGE),\
+--rc lcov_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))
+CODE_COVERAGE_LCOV_SHOPTS ?= $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
+CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)"
+CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
+CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
+CODE_COVERAGE_LCOV_RMOPTS_DEFAULT ?=
+CODE_COVERAGE_LCOV_RMOPTS ?= $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
+CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT ?=\
+$(if $(CODE_COVERAGE_BRANCH_COVERAGE),\
+--rc genhtml_branch_coverage=$(CODE_COVERAGE_BRANCH_COVERAGE))
+CODE_COVERAGE_GENHTML_OPTIONS ?= $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
+CODE_COVERAGE_IGNORE_PATTERN ?=
+
+code_coverage_v_lcov_cap = $(code_coverage_v_lcov_cap_$(V))
+code_coverage_v_lcov_cap_ = $(code_coverage_v_lcov_cap_$(AM_DEFAULT_VERBOSITY))
+code_coverage_v_lcov_cap_0 = @echo " LCOV --capture"\
+ $(CODE_COVERAGE_OUTPUT_FILE);
+code_coverage_v_lcov_ign = $(code_coverage_v_lcov_ign_$(V))
+code_coverage_v_lcov_ign_ = $(code_coverage_v_lcov_ign_$(AM_DEFAULT_VERBOSITY))
+code_coverage_v_lcov_ign_0 = @echo " LCOV --remove /tmp/*"\
+ $(CODE_COVERAGE_IGNORE_PATTERN);
+code_coverage_v_genhtml = $(code_coverage_v_genhtml_$(V))
+code_coverage_v_genhtml_ = $(code_coverage_v_genhtml_$(AM_DEFAULT_VERBOSITY))
+code_coverage_v_genhtml_0 = @echo " GEN " $(CODE_COVERAGE_OUTPUT_DIRECTORY);
+code_coverage_quiet = $(code_coverage_quiet_$(V))
+code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY))
+code_coverage_quiet_0 = --quiet
+
+# sanitizes the test-name: replaces with underscores: dashes and dots
+code_coverage_sanitize = $(subst -,_,$(subst .,_,$(1)))
+
+# Use recursive makes in order to ignore errors during check
+check-code-coverage:
+ @echo "Need to reconfigure with --enable-code-coverage"
+
+
+# Capture code coverage data
+code-coverage-capture: code-coverage-capture-hook
+ @echo "Need to reconfigure with --enable-code-coverage"
+
+
+# Hook rule executed before code-coverage-capture, overridable by the user
+code-coverage-capture-hook:
+
+
+
+GITIGNOREFILES ?=
+GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY)
+
+AM_DISTCHECK_CONFIGURE_FLAGS ?=
+AM_DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage
+
+.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean
+
+
+.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 $@
+
+bpf_attr_check.c: $(srcdir)/bpf_attr.h $(srcdir)/gen_bpf_attr_check.sh
+ $(srcdir)/gen_bpf_attr_check.sh $< > $@-t && mv $@-t $@
+
+sys_func.h: $(patsubst %,$(srcdir)/%,$(sys_func_h_sources))
+ for f in $^; do \
+ sed -n 's/^SYS_FUNC(.*/extern &;/p' $$f; \
+ done | sort -u > $@
+
+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
+ ${AM_V_GEN}echo $(MANPAGE_DATE) > $(distdir)/.strace.1.in.date
+
+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
+
+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 $^ > $@
+
+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
+ cat $< >> $@-t
+ LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
+ mv $@-t $@
+
+$(strace_OBJECTS): scno.h
+
+# mpers targets
+
+mpers-m%.stamp: $(srcdir_mpers_source_files) | printers.h
+ for f in $^; do \
+ READELF="$(READELF)" \
+ 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) $(mpers_CC_FLAGS) $$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 $@
+
+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 =
+
+$(mpers_m32_targets): mpers_NAME = m32
+$(mpers_m32_targets): mpers_CC_FLAGS = -m32
+
+#$(mpers_mx32_targets): mpers_NAME = mx32
+#$(mpers_mx32_targets): mpers_CC_FLAGS = -mx32
+
+clean-local:
+ -rm -rf mpers-m32 mpers-mx32
+#$(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 \
+# | maint/gen-contributors-list.sh - -e HEAD --initial \
+# | sed 's/\t/ /g; s/^/\t/' \
+# ) > $@-t && mv $@-t $@
+
+#export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
+
+# 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/Makefile.am b/Makefile.am
index db9ad6e8..6985d282 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -64,7 +64,7 @@ include xlat/Makemodule.am
strace_CPPFLAGS = $(AM_CPPFLAGS)
strace_CFLAGS = $(AM_CFLAGS)
strace_LDFLAGS =
-strace_LDADD = libstrace.a
+strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS)
noinst_LIBRARIES = libstrace.a
libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
@@ -96,6 +96,7 @@ strace_SOURCES = \
bjm.c \
block.c \
bpf.c \
+ bpf_attr.h \
bpf_filter.c \
bpf_filter.h \
bpf_fprog.h \
@@ -112,6 +113,8 @@ strace_SOURCES = \
copy_file_range.c \
count.c \
defs.h \
+ delay.c \
+ delay.h \
desc.c \
dirent.c \
dirent64.c \
@@ -122,6 +125,7 @@ strace_SOURCES = \
error_prints.c \
error_prints.h \
evdev.c \
+ evdev_mpers.c \
eventfd.c \
execve.c \
fadvise.c \
@@ -185,6 +189,8 @@ strace_SOURCES = \
membarrier.c \
memfd_create.c \
mknod.c \
+ mmap_cache.c \
+ mmap_cache.h \
mmsghdr.c \
mount.c \
mpers_type.h \
@@ -200,6 +206,7 @@ strace_SOURCES = \
netlink_crypto.c \
netlink_sock_diag.h \
netlink_inet_diag.c \
+ netlink_netfilter.c \
netlink_netlink_diag.c \
netlink_packet_diag.c \
netlink_route.c \
@@ -255,6 +262,8 @@ strace_SOURCES = \
regs.h \
renameat.c \
resource.c \
+ retval.c \
+ retval.h \
riscv.c \
rt_sigframe.c \
rt_sigreturn.c \
@@ -288,12 +297,14 @@ strace_SOURCES = \
sock.c \
sockaddr.c \
socketutils.c \
+ sparc.c \
sram_alloc.c \
stat.c \
stat.h \
stat64.c \
statfs.c \
statfs.h \
+ static_assert.h \
statx.c \
statx.h \
strace.c \
@@ -333,10 +344,13 @@ strace_SOURCES = \
xmalloc.c \
xmalloc.h \
xstring.h \
+ $(strace_SOURCES_check) \
# end of strace_SOURCES
+strace_SOURCES_check = bpf_attr_check.c
+
if USE_LIBUNWIND
-strace_SOURCES += unwind.c
+strace_SOURCES += unwind.c unwind.h unwind-libunwind.c
strace_CPPFLAGS += $(libunwind_CPPFLAGS)
strace_LDFLAGS += $(libunwind_LDFLAGS)
strace_LDADD += $(libunwind_LIBS)
@@ -381,6 +395,7 @@ EXTRA_DIST = \
debian/strace64.install \
debian/strace64.manpages \
debian/watch \
+ gen_bpf_attr_check.sh \
generate_sen.sh \
ioctl_iocdef.c \
ioctlsort.c \
@@ -405,6 +420,7 @@ EXTRA_DIST = \
linux/aarch64/ioctls_inc0.h \
linux/aarch64/ioctls_inc1.h \
linux/aarch64/nr_prefix.c \
+ linux/aarch64/raw_syscall.h \
linux/aarch64/set_error.c \
linux/aarch64/set_scno.c \
linux/aarch64/shuffle_scno.c \
@@ -424,6 +440,7 @@ EXTRA_DIST = \
linux/alpha/get_syscall_result.c \
linux/alpha/ioctls_arch0.h \
linux/alpha/ioctls_inc0.h \
+ linux/alpha/raw_syscall.h \
linux/alpha/set_error.c \
linux/alpha/set_scno.c \
linux/alpha/signalent.h \
@@ -437,6 +454,7 @@ EXTRA_DIST = \
linux/arc/get_syscall_args.c \
linux/arc/ioctls_arch0.h \
linux/arc/ioctls_inc0.h \
+ linux/arc/raw_syscall.h \
linux/arc/set_error.c \
linux/arc/set_scno.c \
linux/arc/syscallent.h \
@@ -455,6 +473,7 @@ EXTRA_DIST = \
linux/arm/ioctls_arch0.h \
linux/arm/ioctls_inc0.h \
linux/arm/nr_prefix.c \
+ linux/arm/raw_syscall.h \
linux/arm/set_error.c \
linux/arm/set_scno.c \
linux/arm/shuffle_scno.c \
@@ -468,6 +487,7 @@ EXTRA_DIST = \
linux/avr32/get_syscall_args.c \
linux/avr32/ioctls_arch0.h \
linux/avr32/ioctls_inc0.h \
+ linux/avr32/raw_syscall.h \
linux/avr32/set_error.c \
linux/avr32/set_scno.c \
linux/avr32/syscallent.h \
@@ -481,6 +501,7 @@ EXTRA_DIST = \
linux/bfin/get_syscall_result.c \
linux/bfin/ioctls_arch0.h \
linux/bfin/ioctls_inc0.h \
+ linux/bfin/raw_syscall.h \
linux/bfin/rt_sigframe.h \
linux/bfin/set_error.c \
linux/bfin/set_scno.c \
@@ -500,6 +521,7 @@ EXTRA_DIST = \
linux/hppa/get_syscall_result.c \
linux/hppa/ioctls_arch0.h \
linux/hppa/ioctls_inc0.h \
+ linux/hppa/raw_syscall.h \
linux/hppa/rt_sigframe.h \
linux/hppa/set_error.c \
linux/hppa/set_scno.c \
@@ -516,6 +538,7 @@ EXTRA_DIST = \
linux/i386/get_syscall_args.c \
linux/i386/ioctls_arch0.h \
linux/i386/ioctls_inc0.h \
+ linux/i386/raw_syscall.h \
linux/i386/rt_sigframe.h \
linux/i386/set_error.c \
linux/i386/set_scno.c \
@@ -532,6 +555,7 @@ EXTRA_DIST = \
linux/ia64/get_syscall_args.c \
linux/ia64/ioctls_arch0.h \
linux/ia64/ioctls_inc0.h \
+ linux/ia64/raw_syscall.h \
linux/ia64/rt_sigframe.h \
linux/ia64/set_error.c \
linux/ia64/set_scno.c \
@@ -548,6 +572,7 @@ EXTRA_DIST = \
linux/m68k/get_syscall_args.c \
linux/m68k/ioctls_arch0.h \
linux/m68k/ioctls_inc0.h \
+ linux/m68k/raw_syscall.h \
linux/m68k/rt_sigframe.h \
linux/m68k/set_error.c \
linux/m68k/set_scno.c \
@@ -561,6 +586,7 @@ EXTRA_DIST = \
linux/metag/get_syscall_args.c \
linux/metag/ioctls_arch0.h \
linux/metag/ioctls_inc0.h \
+ linux/metag/raw_syscall.h \
linux/metag/set_error.c \
linux/metag/set_scno.c \
linux/metag/syscallent.h \
@@ -574,6 +600,7 @@ EXTRA_DIST = \
linux/microblaze/get_syscall_result.c \
linux/microblaze/ioctls_arch0.h \
linux/microblaze/ioctls_inc0.h \
+ linux/microblaze/raw_syscall.h \
linux/microblaze/set_error.c \
linux/microblaze/set_scno.c \
linux/microblaze/syscallent.h \
@@ -591,6 +618,7 @@ EXTRA_DIST = \
linux/mips/get_syscall_args.c \
linux/mips/ioctls_arch0.h \
linux/mips/ioctls_inc0.h \
+ linux/mips/raw_syscall.h \
linux/mips/rt_sigframe.h \
linux/mips/set_error.c \
linux/mips/set_scno.c \
@@ -611,6 +639,7 @@ EXTRA_DIST = \
linux/nios2/get_syscall_args.c \
linux/nios2/ioctls_arch0.h \
linux/nios2/ioctls_inc0.h \
+ linux/nios2/raw_syscall.h \
linux/nios2/set_error.c \
linux/nios2/set_scno.c \
linux/nios2/syscallent.h \
@@ -623,6 +652,7 @@ EXTRA_DIST = \
linux/or1k/get_syscall_args.c \
linux/or1k/ioctls_arch0.h \
linux/or1k/ioctls_inc0.h \
+ linux/or1k/raw_syscall.h \
linux/or1k/set_error.c \
linux/or1k/set_scno.c \
linux/or1k/syscallent.h \
@@ -641,6 +671,7 @@ EXTRA_DIST = \
linux/powerpc/getregs_old.h \
linux/powerpc/ioctls_arch0.h \
linux/powerpc/ioctls_inc0.h \
+ linux/powerpc/raw_syscall.h \
linux/powerpc/set_error.c \
linux/powerpc/set_scno.c \
linux/powerpc/syscallent.h \
@@ -661,6 +692,7 @@ EXTRA_DIST = \
linux/powerpc64/ioctls_arch1.h \
linux/powerpc64/ioctls_inc0.h \
linux/powerpc64/ioctls_inc1.h \
+ linux/powerpc64/raw_syscall.h \
linux/powerpc64/rt_sigframe.h \
linux/powerpc64/set_error.c \
linux/powerpc64/set_scno.c \
@@ -668,6 +700,7 @@ EXTRA_DIST = \
linux/powerpc64/syscallent.h \
linux/powerpc64/syscallent1.h \
linux/powerpc64/userent.h \
+ linux/raw_syscall.h \
linux/riscv/arch_defs_.h \
linux/riscv/arch_regs.c \
linux/riscv/arch_regs.h \
@@ -680,6 +713,7 @@ EXTRA_DIST = \
linux/riscv/ioctls_arch1.h \
linux/riscv/ioctls_inc0.h \
linux/riscv/ioctls_inc1.h \
+ linux/riscv/raw_syscall.h \
linux/riscv/set_error.c \
linux/riscv/set_scno.c \
linux/riscv/signalent1.h \
@@ -696,6 +730,7 @@ EXTRA_DIST = \
linux/s390/get_syscall_args.c \
linux/s390/ioctls_arch0.h \
linux/s390/ioctls_inc0.h \
+ linux/s390/raw_syscall.h \
linux/s390/rt_sigframe.h \
linux/s390/set_error.c \
linux/s390/set_scno.c \
@@ -716,6 +751,7 @@ EXTRA_DIST = \
linux/s390x/ioctls_arch1.h \
linux/s390x/ioctls_inc0.h \
linux/s390x/ioctls_inc1.h \
+ linux/s390x/raw_syscall.h \
linux/s390x/rt_sigframe.h \
linux/s390x/set_error.c \
linux/s390x/set_scno.c \
@@ -733,6 +769,7 @@ EXTRA_DIST = \
linux/sh/get_syscall_result.c \
linux/sh/ioctls_arch0.h \
linux/sh/ioctls_inc0.h \
+ linux/sh/raw_syscall.h \
linux/sh/set_error.c \
linux/sh/set_scno.c \
linux/sh/syscallent.h \
@@ -748,6 +785,7 @@ EXTRA_DIST = \
linux/sh64/get_syscall_result.c \
linux/sh64/ioctls_arch0.h \
linux/sh64/ioctls_inc0.h \
+ linux/sh64/raw_syscall.h \
linux/sh64/rt_sigframe.h \
linux/sh64/set_error.c \
linux/sh64/set_scno.c \
@@ -769,6 +807,7 @@ EXTRA_DIST = \
linux/sparc/get_syscall_args.c \
linux/sparc/ioctls_arch0.h \
linux/sparc/ioctls_inc0.h \
+ linux/sparc/raw_syscall.h \
linux/sparc/rt_sigframe.h \
linux/sparc/set_error.c \
linux/sparc/set_scno.c \
@@ -790,6 +829,7 @@ EXTRA_DIST = \
linux/sparc64/ioctls_arch1.h \
linux/sparc64/ioctls_inc0.h \
linux/sparc64/ioctls_inc1.h \
+ linux/sparc64/raw_syscall.h \
linux/sparc64/rt_sigframe.h \
linux/sparc64/set_error.c \
linux/sparc64/set_scno.c \
@@ -813,6 +853,7 @@ EXTRA_DIST = \
linux/tile/ioctls_arch1.h \
linux/tile/ioctls_inc0.h \
linux/tile/ioctls_inc1.h \
+ linux/tile/raw_syscall.h \
linux/tile/rt_sigframe.h \
linux/tile/set_error.c \
linux/tile/set_scno.c \
@@ -837,6 +878,7 @@ EXTRA_DIST = \
linux/x32/ioctls_arch1.h \
linux/x32/ioctls_inc0.h \
linux/x32/ioctls_inc1.h \
+ linux/x32/raw_syscall.h \
linux/x32/rt_sigframe.h \
linux/x32/set_error.c \
linux/x32/set_scno.c \
@@ -864,6 +906,7 @@ EXTRA_DIST = \
linux/x86_64/ioctls_inc0.h \
linux/x86_64/ioctls_inc1.h \
linux/x86_64/ioctls_inc2.h \
+ linux/x86_64/raw_syscall.h \
linux/x86_64/rt_sigframe.h \
linux/x86_64/set_error.c \
linux/x86_64/set_scno.c \
@@ -882,6 +925,7 @@ EXTRA_DIST = \
linux/xtensa/get_syscall_result.c \
linux/xtensa/ioctls_arch0.h \
linux/xtensa/ioctls_inc0.h \
+ linux/xtensa/raw_syscall.h \
linux/xtensa/set_error.c \
linux/xtensa/set_scno.c \
linux/xtensa/syscallent.h \
@@ -909,10 +953,15 @@ srpm: dist-xz
$(srcdir)/.version:
$(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
+bpf_attr_check.c: $(srcdir)/bpf_attr.h $(srcdir)/gen_bpf_attr_check.sh
+ $(srcdir)/gen_bpf_attr_check.sh $< > $@-t && mv $@-t $@
+
strace_SOURCES_c = \
$(filter %.c,$(strace_SOURCES)) $(filter %.c,$(libstrace_a_SOURCES))
-sys_func.h: $(patsubst %,$(srcdir)/%,$(strace_SOURCES_c))
+sys_func_h_sources = $(filter-out $(strace_SOURCES_check),$(strace_SOURCES_c))
+
+sys_func.h: $(patsubst %,$(srcdir)/%,$(sys_func_h_sources))
for f in $^; do \
sed -n 's/^SYS_FUNC(.*/extern &;/p' $$f; \
done | sort -u > $@
@@ -985,10 +1034,12 @@ ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioc
cat $^ > $@
BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \
- native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version
+ bpf_attr_check.c 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
+ bpf_attr_check.c 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
diff --git a/Makefile.in b/Makefile.in
index f1822adb..f02c2bee 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -147,7 +147,7 @@ DIST_COMMON = $(srcdir)/xlat/Makemodule.am $(srcdir)/scno.am \
$(top_srcdir)/debian/changelog.in depcomp AUTHORS COPYING \
INSTALL NEWS README compile config.guess config.sub install-sh \
missing
-@USE_LIBUNWIND_TRUE@am__append_1 = unwind.c
+@USE_LIBUNWIND_TRUE@am__append_1 = unwind.c unwind.h unwind-libunwind.c
@USE_LIBUNWIND_TRUE@am__append_2 = $(libunwind_CPPFLAGS)
@USE_LIBUNWIND_TRUE@am__append_3 = $(libunwind_LDFLAGS)
@USE_LIBUNWIND_TRUE@am__append_4 = $(libunwind_LIBS)
@@ -167,7 +167,7 @@ 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/bpf_attr.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
@@ -189,8 +189,8 @@ am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
libmpers_m32_a_AR = $(AR) $(ARFLAGS)
libmpers_m32_a_LIBADD =
-am__libmpers_m32_a_SOURCES_DIST = block.c btrfs.c dirent.c evdev.c \
- fetch_bpf_fprog.c fetch_struct_flock.c \
+am__libmpers_m32_a_SOURCES_DIST = block.c btrfs.c dirent.c \
+ evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c \
fetch_struct_keyctl_kdf_params.c fetch_struct_mmsghdr.c \
fetch_struct_msghdr.c fetch_struct_stat.c \
fetch_struct_stat64.c fetch_struct_statfs.c hdio.c \
@@ -202,7 +202,7 @@ am__libmpers_m32_a_SOURCES_DIST = block.c btrfs.c dirent.c evdev.c \
ustat.c utime.c v4l2.c
am__objects_1 = libmpers_m32_a-block.$(OBJEXT) \
libmpers_m32_a-btrfs.$(OBJEXT) libmpers_m32_a-dirent.$(OBJEXT) \
- libmpers_m32_a-evdev.$(OBJEXT) \
+ libmpers_m32_a-evdev_mpers.$(OBJEXT) \
libmpers_m32_a-fetch_bpf_fprog.$(OBJEXT) \
libmpers_m32_a-fetch_struct_flock.$(OBJEXT) \
libmpers_m32_a-fetch_struct_keyctl_kdf_params.$(OBJEXT) \
@@ -236,8 +236,8 @@ am__objects_1 = libmpers_m32_a-block.$(OBJEXT) \
libmpers_m32_a_OBJECTS = $(am_libmpers_m32_a_OBJECTS)
libmpers_mx32_a_AR = $(AR) $(ARFLAGS)
libmpers_mx32_a_LIBADD =
-am__libmpers_mx32_a_SOURCES_DIST = block.c btrfs.c dirent.c evdev.c \
- fetch_bpf_fprog.c fetch_struct_flock.c \
+am__libmpers_mx32_a_SOURCES_DIST = block.c btrfs.c dirent.c \
+ evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c \
fetch_struct_keyctl_kdf_params.c fetch_struct_mmsghdr.c \
fetch_struct_msghdr.c fetch_struct_stat.c \
fetch_struct_stat64.c fetch_struct_statfs.c hdio.c \
@@ -250,7 +250,7 @@ am__libmpers_mx32_a_SOURCES_DIST = block.c btrfs.c dirent.c evdev.c \
am__objects_2 = libmpers_mx32_a-block.$(OBJEXT) \
libmpers_mx32_a-btrfs.$(OBJEXT) \
libmpers_mx32_a-dirent.$(OBJEXT) \
- libmpers_mx32_a-evdev.$(OBJEXT) \
+ libmpers_mx32_a-evdev_mpers.$(OBJEXT) \
libmpers_mx32_a-fetch_bpf_fprog.$(OBJEXT) \
libmpers_mx32_a-fetch_struct_flock.$(OBJEXT) \
libmpers_mx32_a-fetch_struct_keyctl_kdf_params.$(OBJEXT) \
@@ -303,11 +303,12 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
PROGRAMS = $(bin_PROGRAMS)
am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c \
arch_defs.h basic_filters.c bind.c bjm.c block.c bpf.c \
- bpf_filter.c bpf_filter.h bpf_fprog.h bpf_seccomp_filter.c \
- bpf_sock_filter.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 error_prints.c error_prints.h evdev.c eventfd.c \
+ bpf_attr.h bpf_filter.c bpf_filter.h bpf_fprog.h \
+ bpf_seccomp_filter.c bpf_sock_filter.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 delay.c delay.h desc.c \
+ dirent.c dirent64.c dm.c dyxlat.c empty.h epoll.c \
+ error_prints.c error_prints.h evdev.c evdev_mpers.c eventfd.c \
execve.c fadvise.c fallocate.c fanotify.c fchownat.c fcntl.c \
fetch_bpf_fprog.c fetch_struct_flock.c \
fetch_struct_keyctl_kdf_params.c fetch_struct_mmsghdr.c \
@@ -322,38 +323,42 @@ am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c \
link.c linux/asm_stat.h linux/x32/asm_stat.h \
linux/x86_64/asm_stat.h listen.c 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 negated_errno.h net.c netlink.c netlink.h \
- netlink_crypto.c netlink_sock_diag.h netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_packet_diag.c netlink_route.c \
- netlink_route.h netlink_selinux.c netlink_smc_diag.c \
- netlink_sock_diag.c netlink_unix_diag.c nlattr.c nlattr.h \
- nsfs.c nsfs.h nsig.h numa.c number_set.c number_set.h \
- 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_group_req.c print_fields.h print_ifindex.c \
+ mmap_cache.c mmap_cache.h mmsghdr.c mount.c mpers_type.h mq.c \
+ msghdr.c msghdr.h mtd.c native_defs.h negated_errno.h net.c \
+ netlink.c netlink.h netlink_crypto.c netlink_sock_diag.h \
+ netlink_inet_diag.c netlink_netfilter.c netlink_netlink_diag.c \
+ netlink_packet_diag.c netlink_route.c netlink_route.h \
+ netlink_selinux.c netlink_smc_diag.c netlink_sock_diag.c \
+ netlink_unix_diag.c nlattr.c nlattr.h nsfs.c nsfs.h nsig.h \
+ numa.c number_set.c number_set.h 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_group_req.c print_fields.h print_ifindex.c \
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 quota.c readahead.c \
- readlink.c reboot.c regs.h renameat.c resource.c riscv.c \
- rt_sigframe.c rt_sigreturn.c rtc.c rtnl_addr.c \
- rtnl_addrlabel.c rtnl_dcb.c rtnl_link.c rtnl_mdb.c \
+ readlink.c reboot.c regs.h renameat.c resource.c retval.c \
+ retval.h riscv.c rt_sigframe.c rt_sigreturn.c rtc.c \
+ rtnl_addr.c rtnl_addrlabel.c rtnl_dcb.c rtnl_link.c rtnl_mdb.c \
rtnl_neigh.c rtnl_neightbl.c rtnl_netconf.c rtnl_nsid.c \
rtnl_route.c rtnl_rule.c rtnl_tc.c rtnl_tc_action.c s390.c \
sched.c sched_attr.h scsi.c seccomp.c sendfile.c sg_io_v3.c \
sg_io_v4.c shutdown.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 \
- string_to_uint.h string_to_uint.c swapon.c syscall.c sysctl.c \
- sysent.h sysent_shorthand_defs.h sysent_shorthand_undefs.h \
- sysinfo.c syslog.c sysmips.c term.c time.c times.c \
- trace_event.h truncate.c ubi.c ucopy.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 xmalloc.h \
- xstring.h unwind.c
-@USE_LIBUNWIND_TRUE@am__objects_3 = strace-unwind.$(OBJEXT)
+ signalfd.c sock.c sockaddr.c socketutils.c sparc.c \
+ sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h \
+ static_assert.h statx.c statx.h strace.c string_to_uint.h \
+ string_to_uint.c swapon.c syscall.c sysctl.c sysent.h \
+ sysent_shorthand_defs.h sysent_shorthand_undefs.h sysinfo.c \
+ syslog.c sysmips.c term.c time.c times.c trace_event.h \
+ truncate.c ubi.c ucopy.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 xmalloc.h xstring.h \
+ bpf_attr_check.c unwind.c unwind.h unwind-libunwind.c
+am__objects_3 = strace-bpf_attr_check.$(OBJEXT)
+@USE_LIBUNWIND_TRUE@am__objects_4 = strace-unwind.$(OBJEXT) \
+@USE_LIBUNWIND_TRUE@ strace-unwind-libunwind.$(OBJEXT)
am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-aio.$(OBJEXT) strace-alpha.$(OBJEXT) \
strace-basic_filters.$(OBJEXT) strace-bind.$(OBJEXT) \
@@ -364,11 +369,12 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-cacheflush.$(OBJEXT) strace-capability.$(OBJEXT) \
strace-chdir.$(OBJEXT) strace-chmod.$(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-dyxlat.$(OBJEXT) \
- strace-epoll.$(OBJEXT) strace-error_prints.$(OBJEXT) \
- strace-evdev.$(OBJEXT) strace-eventfd.$(OBJEXT) \
+ strace-count.$(OBJEXT) strace-delay.$(OBJEXT) \
+ strace-desc.$(OBJEXT) strace-dirent.$(OBJEXT) \
+ strace-dirent64.$(OBJEXT) strace-dm.$(OBJEXT) \
+ strace-dyxlat.$(OBJEXT) strace-epoll.$(OBJEXT) \
+ strace-error_prints.$(OBJEXT) strace-evdev.$(OBJEXT) \
+ strace-evdev_mpers.$(OBJEXT) strace-eventfd.$(OBJEXT) \
strace-execve.$(OBJEXT) strace-fadvise.$(OBJEXT) \
strace-fallocate.$(OBJEXT) strace-fanotify.$(OBJEXT) \
strace-fchownat.$(OBJEXT) strace-fcntl.$(OBJEXT) \
@@ -398,12 +404,13 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-lookup_dcookie.$(OBJEXT) strace-loop.$(OBJEXT) \
strace-lseek.$(OBJEXT) strace-mem.$(OBJEXT) \
strace-membarrier.$(OBJEXT) strace-memfd_create.$(OBJEXT) \
- strace-mknod.$(OBJEXT) strace-mmsghdr.$(OBJEXT) \
- strace-mount.$(OBJEXT) strace-mq.$(OBJEXT) \
- strace-msghdr.$(OBJEXT) strace-mtd.$(OBJEXT) \
- strace-net.$(OBJEXT) strace-netlink.$(OBJEXT) \
- strace-netlink_crypto.$(OBJEXT) \
+ strace-mknod.$(OBJEXT) strace-mmap_cache.$(OBJEXT) \
+ strace-mmsghdr.$(OBJEXT) strace-mount.$(OBJEXT) \
+ strace-mq.$(OBJEXT) strace-msghdr.$(OBJEXT) \
+ strace-mtd.$(OBJEXT) strace-net.$(OBJEXT) \
+ strace-netlink.$(OBJEXT) strace-netlink_crypto.$(OBJEXT) \
strace-netlink_inet_diag.$(OBJEXT) \
+ strace-netlink_netfilter.$(OBJEXT) \
strace-netlink_netlink_diag.$(OBJEXT) \
strace-netlink_packet_diag.$(OBJEXT) \
strace-netlink_route.$(OBJEXT) \
@@ -430,22 +437,23 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-ptp.$(OBJEXT) strace-quota.$(OBJEXT) \
strace-readahead.$(OBJEXT) strace-readlink.$(OBJEXT) \
strace-reboot.$(OBJEXT) strace-renameat.$(OBJEXT) \
- strace-resource.$(OBJEXT) strace-riscv.$(OBJEXT) \
- strace-rt_sigframe.$(OBJEXT) strace-rt_sigreturn.$(OBJEXT) \
- strace-rtc.$(OBJEXT) strace-rtnl_addr.$(OBJEXT) \
- strace-rtnl_addrlabel.$(OBJEXT) strace-rtnl_dcb.$(OBJEXT) \
- strace-rtnl_link.$(OBJEXT) strace-rtnl_mdb.$(OBJEXT) \
- strace-rtnl_neigh.$(OBJEXT) strace-rtnl_neightbl.$(OBJEXT) \
- strace-rtnl_netconf.$(OBJEXT) strace-rtnl_nsid.$(OBJEXT) \
- strace-rtnl_route.$(OBJEXT) strace-rtnl_rule.$(OBJEXT) \
- strace-rtnl_tc.$(OBJEXT) strace-rtnl_tc_action.$(OBJEXT) \
- strace-s390.$(OBJEXT) strace-sched.$(OBJEXT) \
- strace-scsi.$(OBJEXT) strace-seccomp.$(OBJEXT) \
- strace-sendfile.$(OBJEXT) strace-sg_io_v3.$(OBJEXT) \
- strace-sg_io_v4.$(OBJEXT) strace-shutdown.$(OBJEXT) \
- strace-sigaltstack.$(OBJEXT) strace-signal.$(OBJEXT) \
- strace-signalfd.$(OBJEXT) strace-sock.$(OBJEXT) \
- strace-sockaddr.$(OBJEXT) strace-socketutils.$(OBJEXT) \
+ strace-resource.$(OBJEXT) strace-retval.$(OBJEXT) \
+ strace-riscv.$(OBJEXT) strace-rt_sigframe.$(OBJEXT) \
+ strace-rt_sigreturn.$(OBJEXT) strace-rtc.$(OBJEXT) \
+ strace-rtnl_addr.$(OBJEXT) strace-rtnl_addrlabel.$(OBJEXT) \
+ strace-rtnl_dcb.$(OBJEXT) strace-rtnl_link.$(OBJEXT) \
+ strace-rtnl_mdb.$(OBJEXT) strace-rtnl_neigh.$(OBJEXT) \
+ strace-rtnl_neightbl.$(OBJEXT) strace-rtnl_netconf.$(OBJEXT) \
+ strace-rtnl_nsid.$(OBJEXT) strace-rtnl_route.$(OBJEXT) \
+ strace-rtnl_rule.$(OBJEXT) strace-rtnl_tc.$(OBJEXT) \
+ strace-rtnl_tc_action.$(OBJEXT) strace-s390.$(OBJEXT) \
+ strace-sched.$(OBJEXT) strace-scsi.$(OBJEXT) \
+ strace-seccomp.$(OBJEXT) strace-sendfile.$(OBJEXT) \
+ strace-sg_io_v3.$(OBJEXT) strace-sg_io_v4.$(OBJEXT) \
+ strace-shutdown.$(OBJEXT) strace-sigaltstack.$(OBJEXT) \
+ strace-signal.$(OBJEXT) strace-signalfd.$(OBJEXT) \
+ strace-sock.$(OBJEXT) strace-sockaddr.$(OBJEXT) \
+ strace-socketutils.$(OBJEXT) strace-sparc.$(OBJEXT) \
strace-sram_alloc.$(OBJEXT) strace-stat.$(OBJEXT) \
strace-stat64.$(OBJEXT) strace-statfs.$(OBJEXT) \
strace-statx.$(OBJEXT) strace-strace.$(OBJEXT) \
@@ -463,13 +471,14 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-utimes.$(OBJEXT) strace-v4l2.$(OBJEXT) \
strace-wait.$(OBJEXT) strace-xattr.$(OBJEXT) \
strace-xlat.$(OBJEXT) strace-xmalloc.$(OBJEXT) \
- $(am__objects_3)
+ $(am__objects_3) $(am__objects_4)
strace_OBJECTS = $(am_strace_OBJECTS)
am__DEPENDENCIES_1 =
@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_3 = \
@USE_DEMANGLE_TRUE@@USE_LIBUNWIND_TRUE@ $(am__DEPENDENCIES_1)
-strace_DEPENDENCIES = libstrace.a $(am__DEPENDENCIES_2) \
+strace_DEPENDENCIES = libstrace.a $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) $(am__append_8) \
$(am__append_12)
strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \
@@ -736,6 +745,7 @@ build_vendor = @build_vendor@
builddir = @builddir@
cc_flags_m32 = @cc_flags_m32@
cc_flags_mx32 = @cc_flags_mx32@
+clock_LIBS = @clock_LIBS@
datadir = @datadir@
datarootdir = @datarootdir@
dl_LIBS = @dl_LIBS@
@@ -763,6 +773,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+mq_LIBS = @mq_LIBS@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -773,6 +784,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+timer_LIBS = @timer_LIBS@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -805,7 +817,8 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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_flags.in \
+ xlat/bpf_class.in xlat/bpf_commands.in \
+ xlat/bpf_file_mode_flags.in xlat/bpf_map_flags.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_flags.in \
@@ -821,6 +834,7 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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_logical_ino_args_flags.in \
xlat/btrfs_qgroup_ctl_cmds.in \
xlat/btrfs_qgroup_inherit_flags.in \
xlat/btrfs_qgroup_limit_flags.in \
@@ -880,13 +894,14 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/mtd_otp_options.in xlat/mtd_type_options.in \
xlat/multicast_router_types.in xlat/name_to_handle_at_flags.in \
xlat/neighbor_cache_entry_flags.in \
- xlat/neighbor_cache_entry_states.in xlat/netlink_ack_flags.in \
- xlat/netlink_delete_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/nf_acct_msg_types.in xlat/nf_cthelper_msg_types.in \
+ xlat/neighbor_cache_entry_states.in xlat/netfilter_versions.in \
+ xlat/netlink_ack_flags.in xlat/netlink_delete_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/nf_acct_msg_types.in \
+ xlat/nf_cthelper_msg_types.in \
xlat/nf_ctnetlink_exp_msg_types.in \
xlat/nf_ctnetlink_msg_types.in xlat/nf_cttimeout_msg_types.in \
xlat/nf_ipset_msg_types.in xlat/nf_nft_compat_msg_types.in \
@@ -910,10 +925,11 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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/pr_set_mm.in xlat/pr_sve_vl_flags.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 \
@@ -922,11 +938,11 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/routing_scopes.in xlat/routing_table_ids.in \
xlat/routing_types.in xlat/rtnl_addr_attrs.in \
xlat/rtnl_addrlabel_attrs.in xlat/rtnl_dcb_attrs.in \
- xlat/rtnl_ifla_brport_attrs.in xlat/rtnl_ifla_info_attrs.in \
- xlat/rtnl_ifla_port_attrs.in xlat/rtnl_ifla_vf_port_attrs.in \
- xlat/rtnl_ifla_xdp_attrs.in xlat/rtnl_link_attrs.in \
- xlat/rtnl_mdb_attrs.in xlat/rtnl_mdba_mdb_attrs.in \
- xlat/rtnl_mdba_mdb_eattr_attrs.in \
+ xlat/rtnl_ifla_brport_attrs.in xlat/rtnl_ifla_events.in \
+ xlat/rtnl_ifla_info_attrs.in xlat/rtnl_ifla_port_attrs.in \
+ xlat/rtnl_ifla_vf_port_attrs.in xlat/rtnl_ifla_xdp_attrs.in \
+ xlat/rtnl_link_attrs.in xlat/rtnl_mdb_attrs.in \
+ xlat/rtnl_mdba_mdb_attrs.in xlat/rtnl_mdba_mdb_eattr_attrs.in \
xlat/rtnl_mdba_mdb_entry_attrs.in \
xlat/rtnl_mdba_router_attrs.in \
xlat/rtnl_mdba_router_pattr_attrs.in xlat/rtnl_neigh_attrs.in \
@@ -964,11 +980,11 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/socknetlinkoptions.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/socktypes.in xlat/sparc_kern_features.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 \
@@ -991,6 +1007,7 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.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_pix_fmts.in xlat/v4l2_sdr_fmts.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 \
@@ -1006,21 +1023,22 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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_flags.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_flags.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/bpf_file_mode_flags.h xlat/bpf_map_flags.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_flags.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_key_types.h xlat/btrfs_logical_ino_args_flags.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 \
@@ -1075,14 +1093,14 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
xlat/mtd_otp_options.h xlat/mtd_type_options.h \
xlat/multicast_router_types.h xlat/name_to_handle_at_flags.h \
xlat/neighbor_cache_entry_flags.h \
- xlat/neighbor_cache_entry_states.h xlat/netlink_ack_flags.h \
- xlat/netlink_delete_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/nf_acct_msg_types.h xlat/nf_cthelper_msg_types.h \
- xlat/nf_ctnetlink_exp_msg_types.h \
+ xlat/neighbor_cache_entry_states.h xlat/netfilter_versions.h \
+ xlat/netlink_ack_flags.h xlat/netlink_delete_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/nf_acct_msg_types.h \
+ xlat/nf_cthelper_msg_types.h xlat/nf_ctnetlink_exp_msg_types.h \
xlat/nf_ctnetlink_msg_types.h xlat/nf_cttimeout_msg_types.h \
xlat/nf_ipset_msg_types.h xlat/nf_nft_compat_msg_types.h \
xlat/nf_nftables_msg_types.h xlat/nf_osf_msg_types.h \
@@ -1105,8 +1123,9 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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/pr_sve_vl_flags.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 \
@@ -1116,11 +1135,11 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
xlat/routing_scopes.h xlat/routing_table_ids.h \
xlat/routing_types.h xlat/rtnl_addr_attrs.h \
xlat/rtnl_addrlabel_attrs.h xlat/rtnl_dcb_attrs.h \
- xlat/rtnl_ifla_brport_attrs.h xlat/rtnl_ifla_info_attrs.h \
- xlat/rtnl_ifla_port_attrs.h xlat/rtnl_ifla_vf_port_attrs.h \
- xlat/rtnl_ifla_xdp_attrs.h xlat/rtnl_link_attrs.h \
- xlat/rtnl_mdb_attrs.h xlat/rtnl_mdba_mdb_attrs.h \
- xlat/rtnl_mdba_mdb_eattr_attrs.h \
+ xlat/rtnl_ifla_brport_attrs.h xlat/rtnl_ifla_events.h \
+ xlat/rtnl_ifla_info_attrs.h xlat/rtnl_ifla_port_attrs.h \
+ xlat/rtnl_ifla_vf_port_attrs.h xlat/rtnl_ifla_xdp_attrs.h \
+ xlat/rtnl_link_attrs.h xlat/rtnl_mdb_attrs.h \
+ xlat/rtnl_mdba_mdb_attrs.h xlat/rtnl_mdba_mdb_eattr_attrs.h \
xlat/rtnl_mdba_mdb_entry_attrs.h xlat/rtnl_mdba_router_attrs.h \
xlat/rtnl_mdba_router_pattr_attrs.h xlat/rtnl_neigh_attrs.h \
xlat/rtnl_neightbl_attrs.h xlat/rtnl_neightbl_parms_attrs.h \
@@ -1155,10 +1174,11 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
xlat/socknetlinkoptions.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/sparc_kern_features.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 \
@@ -1180,6 +1200,7 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.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_pix_fmts.h xlat/v4l2_sdr_fmts.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 \
@@ -1190,8 +1211,9 @@ strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_2) $(am__append_5) \
$(CODE_COVERAGE_CPPFLAGS)
strace_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
strace_LDFLAGS = $(am__append_3) $(am__append_6)
-strace_LDADD = libstrace.a $(am__append_4) $(am__append_7) \
- $(CODE_COVERAGE_LIBS) $(am__append_8) $(am__append_12)
+strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_4) \
+ $(am__append_7) $(CODE_COVERAGE_LIBS) $(am__append_8) \
+ $(am__append_12)
noinst_LIBRARIES = libstrace.a $(am__append_9) $(am__append_13)
libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
libstrace_a_CFLAGS = $(strace_CFLAGS)
@@ -1212,57 +1234,61 @@ libstrace_a_SOURCES = \
# end of libstrace_a_SOURCES
strace_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.h \
- basic_filters.c bind.c bjm.c block.c bpf.c bpf_filter.c \
- bpf_filter.h bpf_fprog.h bpf_seccomp_filter.c \
+ basic_filters.c bind.c bjm.c block.c bpf.c bpf_attr.h \
+ bpf_filter.c bpf_filter.h bpf_fprog.h bpf_seccomp_filter.c \
bpf_sock_filter.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 error_prints.c error_prints.h evdev.c eventfd.c \
- execve.c fadvise.c fallocate.c fanotify.c fchownat.c fcntl.c \
- fetch_bpf_fprog.c fetch_struct_flock.c \
- fetch_struct_keyctl_kdf_params.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 filter_qualify.c filter.h flock.c flock.h \
- fs_x_ioctl.c 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 keyctl_kdf_params.h kvm.c largefile_wrappers.h ldt.c \
- link.c linux/asm_stat.h linux/x32/asm_stat.h \
- linux/x86_64/asm_stat.h listen.c lookup_dcookie.c loop.c \
- lseek.c macros.h mem.c membarrier.c memfd_create.c mknod.c \
+ defs.h delay.c delay.h desc.c dirent.c dirent64.c dm.c \
+ dyxlat.c empty.h epoll.c error_prints.c error_prints.h evdev.c \
+ evdev_mpers.c eventfd.c execve.c fadvise.c fallocate.c \
+ fanotify.c fchownat.c fcntl.c fetch_bpf_fprog.c \
+ fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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 \
+ filter_qualify.c filter.h flock.c flock.h fs_x_ioctl.c 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 \
+ keyctl_kdf_params.h kvm.c largefile_wrappers.h ldt.c link.c \
+ linux/asm_stat.h linux/x32/asm_stat.h linux/x86_64/asm_stat.h \
+ listen.c lookup_dcookie.c loop.c lseek.c macros.h mem.c \
+ membarrier.c memfd_create.c mknod.c mmap_cache.c mmap_cache.h \
mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
native_defs.h negated_errno.h net.c netlink.c netlink.h \
netlink_crypto.c netlink_sock_diag.h netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_packet_diag.c netlink_route.c \
- netlink_route.h netlink_selinux.c netlink_smc_diag.c \
- netlink_sock_diag.c netlink_unix_diag.c nlattr.c nlattr.h \
- nsfs.c nsfs.h nsig.h numa.c number_set.c number_set.h \
- 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_group_req.c print_fields.h print_ifindex.c \
+ netlink_netfilter.c netlink_netlink_diag.c \
+ netlink_packet_diag.c netlink_route.c netlink_route.h \
+ netlink_selinux.c netlink_smc_diag.c netlink_sock_diag.c \
+ netlink_unix_diag.c nlattr.c nlattr.h nsfs.c nsfs.h nsig.h \
+ numa.c number_set.c number_set.h 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_group_req.c print_fields.h print_ifindex.c \
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 quota.c readahead.c \
- readlink.c reboot.c regs.h renameat.c resource.c riscv.c \
- rt_sigframe.c rt_sigreturn.c rtc.c rtnl_addr.c \
- rtnl_addrlabel.c rtnl_dcb.c rtnl_link.c rtnl_mdb.c \
+ readlink.c reboot.c regs.h renameat.c resource.c retval.c \
+ retval.h riscv.c rt_sigframe.c rt_sigreturn.c rtc.c \
+ rtnl_addr.c rtnl_addrlabel.c rtnl_dcb.c rtnl_link.c rtnl_mdb.c \
rtnl_neigh.c rtnl_neightbl.c rtnl_netconf.c rtnl_nsid.c \
rtnl_route.c rtnl_rule.c rtnl_tc.c rtnl_tc_action.c s390.c \
sched.c sched_attr.h scsi.c seccomp.c sendfile.c sg_io_v3.c \
sg_io_v4.c shutdown.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 \
- string_to_uint.h string_to_uint.c swapon.c syscall.c sysctl.c \
- sysent.h sysent_shorthand_defs.h sysent_shorthand_undefs.h \
- sysinfo.c syslog.c sysmips.c term.c time.c times.c \
- trace_event.h truncate.c ubi.c ucopy.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 xmalloc.h \
- xstring.h $(am__append_1)
+ signalfd.c sock.c sockaddr.c socketutils.c sparc.c \
+ sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h \
+ static_assert.h statx.c statx.h strace.c string_to_uint.h \
+ string_to_uint.c swapon.c syscall.c sysctl.c sysent.h \
+ sysent_shorthand_defs.h sysent_shorthand_undefs.h sysinfo.c \
+ syslog.c sysmips.c term.c time.c times.c trace_event.h \
+ truncate.c ubi.c ucopy.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 xmalloc.h xstring.h \
+ $(strace_SOURCES_check) $(am__append_1)
+strace_SOURCES_check = bpf_attr_check.c
CODE_COVERAGE_BRANCH_COVERAGE = 1
CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
@@ -1293,6 +1319,7 @@ EXTRA_DIST = \
debian/strace64.install \
debian/strace64.manpages \
debian/watch \
+ gen_bpf_attr_check.sh \
generate_sen.sh \
ioctl_iocdef.c \
ioctlsort.c \
@@ -1317,6 +1344,7 @@ EXTRA_DIST = \
linux/aarch64/ioctls_inc0.h \
linux/aarch64/ioctls_inc1.h \
linux/aarch64/nr_prefix.c \
+ linux/aarch64/raw_syscall.h \
linux/aarch64/set_error.c \
linux/aarch64/set_scno.c \
linux/aarch64/shuffle_scno.c \
@@ -1336,6 +1364,7 @@ EXTRA_DIST = \
linux/alpha/get_syscall_result.c \
linux/alpha/ioctls_arch0.h \
linux/alpha/ioctls_inc0.h \
+ linux/alpha/raw_syscall.h \
linux/alpha/set_error.c \
linux/alpha/set_scno.c \
linux/alpha/signalent.h \
@@ -1349,6 +1378,7 @@ EXTRA_DIST = \
linux/arc/get_syscall_args.c \
linux/arc/ioctls_arch0.h \
linux/arc/ioctls_inc0.h \
+ linux/arc/raw_syscall.h \
linux/arc/set_error.c \
linux/arc/set_scno.c \
linux/arc/syscallent.h \
@@ -1367,6 +1397,7 @@ EXTRA_DIST = \
linux/arm/ioctls_arch0.h \
linux/arm/ioctls_inc0.h \
linux/arm/nr_prefix.c \
+ linux/arm/raw_syscall.h \
linux/arm/set_error.c \
linux/arm/set_scno.c \
linux/arm/shuffle_scno.c \
@@ -1380,6 +1411,7 @@ EXTRA_DIST = \
linux/avr32/get_syscall_args.c \
linux/avr32/ioctls_arch0.h \
linux/avr32/ioctls_inc0.h \
+ linux/avr32/raw_syscall.h \
linux/avr32/set_error.c \
linux/avr32/set_scno.c \
linux/avr32/syscallent.h \
@@ -1393,6 +1425,7 @@ EXTRA_DIST = \
linux/bfin/get_syscall_result.c \
linux/bfin/ioctls_arch0.h \
linux/bfin/ioctls_inc0.h \
+ linux/bfin/raw_syscall.h \
linux/bfin/rt_sigframe.h \
linux/bfin/set_error.c \
linux/bfin/set_scno.c \
@@ -1412,6 +1445,7 @@ EXTRA_DIST = \
linux/hppa/get_syscall_result.c \
linux/hppa/ioctls_arch0.h \
linux/hppa/ioctls_inc0.h \
+ linux/hppa/raw_syscall.h \
linux/hppa/rt_sigframe.h \
linux/hppa/set_error.c \
linux/hppa/set_scno.c \
@@ -1428,6 +1462,7 @@ EXTRA_DIST = \
linux/i386/get_syscall_args.c \
linux/i386/ioctls_arch0.h \
linux/i386/ioctls_inc0.h \
+ linux/i386/raw_syscall.h \
linux/i386/rt_sigframe.h \
linux/i386/set_error.c \
linux/i386/set_scno.c \
@@ -1444,6 +1479,7 @@ EXTRA_DIST = \
linux/ia64/get_syscall_args.c \
linux/ia64/ioctls_arch0.h \
linux/ia64/ioctls_inc0.h \
+ linux/ia64/raw_syscall.h \
linux/ia64/rt_sigframe.h \
linux/ia64/set_error.c \
linux/ia64/set_scno.c \
@@ -1460,6 +1496,7 @@ EXTRA_DIST = \
linux/m68k/get_syscall_args.c \
linux/m68k/ioctls_arch0.h \
linux/m68k/ioctls_inc0.h \
+ linux/m68k/raw_syscall.h \
linux/m68k/rt_sigframe.h \
linux/m68k/set_error.c \
linux/m68k/set_scno.c \
@@ -1473,6 +1510,7 @@ EXTRA_DIST = \
linux/metag/get_syscall_args.c \
linux/metag/ioctls_arch0.h \
linux/metag/ioctls_inc0.h \
+ linux/metag/raw_syscall.h \
linux/metag/set_error.c \
linux/metag/set_scno.c \
linux/metag/syscallent.h \
@@ -1486,6 +1524,7 @@ EXTRA_DIST = \
linux/microblaze/get_syscall_result.c \
linux/microblaze/ioctls_arch0.h \
linux/microblaze/ioctls_inc0.h \
+ linux/microblaze/raw_syscall.h \
linux/microblaze/set_error.c \
linux/microblaze/set_scno.c \
linux/microblaze/syscallent.h \
@@ -1503,6 +1542,7 @@ EXTRA_DIST = \
linux/mips/get_syscall_args.c \
linux/mips/ioctls_arch0.h \
linux/mips/ioctls_inc0.h \
+ linux/mips/raw_syscall.h \
linux/mips/rt_sigframe.h \
linux/mips/set_error.c \
linux/mips/set_scno.c \
@@ -1523,6 +1563,7 @@ EXTRA_DIST = \
linux/nios2/get_syscall_args.c \
linux/nios2/ioctls_arch0.h \
linux/nios2/ioctls_inc0.h \
+ linux/nios2/raw_syscall.h \
linux/nios2/set_error.c \
linux/nios2/set_scno.c \
linux/nios2/syscallent.h \
@@ -1535,6 +1576,7 @@ EXTRA_DIST = \
linux/or1k/get_syscall_args.c \
linux/or1k/ioctls_arch0.h \
linux/or1k/ioctls_inc0.h \
+ linux/or1k/raw_syscall.h \
linux/or1k/set_error.c \
linux/or1k/set_scno.c \
linux/or1k/syscallent.h \
@@ -1553,6 +1595,7 @@ EXTRA_DIST = \
linux/powerpc/getregs_old.h \
linux/powerpc/ioctls_arch0.h \
linux/powerpc/ioctls_inc0.h \
+ linux/powerpc/raw_syscall.h \
linux/powerpc/set_error.c \
linux/powerpc/set_scno.c \
linux/powerpc/syscallent.h \
@@ -1573,6 +1616,7 @@ EXTRA_DIST = \
linux/powerpc64/ioctls_arch1.h \
linux/powerpc64/ioctls_inc0.h \
linux/powerpc64/ioctls_inc1.h \
+ linux/powerpc64/raw_syscall.h \
linux/powerpc64/rt_sigframe.h \
linux/powerpc64/set_error.c \
linux/powerpc64/set_scno.c \
@@ -1580,6 +1624,7 @@ EXTRA_DIST = \
linux/powerpc64/syscallent.h \
linux/powerpc64/syscallent1.h \
linux/powerpc64/userent.h \
+ linux/raw_syscall.h \
linux/riscv/arch_defs_.h \
linux/riscv/arch_regs.c \
linux/riscv/arch_regs.h \
@@ -1592,6 +1637,7 @@ EXTRA_DIST = \
linux/riscv/ioctls_arch1.h \
linux/riscv/ioctls_inc0.h \
linux/riscv/ioctls_inc1.h \
+ linux/riscv/raw_syscall.h \
linux/riscv/set_error.c \
linux/riscv/set_scno.c \
linux/riscv/signalent1.h \
@@ -1608,6 +1654,7 @@ EXTRA_DIST = \
linux/s390/get_syscall_args.c \
linux/s390/ioctls_arch0.h \
linux/s390/ioctls_inc0.h \
+ linux/s390/raw_syscall.h \
linux/s390/rt_sigframe.h \
linux/s390/set_error.c \
linux/s390/set_scno.c \
@@ -1628,6 +1675,7 @@ EXTRA_DIST = \
linux/s390x/ioctls_arch1.h \
linux/s390x/ioctls_inc0.h \
linux/s390x/ioctls_inc1.h \
+ linux/s390x/raw_syscall.h \
linux/s390x/rt_sigframe.h \
linux/s390x/set_error.c \
linux/s390x/set_scno.c \
@@ -1645,6 +1693,7 @@ EXTRA_DIST = \
linux/sh/get_syscall_result.c \
linux/sh/ioctls_arch0.h \
linux/sh/ioctls_inc0.h \
+ linux/sh/raw_syscall.h \
linux/sh/set_error.c \
linux/sh/set_scno.c \
linux/sh/syscallent.h \
@@ -1660,6 +1709,7 @@ EXTRA_DIST = \
linux/sh64/get_syscall_result.c \
linux/sh64/ioctls_arch0.h \
linux/sh64/ioctls_inc0.h \
+ linux/sh64/raw_syscall.h \
linux/sh64/rt_sigframe.h \
linux/sh64/set_error.c \
linux/sh64/set_scno.c \
@@ -1681,6 +1731,7 @@ EXTRA_DIST = \
linux/sparc/get_syscall_args.c \
linux/sparc/ioctls_arch0.h \
linux/sparc/ioctls_inc0.h \
+ linux/sparc/raw_syscall.h \
linux/sparc/rt_sigframe.h \
linux/sparc/set_error.c \
linux/sparc/set_scno.c \
@@ -1702,6 +1753,7 @@ EXTRA_DIST = \
linux/sparc64/ioctls_arch1.h \
linux/sparc64/ioctls_inc0.h \
linux/sparc64/ioctls_inc1.h \
+ linux/sparc64/raw_syscall.h \
linux/sparc64/rt_sigframe.h \
linux/sparc64/set_error.c \
linux/sparc64/set_scno.c \
@@ -1725,6 +1777,7 @@ EXTRA_DIST = \
linux/tile/ioctls_arch1.h \
linux/tile/ioctls_inc0.h \
linux/tile/ioctls_inc1.h \
+ linux/tile/raw_syscall.h \
linux/tile/rt_sigframe.h \
linux/tile/set_error.c \
linux/tile/set_scno.c \
@@ -1749,6 +1802,7 @@ EXTRA_DIST = \
linux/x32/ioctls_arch1.h \
linux/x32/ioctls_inc0.h \
linux/x32/ioctls_inc1.h \
+ linux/x32/raw_syscall.h \
linux/x32/rt_sigframe.h \
linux/x32/set_error.c \
linux/x32/set_scno.c \
@@ -1776,6 +1830,7 @@ EXTRA_DIST = \
linux/x86_64/ioctls_inc0.h \
linux/x86_64/ioctls_inc1.h \
linux/x86_64/ioctls_inc2.h \
+ linux/x86_64/raw_syscall.h \
linux/x86_64/rt_sigframe.h \
linux/x86_64/set_error.c \
linux/x86_64/set_scno.c \
@@ -1794,6 +1849,7 @@ EXTRA_DIST = \
linux/xtensa/get_syscall_result.c \
linux/xtensa/ioctls_arch0.h \
linux/xtensa/ioctls_inc0.h \
+ linux/xtensa/raw_syscall.h \
linux/xtensa/set_error.c \
linux/xtensa/set_scno.c \
linux/xtensa/syscallent.h \
@@ -1814,6 +1870,7 @@ EXTRA_DIST = \
strace_SOURCES_c = \
$(filter %.c,$(strace_SOURCES)) $(filter %.c,$(libstrace_a_SOURCES))
+sys_func_h_sources = $(filter-out $(strace_SOURCES_check),$(strace_SOURCES_c))
syscallent_names = subcall.h syscallent.h syscallent1.h \
syscallent-n32.h syscallent-n64.h syscallent-o32.h
@@ -1831,13 +1888,14 @@ 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)))
-BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) native_printer_decls.h \
- native_printer_defs.h printers.h sen.h sys_func.h .version \
- scno.h $(am__append_10) $(am__append_14)
+BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) bpf_attr_check.c \
+ native_printer_decls.h native_printer_defs.h printers.h sen.h \
+ sys_func.h .version scno.h $(am__append_10) $(am__append_14)
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 syscallent.i \
- scno.h $(am__append_11) $(am__append_15)
+ ioctl_iocdef.h ioctl_iocdef.i bpf_attr_check.c \
+ native_printer_decls.h native_printer_defs.h printers.h sen.h \
+ sys_func.h syscallent.i scno.h $(am__append_11) \
+ $(am__append_15)
DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h
SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
@@ -1847,7 +1905,7 @@ 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
# Generated by ./generate_mpers_am.sh; do not edit.
-mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_bpf_fprog.c fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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_group_req.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
+mpers_source_files = block.c btrfs.c dirent.c evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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_group_req.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
# defines mpers_source_files
srcdir_mpers_source_files = $(patsubst %,$(srcdir)/%,$(mpers_source_files))
@@ -2042,7 +2100,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-block.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-btrfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-dirent.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-evdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-evdev_mpers.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-fetch_struct_flock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-fetch_struct_keyctl_kdf_params.Po@am__quote@
@@ -2080,7 +2138,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-block.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-btrfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-dirent.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-evdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-evdev_mpers.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-fetch_struct_flock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-fetch_struct_keyctl_kdf_params.Po@am__quote@
@@ -2137,6 +2195,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-bjm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-block.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-bpf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-bpf_attr_check.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-bpf_filter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-bpf_seccomp_filter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-bpf_sock_filter.Po@am__quote@
@@ -2148,6 +2207,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-clone.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-copy_file_range.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-count.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-delay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-desc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-dirent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-dirent64.Po@am__quote@
@@ -2156,6 +2216,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-epoll.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-error_prints.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-evdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-evdev_mpers.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-eventfd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-execve.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-fadvise.Po@am__quote@
@@ -2208,6 +2269,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-membarrier.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-memfd_create.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mknod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mmap_cache.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mmsghdr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mount.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mq.Po@am__quote@
@@ -2217,6 +2279,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_crypto.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_inet_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_netfilter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_netlink_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_packet_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_route.Po@am__quote@
@@ -2262,6 +2325,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-reboot.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-renameat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-resource.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-retval.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-riscv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-rt_sigframe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-rt_sigreturn.Po@am__quote@
@@ -2293,6 +2357,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sockaddr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-socketutils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sparc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sram_alloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-stat64.Po@am__quote@
@@ -2317,6 +2382,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-umask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-umount.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-uname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-unwind-libunwind.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-unwind.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-userfaultfd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-ustat.Po@am__quote@
@@ -2385,19 +2451,19 @@ libmpers_m32_a-dirent.obj: dirent.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
-libmpers_m32_a-evdev.o: evdev.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-evdev.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-evdev.Tpo -c -o libmpers_m32_a-evdev.o `test -f 'evdev.c' || echo '$(srcdir)/'`evdev.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-evdev.Tpo $(DEPDIR)/libmpers_m32_a-evdev.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev.c' object='libmpers_m32_a-evdev.o' libtool=no @AMDEPBACKSLASH@
+libmpers_m32_a-evdev_mpers.o: evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-evdev_mpers.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo -c -o libmpers_m32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_m32_a-evdev_mpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev_mpers.c' object='libmpers_m32_a-evdev_mpers.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) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-evdev.o `test -f 'evdev.c' || echo '$(srcdir)/'`evdev.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
-libmpers_m32_a-evdev.obj: evdev.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-evdev.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-evdev.Tpo -c -o libmpers_m32_a-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-evdev.Tpo $(DEPDIR)/libmpers_m32_a-evdev.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev.c' object='libmpers_m32_a-evdev.obj' libtool=no @AMDEPBACKSLASH@
+libmpers_m32_a-evdev_mpers.obj: evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-evdev_mpers.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo -c -o libmpers_m32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_m32_a-evdev_mpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev_mpers.c' object='libmpers_m32_a-evdev_mpers.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) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
libmpers_m32_a-fetch_bpf_fprog.o: fetch_bpf_fprog.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-fetch_bpf_fprog.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-fetch_bpf_fprog.Tpo -c -o libmpers_m32_a-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
@@ -2917,19 +2983,19 @@ libmpers_mx32_a-dirent.obj: dirent.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-dirent.obj `if test -f 'dirent.c'; then $(CYGPATH_W) 'dirent.c'; else $(CYGPATH_W) '$(srcdir)/dirent.c'; fi`
-libmpers_mx32_a-evdev.o: evdev.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-evdev.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-evdev.Tpo -c -o libmpers_mx32_a-evdev.o `test -f 'evdev.c' || echo '$(srcdir)/'`evdev.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-evdev.Tpo $(DEPDIR)/libmpers_mx32_a-evdev.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev.c' object='libmpers_mx32_a-evdev.o' libtool=no @AMDEPBACKSLASH@
+libmpers_mx32_a-evdev_mpers.o: evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-evdev_mpers.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo -c -o libmpers_mx32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev_mpers.c' object='libmpers_mx32_a-evdev_mpers.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) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-evdev.o `test -f 'evdev.c' || echo '$(srcdir)/'`evdev.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
-libmpers_mx32_a-evdev.obj: evdev.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-evdev.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-evdev.Tpo -c -o libmpers_mx32_a-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-evdev.Tpo $(DEPDIR)/libmpers_mx32_a-evdev.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev.c' object='libmpers_mx32_a-evdev.obj' libtool=no @AMDEPBACKSLASH@
+libmpers_mx32_a-evdev_mpers.obj: evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-evdev_mpers.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo -c -o libmpers_mx32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Tpo $(DEPDIR)/libmpers_mx32_a-evdev_mpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev_mpers.c' object='libmpers_mx32_a-evdev_mpers.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) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
libmpers_mx32_a-fetch_bpf_fprog.o: fetch_bpf_fprog.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-fetch_bpf_fprog.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-fetch_bpf_fprog.Tpo -c -o libmpers_mx32_a-fetch_bpf_fprog.o `test -f 'fetch_bpf_fprog.c' || echo '$(srcdir)/'`fetch_bpf_fprog.c
@@ -3869,6 +3935,20 @@ strace-count.obj: count.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-count.obj `if test -f 'count.c'; then $(CYGPATH_W) 'count.c'; else $(CYGPATH_W) '$(srcdir)/count.c'; fi`
+strace-delay.o: delay.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-delay.o -MD -MP -MF $(DEPDIR)/strace-delay.Tpo -c -o strace-delay.o `test -f 'delay.c' || echo '$(srcdir)/'`delay.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-delay.Tpo $(DEPDIR)/strace-delay.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='delay.c' object='strace-delay.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-delay.o `test -f 'delay.c' || echo '$(srcdir)/'`delay.c
+
+strace-delay.obj: delay.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-delay.obj -MD -MP -MF $(DEPDIR)/strace-delay.Tpo -c -o strace-delay.obj `if test -f 'delay.c'; then $(CYGPATH_W) 'delay.c'; else $(CYGPATH_W) '$(srcdir)/delay.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-delay.Tpo $(DEPDIR)/strace-delay.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='delay.c' object='strace-delay.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-delay.obj `if test -f 'delay.c'; then $(CYGPATH_W) 'delay.c'; else $(CYGPATH_W) '$(srcdir)/delay.c'; fi`
+
strace-desc.o: desc.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-desc.o -MD -MP -MF $(DEPDIR)/strace-desc.Tpo -c -o strace-desc.o `test -f 'desc.c' || echo '$(srcdir)/'`desc.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-desc.Tpo $(DEPDIR)/strace-desc.Po
@@ -3981,6 +4061,20 @@ strace-evdev.obj: evdev.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-evdev.obj `if test -f 'evdev.c'; then $(CYGPATH_W) 'evdev.c'; else $(CYGPATH_W) '$(srcdir)/evdev.c'; fi`
+strace-evdev_mpers.o: evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-evdev_mpers.o -MD -MP -MF $(DEPDIR)/strace-evdev_mpers.Tpo -c -o strace-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-evdev_mpers.Tpo $(DEPDIR)/strace-evdev_mpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev_mpers.c' object='strace-evdev_mpers.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-evdev_mpers.o `test -f 'evdev_mpers.c' || echo '$(srcdir)/'`evdev_mpers.c
+
+strace-evdev_mpers.obj: evdev_mpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-evdev_mpers.obj -MD -MP -MF $(DEPDIR)/strace-evdev_mpers.Tpo -c -o strace-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-evdev_mpers.Tpo $(DEPDIR)/strace-evdev_mpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='evdev_mpers.c' object='strace-evdev_mpers.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-evdev_mpers.obj `if test -f 'evdev_mpers.c'; then $(CYGPATH_W) 'evdev_mpers.c'; else $(CYGPATH_W) '$(srcdir)/evdev_mpers.c'; fi`
+
strace-eventfd.o: eventfd.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-eventfd.o -MD -MP -MF $(DEPDIR)/strace-eventfd.Tpo -c -o strace-eventfd.o `test -f 'eventfd.c' || echo '$(srcdir)/'`eventfd.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-eventfd.Tpo $(DEPDIR)/strace-eventfd.Po
@@ -4709,6 +4803,20 @@ strace-mknod.obj: mknod.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-mknod.obj `if test -f 'mknod.c'; then $(CYGPATH_W) 'mknod.c'; else $(CYGPATH_W) '$(srcdir)/mknod.c'; fi`
+strace-mmap_cache.o: mmap_cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_cache.o -MD -MP -MF $(DEPDIR)/strace-mmap_cache.Tpo -c -o strace-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_cache.Tpo $(DEPDIR)/strace-mmap_cache.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap_cache.c' object='strace-mmap_cache.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-mmap_cache.o `test -f 'mmap_cache.c' || echo '$(srcdir)/'`mmap_cache.c
+
+strace-mmap_cache.obj: mmap_cache.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmap_cache.obj -MD -MP -MF $(DEPDIR)/strace-mmap_cache.Tpo -c -o strace-mmap_cache.obj `if test -f 'mmap_cache.c'; then $(CYGPATH_W) 'mmap_cache.c'; else $(CYGPATH_W) '$(srcdir)/mmap_cache.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmap_cache.Tpo $(DEPDIR)/strace-mmap_cache.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmap_cache.c' object='strace-mmap_cache.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-mmap_cache.obj `if test -f 'mmap_cache.c'; then $(CYGPATH_W) 'mmap_cache.c'; else $(CYGPATH_W) '$(srcdir)/mmap_cache.c'; fi`
+
strace-mmsghdr.o: mmsghdr.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-mmsghdr.o -MD -MP -MF $(DEPDIR)/strace-mmsghdr.Tpo -c -o strace-mmsghdr.o `test -f 'mmsghdr.c' || echo '$(srcdir)/'`mmsghdr.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-mmsghdr.Tpo $(DEPDIR)/strace-mmsghdr.Po
@@ -4835,6 +4943,20 @@ strace-netlink_inet_diag.obj: netlink_inet_diag.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_inet_diag.obj `if test -f 'netlink_inet_diag.c'; then $(CYGPATH_W) 'netlink_inet_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_inet_diag.c'; fi`
+strace-netlink_netfilter.o: netlink_netfilter.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netfilter.o -MD -MP -MF $(DEPDIR)/strace-netlink_netfilter.Tpo -c -o strace-netlink_netfilter.o `test -f 'netlink_netfilter.c' || echo '$(srcdir)/'`netlink_netfilter.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netfilter.Tpo $(DEPDIR)/strace-netlink_netfilter.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='netlink_netfilter.c' object='strace-netlink_netfilter.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_netfilter.o `test -f 'netlink_netfilter.c' || echo '$(srcdir)/'`netlink_netfilter.c
+
+strace-netlink_netfilter.obj: netlink_netfilter.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netfilter.obj -MD -MP -MF $(DEPDIR)/strace-netlink_netfilter.Tpo -c -o strace-netlink_netfilter.obj `if test -f 'netlink_netfilter.c'; then $(CYGPATH_W) 'netlink_netfilter.c'; else $(CYGPATH_W) '$(srcdir)/netlink_netfilter.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netfilter.Tpo $(DEPDIR)/strace-netlink_netfilter.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='netlink_netfilter.c' object='strace-netlink_netfilter.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_netfilter.obj `if test -f 'netlink_netfilter.c'; then $(CYGPATH_W) 'netlink_netfilter.c'; else $(CYGPATH_W) '$(srcdir)/netlink_netfilter.c'; fi`
+
strace-netlink_netlink_diag.o: netlink_netlink_diag.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_netlink_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_netlink_diag.Tpo -c -o strace-netlink_netlink_diag.o `test -f 'netlink_netlink_diag.c' || echo '$(srcdir)/'`netlink_netlink_diag.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_netlink_diag.Tpo $(DEPDIR)/strace-netlink_netlink_diag.Po
@@ -5465,6 +5587,20 @@ strace-resource.obj: resource.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-resource.obj `if test -f 'resource.c'; then $(CYGPATH_W) 'resource.c'; else $(CYGPATH_W) '$(srcdir)/resource.c'; fi`
+strace-retval.o: retval.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-retval.o -MD -MP -MF $(DEPDIR)/strace-retval.Tpo -c -o strace-retval.o `test -f 'retval.c' || echo '$(srcdir)/'`retval.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-retval.Tpo $(DEPDIR)/strace-retval.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='retval.c' object='strace-retval.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-retval.o `test -f 'retval.c' || echo '$(srcdir)/'`retval.c
+
+strace-retval.obj: retval.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-retval.obj -MD -MP -MF $(DEPDIR)/strace-retval.Tpo -c -o strace-retval.obj `if test -f 'retval.c'; then $(CYGPATH_W) 'retval.c'; else $(CYGPATH_W) '$(srcdir)/retval.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-retval.Tpo $(DEPDIR)/strace-retval.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='retval.c' object='strace-retval.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-retval.obj `if test -f 'retval.c'; then $(CYGPATH_W) 'retval.c'; else $(CYGPATH_W) '$(srcdir)/retval.c'; fi`
+
strace-riscv.o: riscv.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-riscv.o -MD -MP -MF $(DEPDIR)/strace-riscv.Tpo -c -o strace-riscv.o `test -f 'riscv.c' || echo '$(srcdir)/'`riscv.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-riscv.Tpo $(DEPDIR)/strace-riscv.Po
@@ -5899,6 +6035,20 @@ strace-socketutils.obj: socketutils.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-socketutils.obj `if test -f 'socketutils.c'; then $(CYGPATH_W) 'socketutils.c'; else $(CYGPATH_W) '$(srcdir)/socketutils.c'; fi`
+strace-sparc.o: sparc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sparc.o -MD -MP -MF $(DEPDIR)/strace-sparc.Tpo -c -o strace-sparc.o `test -f 'sparc.c' || echo '$(srcdir)/'`sparc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sparc.Tpo $(DEPDIR)/strace-sparc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sparc.c' object='strace-sparc.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-sparc.o `test -f 'sparc.c' || echo '$(srcdir)/'`sparc.c
+
+strace-sparc.obj: sparc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sparc.obj -MD -MP -MF $(DEPDIR)/strace-sparc.Tpo -c -o strace-sparc.obj `if test -f 'sparc.c'; then $(CYGPATH_W) 'sparc.c'; else $(CYGPATH_W) '$(srcdir)/sparc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sparc.Tpo $(DEPDIR)/strace-sparc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sparc.c' object='strace-sparc.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-sparc.obj `if test -f 'sparc.c'; then $(CYGPATH_W) 'sparc.c'; else $(CYGPATH_W) '$(srcdir)/sparc.c'; fi`
+
strace-sram_alloc.o: sram_alloc.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sram_alloc.o -MD -MP -MF $(DEPDIR)/strace-sram_alloc.Tpo -c -o strace-sram_alloc.o `test -f 'sram_alloc.c' || echo '$(srcdir)/'`sram_alloc.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-sram_alloc.Tpo $(DEPDIR)/strace-sram_alloc.Po
@@ -6375,6 +6525,20 @@ strace-xmalloc.obj: xmalloc.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-xmalloc.obj `if test -f 'xmalloc.c'; then $(CYGPATH_W) 'xmalloc.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc.c'; fi`
+strace-bpf_attr_check.o: bpf_attr_check.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_attr_check.o -MD -MP -MF $(DEPDIR)/strace-bpf_attr_check.Tpo -c -o strace-bpf_attr_check.o `test -f 'bpf_attr_check.c' || echo '$(srcdir)/'`bpf_attr_check.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_attr_check.Tpo $(DEPDIR)/strace-bpf_attr_check.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bpf_attr_check.c' object='strace-bpf_attr_check.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-bpf_attr_check.o `test -f 'bpf_attr_check.c' || echo '$(srcdir)/'`bpf_attr_check.c
+
+strace-bpf_attr_check.obj: bpf_attr_check.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-bpf_attr_check.obj -MD -MP -MF $(DEPDIR)/strace-bpf_attr_check.Tpo -c -o strace-bpf_attr_check.obj `if test -f 'bpf_attr_check.c'; then $(CYGPATH_W) 'bpf_attr_check.c'; else $(CYGPATH_W) '$(srcdir)/bpf_attr_check.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-bpf_attr_check.Tpo $(DEPDIR)/strace-bpf_attr_check.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bpf_attr_check.c' object='strace-bpf_attr_check.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-bpf_attr_check.obj `if test -f 'bpf_attr_check.c'; then $(CYGPATH_W) 'bpf_attr_check.c'; else $(CYGPATH_W) '$(srcdir)/bpf_attr_check.c'; fi`
+
strace-unwind.o: unwind.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind.o -MD -MP -MF $(DEPDIR)/strace-unwind.Tpo -c -o strace-unwind.o `test -f 'unwind.c' || echo '$(srcdir)/'`unwind.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind.Tpo $(DEPDIR)/strace-unwind.Po
@@ -6388,6 +6552,20 @@ strace-unwind.obj: unwind.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unwind.c' object='strace-unwind.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-unwind.obj `if test -f 'unwind.c'; then $(CYGPATH_W) 'unwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind.c'; fi`
+
+strace-unwind-libunwind.o: unwind-libunwind.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libunwind.o -MD -MP -MF $(DEPDIR)/strace-unwind-libunwind.Tpo -c -o strace-unwind-libunwind.o `test -f 'unwind-libunwind.c' || echo '$(srcdir)/'`unwind-libunwind.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libunwind.Tpo $(DEPDIR)/strace-unwind-libunwind.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unwind-libunwind.c' object='strace-unwind-libunwind.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-unwind-libunwind.o `test -f 'unwind-libunwind.c' || echo '$(srcdir)/'`unwind-libunwind.c
+
+strace-unwind-libunwind.obj: unwind-libunwind.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-unwind-libunwind.obj -MD -MP -MF $(DEPDIR)/strace-unwind-libunwind.Tpo -c -o strace-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-unwind-libunwind.Tpo $(DEPDIR)/strace-unwind-libunwind.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unwind-libunwind.c' object='strace-unwind-libunwind.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-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi`
install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
@list1=''; \
@@ -6943,6 +7121,8 @@ $(top_srcdir)/xlat/bpf_class.h: $(top_srcdir)/xlat/bpf_class.in $(top_srcdir)/xl
$(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_file_mode_flags.h: $(top_srcdir)/xlat/bpf_file_mode_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/bpf_map_flags.h: $(top_srcdir)/xlat/bpf_map_flags.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
@@ -7005,6 +7185,8 @@ $(top_srcdir)/xlat/btrfs_features_incompat.h: $(top_srcdir)/xlat/btrfs_features_
$(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_logical_ino_args_flags.h: $(top_srcdir)/xlat/btrfs_logical_ino_args_flags.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
@@ -7271,6 +7453,8 @@ $(top_srcdir)/xlat/neighbor_cache_entry_flags.h: $(top_srcdir)/xlat/neighbor_cac
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/neighbor_cache_entry_states.h: $(top_srcdir)/xlat/neighbor_cache_entry_states.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netfilter_versions.h: $(top_srcdir)/xlat/netfilter_versions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_ack_flags.h: $(top_srcdir)/xlat/netlink_ack_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_delete_flags.h: $(top_srcdir)/xlat/netlink_delete_flags.in $(top_srcdir)/xlat/gen.sh
@@ -7393,6 +7577,8 @@ $(top_srcdir)/xlat/pr_mce_kill_policy.h: $(top_srcdir)/xlat/pr_mce_kill_policy.i
$(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_sve_vl_flags.h: $(top_srcdir)/xlat/pr_sve_vl_flags.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
@@ -7445,6 +7631,8 @@ $(top_srcdir)/xlat/rtnl_dcb_attrs.h: $(top_srcdir)/xlat/rtnl_dcb_attrs.in $(top_
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/rtnl_ifla_brport_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_brport_attrs.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_events.h: $(top_srcdir)/xlat/rtnl_ifla_events.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/rtnl_ifla_info_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_attrs.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/rtnl_ifla_port_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_port_attrs.in $(top_srcdir)/xlat/gen.sh
@@ -7613,6 +7801,8 @@ $(top_srcdir)/xlat/socktcpoptions.h: $(top_srcdir)/xlat/socktcpoptions.in $(top_
$(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/sparc_kern_features.h: $(top_srcdir)/xlat/sparc_kern_features.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
@@ -7721,6 +7911,10 @@ $(top_srcdir)/xlat/v4l2_input_types.h: $(top_srcdir)/xlat/v4l2_input_types.in $(
$(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_pix_fmts.h: $(top_srcdir)/xlat/v4l2_pix_fmts.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_sdr_fmts.h: $(top_srcdir)/xlat/v4l2_sdr_fmts.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
@@ -7762,7 +7956,10 @@ srpm: dist-xz
$(srcdir)/.version:
$(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
-sys_func.h: $(patsubst %,$(srcdir)/%,$(strace_SOURCES_c))
+bpf_attr_check.c: $(srcdir)/bpf_attr.h $(srcdir)/gen_bpf_attr_check.sh
+ $(srcdir)/gen_bpf_attr_check.sh $< > $@-t && mv $@-t $@
+
+sys_func.h: $(patsubst %,$(srcdir)/%,$(sys_func_h_sources))
for f in $^; do \
sed -n 's/^SYS_FUNC(.*/extern &;/p' $$f; \
done | sort -u > $@
diff --git a/NEWS b/NEWS
index 868e30cc..f1035c7c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,56 @@
+Noteworthy changes in release 4.22 (2018-04-05)
+===============================================
+
+* Changes in infrastructure
+ * The mailing list was moved to strace-devel@lists.strace.io.
+ * SourceForge git repository
+ (https://sourceforge.net/p/strace/code/ci/master/tree/) is no longer
+ maintained. Please use GitLab (https://gitlab.com/strace/strace/)
+ or GitHub (https://github.com/strace/strace/) repository instead.
+
+* Changes in behaviour
+ * When printing string data, '8' and '9' following an octal escape sequence
+ no longer lead to unabbreviated octal escape sequence output, as they used
+ to do.
+ * Angle brackets are now printed as octal number escape sequences
+ in the output of paths associated with file descriptors.
+ * Data dump for write syscalls (-e write) is performed regardless
+ of successfulness of these syscall (addresses Debian bug #436284).
+ * -r and -t options are now affect output independently. Previously,
+ -r option led to ignoring of the -t option (addresses Debian bug #466195).
+
+* Improvements
+ * Implemented delay injection (-e inject=SET:delay_enter= and
+ -e inject=SET:delay_exit= options).
+ * Added -A option for opening output files in append mode
+ (addresses Debian bug #528488).
+ * IPv6 addresses shown in socket information in -yy mode are now printed
+ in brackets.
+ * Enhanced decoding of bpf, prctl and ptrace syscalls.
+ * Enhanced decoding of BTRFS_IOC_INO_PATHS, BTRFS_IOC_LOGICAL_INO, and PTP_*
+ ioctl commands.
+ * Enhanced NETLINK_ROUTE protocol decoding.
+ * Updated lists of signal codes.
+ * Updated lists of BPF_*, BTN_*, ETH_P_*, INET_DIAG_BC_*, KEY_*, POLL*, RWF_*,
+ SCHED_FLAG_*, SCTP_* and error constants.
+ * Implemented block/character device number printing in -yy mode.
+ * Known pixel/SDR format names are printed as comments for pixelformat fields
+ in v4l2 structures.
+ * Enhanced decoding of kern_features syscall.
+ * Enhanced NETLINK_NETFILTER netlink protocol decoder.
+ * Optimized handling of large number of tracees.
+ * Improved wall clock time measurement in syscall count statistics
+ (-c -w option).
+ * Extended the range of allowed values in -e inject=...:retval= expression.
+ * Added i18n support.
+ * Updated lists of ioctl commands from Linux 4.16.
+ * Enhanced manual page.
+
+* Bug fixes
+ * Fixed build on m68k.
+ * Fixed v4l2 pixelformat decoding on big-endian architectures.
+ * Fixed -O option.
+
Noteworthy changes in release 4.21 (2018-02-13)
===============================================
diff --git a/README b/README
index bc701552..31e74326 100644
--- a/README
+++ b/README
@@ -1,7 +1,11 @@
-This is strace, a system call tracer for Linux.
+This is strace - a diagnostic, debugging and instructional userspace utility
+with a traditional command-line interface for Linux. It is used to monitor
+and tamper with interactions between processes and the Linux kernel, which
+include system calls, signal deliveries, and changes of process state.
+The operation of strace is made possible by the kernel feature known as ptrace.
strace is released under a Berkeley-style license at the request
-of Paul Kranenburg.
+of Paul Kranenburg; see the file COPYING for details.
See the file CREDITS for a list of authors and other contributors.
See the file INSTALL for compilation and installation instructions.
@@ -11,14 +15,14 @@ The project's homepage is at
https://strace.io
strace has a mailing list:
- strace-devel@lists.sourceforge.net.
+ strace-devel@lists.strace.io
System requirements:
* Linux kernel >= 2.6.18 is recommended. Older versions might still work
but they haven't been thoroughly tested with this release.
* Linux kernel >= 2.5.46 is required.
Older versions without a decent PTRACE_SETOPTIONS support will not work.
- * On mips, linux kernel >= 2.6.15 is required.
+ * On mips, Linux kernel >= 2.6.15 is required.
Older versions without a decent PTRACE_GETREGS support will not work.
- * On s390 and s390x, linux kernel >= 2.6.27 is required.
+ * On s390 and s390x, Linux kernel >= 2.6.27 is required.
Older versions without a decent PTRACE_GETREGSET support will not work.
diff --git a/aclocal.m4 b/aclocal.m4
index cca8cf2a..1d2ff002 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1203,6 +1203,7 @@ AC_SUBST([am__untar])
m4_include([m4/ax_code_coverage.m4])
m4_include([m4/ax_prog_cc_for_build.m4])
m4_include([m4/ax_valgrind_check.m4])
+m4_include([m4/bpf_attr.m4])
m4_include([m4/mpers.m4])
m4_include([m4/st_save_restore_var.m4])
m4_include([m4/st_warn_cflags.m4])
diff --git a/arch_defs.h b/arch_defs.h
index 8844151c..af2a06b6 100644
--- a/arch_defs.h
+++ b/arch_defs.h
@@ -1,4 +1,4 @@
-/* Aarch-specific definitions. */
+/* Architecture-specific definitions. */
#ifndef STRACE_ARCH_DEFS_H
#define STRACE_ARCH_DEFS_H
diff --git a/block.c b/block.c
index b402f683..5edb9b6f 100644
--- a/block.c
+++ b/block.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2009, 2010 Jeff Mahoney <jeffm@suse.com>
* Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2011-2017 The strace developers.
+ * Copyright (c) 2011-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -168,7 +168,7 @@ MPERS_PRINTER_DECL(int, block_ioctl, struct tcb *const tcp,
case BLKALIGNOFF:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
/* take a signed int */
case BLKROSET:
case BLKBSZSET:
diff --git a/bpf.c b/bpf.c
index 59d1e749..5b9071ea 100644
--- a/bpf.c
+++ b/bpf.c
@@ -1,6 +1,7 @@
/*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
* Copyright (c) 2017 Quentin Monnet <quentin.monnet@6wind.com>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,7 +34,10 @@
# include <linux/bpf.h>
#endif
+#include "bpf_attr.h"
+
#include "xlat/bpf_commands.h"
+#include "xlat/bpf_file_mode_flags.h"
#include "xlat/bpf_map_types.h"
#include "xlat/bpf_map_flags.h"
#include "xlat/bpf_prog_types.h"
@@ -50,14 +54,38 @@ bpf_cmd_decoder(struct tcb *const tcp, \
void *const data) \
/* End of DECL_BPF_CMD_DECODER definition. */
-#define DEF_BPF_CMD_DECODER(bpf_cmd) \
- static DECL_BPF_CMD_DECODER(decode_ ## bpf_cmd)
+#define BEGIN_BPF_CMD_DECODER(bpf_cmd) \
+ static DECL_BPF_CMD_DECODER(decode_ ## bpf_cmd) \
+ { \
+ struct bpf_cmd ## _struct attr = {}; \
+ const size_t attr_size = bpf_cmd ## _struct_size; \
+ const unsigned int len = MIN(size, attr_size); \
+ memcpy(&attr, data, len); \
+ do { \
+/* End of BEGIN_BPF_CMD_DECODER definition. */
+
+#define END_BPF_CMD_DECODER(rval) \
+ decode_attr_extra_data(tcp, data, size, attr_size); \
+ } while (0); \
+ tprints("}"); \
+ return (rval); \
+ } \
+/* End of END_BPF_CMD_DECODER definition. */
#define BPF_CMD_ENTRY(bpf_cmd) \
[bpf_cmd] = decode_ ## bpf_cmd
typedef DECL_BPF_CMD_DECODER((*bpf_cmd_decoder_t));
+/*
+ * A note about bpf syscall decoder: it doesn't perform any size sanity checks,
+ * so even if it leads to partial copying of one of the fields, the command
+ * handler will still use the (partially-copied-from-userspace, partially
+ * zeroed) field value. That's why we stop decoding and check for known sizes
+ * that correspond to released versions of the structure used by the specific
+ * command - it looks like the most sensible way to parse this insanity.
+ */
+
static int
decode_attr_extra_data(struct tcb *const tcp,
const char *data,
@@ -74,11 +102,14 @@ decode_attr_extra_data(struct tcb *const tcp,
for (i = 0; i < size; ++i) {
if (data[i]) {
tprints(", ");
- if (abbrev(tcp))
+ if (abbrev(tcp)) {
tprints("...");
- else
+ } else {
+ tprintf("/* bytes %zu..%zu */ ",
+ attr_size, attr_size + size - 1);
print_quoted_string(data, size,
QUOTE_FORCE_HEX);
+ }
return RVAL_DECODED;
}
}
@@ -86,16 +117,8 @@ decode_attr_extra_data(struct tcb *const tcp,
return 0;
}
-DEF_BPF_CMD_DECODER(BPF_MAP_CREATE)
+BEGIN_BPF_CMD_DECODER(BPF_MAP_CREATE)
{
- struct {
- uint32_t map_type, key_size, value_size, max_entries,
- map_flags, inner_map_fd, numa_node;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_XVAL("{", attr, map_type, bpf_map_types,
"BPF_MAP_TYPE_???");
PRINT_FIELD_U(", ", attr, key_size);
@@ -105,192 +128,112 @@ DEF_BPF_CMD_DECODER(BPF_MAP_CREATE)
PRINT_FIELD_FD(", ", attr, inner_map_fd, tcp);
if (attr.map_flags & BPF_F_NUMA_NODE)
PRINT_FIELD_U(", ", attr, numa_node);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED | RVAL_FD;
}
+END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD)
-DEF_BPF_CMD_DECODER(BPF_MAP_LOOKUP_ELEM)
+BEGIN_BPF_CMD_DECODER(BPF_MAP_LOOKUP_ELEM)
{
- struct bpf_io_elem_struct {
- uint32_t map_fd;
- uint64_t ATTRIBUTE_ALIGNED(8) key, value;
- } attr = {};
-
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{", attr, map_fd, tcp);
PRINT_FIELD_X(", ", attr, key);
PRINT_FIELD_X(", ", attr, value);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_MAP_UPDATE_ELEM)
+BEGIN_BPF_CMD_DECODER(BPF_MAP_UPDATE_ELEM)
{
- struct {
- uint32_t map_fd;
- uint64_t ATTRIBUTE_ALIGNED(8) key;
- uint64_t ATTRIBUTE_ALIGNED(8) value;
- uint64_t flags;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{", attr, map_fd, tcp);
PRINT_FIELD_X(", ", attr, key);
PRINT_FIELD_X(", ", attr, value);
PRINT_FIELD_XVAL(", ", attr, flags, bpf_map_update_elem_flags,
"BPF_???");
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_MAP_DELETE_ELEM)
+BEGIN_BPF_CMD_DECODER(BPF_MAP_DELETE_ELEM)
{
- struct {
- uint32_t map_fd;
- uint64_t ATTRIBUTE_ALIGNED(8) key;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{", attr, map_fd, tcp);
PRINT_FIELD_X(", ", attr, key);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_MAP_GET_NEXT_KEY)
+BEGIN_BPF_CMD_DECODER(BPF_MAP_GET_NEXT_KEY)
{
- struct bpf_io_elem_struct {
- uint32_t map_fd;
- uint64_t ATTRIBUTE_ALIGNED(8) key, next_key;
- } attr = {};
-
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{", attr, map_fd, tcp);
PRINT_FIELD_X(", ", attr, key);
PRINT_FIELD_X(", ", attr, next_key);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_PROG_LOAD)
+BEGIN_BPF_CMD_DECODER(BPF_PROG_LOAD)
{
- struct bpf_prog_load {
- uint32_t prog_type, insn_cnt;
- uint64_t ATTRIBUTE_ALIGNED(8) insns, license;
- uint32_t log_level, log_size;
- uint64_t ATTRIBUTE_ALIGNED(8) log_buf;
- uint32_t kern_version, prog_flags;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_XVAL("{", attr, prog_type, bpf_prog_types,
"BPF_PROG_TYPE_???");
PRINT_FIELD_U(", ", attr, insn_cnt);
PRINT_FIELD_X(", ", attr, insns);
- PRINT_FIELD_STR(", ", attr, license, tcp);
+
+ tprintf(", license=");
+ print_big_u64_addr(attr.license);
+ printstr(tcp, attr.license);
+
+ /* log_* fields were added in Linux commit v3.18-rc1~52^2~1^2~4. */
+ if (len <= offsetof(struct BPF_PROG_LOAD_struct, log_level))
+ break;
PRINT_FIELD_U(", ", attr, log_level);
PRINT_FIELD_U(", ", attr, log_size);
PRINT_FIELD_X(", ", attr, log_buf);
- PRINT_FIELD_U(", ", attr, kern_version);
- PRINT_FIELD_FLAGS(", ", attr, prog_flags, bpf_prog_flags, "BPF_F_???");
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
- return RVAL_DECODED | RVAL_FD;
+ /* kern_version field was added in Linux commit v4.1-rc1~84^2~50. */
+ if (len <= offsetof(struct BPF_PROG_LOAD_struct, kern_version))
+ break;
+ tprintf(", kern_version=KERNEL_VERSION(%u, %u, %u)",
+ attr.kern_version >> 16,
+ (attr.kern_version >> 8) & 0xFF,
+ attr.kern_version & 0xFF);
+
+ /* prog_flags field was added in Linux commit v4.12-rc2~34^2~29^2~2. */
+ if (len <= offsetof(struct BPF_PROG_LOAD_struct, prog_flags))
+ break;
+ PRINT_FIELD_FLAGS(", ", attr, prog_flags, bpf_prog_flags, "BPF_F_???");
}
+END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD)
-DEF_BPF_CMD_DECODER(BPF_OBJ_PIN)
+BEGIN_BPF_CMD_DECODER(BPF_OBJ_PIN)
{
- struct bpf_obj {
- uint64_t ATTRIBUTE_ALIGNED(8) pathname;
- uint32_t bpf_fd;
- } attr = {};
- const size_t attr_size =
- offsetofend(struct bpf_obj, bpf_fd);
- const unsigned int len = size < attr_size ? size : attr_size;
+ tprintf("{pathname=");
+ print_big_u64_addr(attr.pathname);
+ printpath(tcp, attr.pathname);
- memcpy(&attr, data, len);
-
- PRINT_FIELD_PATH("{", attr, pathname, tcp);
PRINT_FIELD_FD(", ", attr, bpf_fd, tcp);
- decode_attr_extra_data(tcp, data, size, attr_size);
- tprints("}");
+ if (len <= offsetofend(struct BPF_OBJ_PIN_struct, bpf_fd))
+ break;
- return RVAL_DECODED | RVAL_FD;
+ /* file_flags field was added in Linux v4.15-rc1~84^2~384^2~4 */
+ PRINT_FIELD_FLAGS(", ", attr, file_flags, bpf_file_mode_flags,
+ "BPF_F_???");
}
+END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD)
#define decode_BPF_OBJ_GET decode_BPF_OBJ_PIN
-DEF_BPF_CMD_DECODER(BPF_PROG_ATTACH)
+BEGIN_BPF_CMD_DECODER(BPF_PROG_ATTACH)
{
- struct {
- uint32_t target_fd, attach_bpf_fd, attach_type, attach_flags;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{", attr, target_fd, tcp);
PRINT_FIELD_FD(", ", attr, attach_bpf_fd, tcp);
PRINT_FIELD_XVAL(", ", attr, attach_type, bpf_attach_type, "BPF_???");
PRINT_FIELD_FLAGS(", ", attr, attach_flags, bpf_attach_flags,
"BPF_F_???");
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_PROG_DETACH)
+BEGIN_BPF_CMD_DECODER(BPF_PROG_DETACH)
{
- struct {
- uint32_t target_fd, dummy, attach_type;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{", attr, target_fd, tcp);
PRINT_FIELD_XVAL(", ", attr, attach_type, bpf_attach_type, "BPF_???");
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_PROG_TEST_RUN)
+BEGIN_BPF_CMD_DECODER(BPF_PROG_TEST_RUN)
{
- struct {
- uint32_t prog_fd, retval, data_size_in, data_size_out;
- uint64_t ATTRIBUTE_ALIGNED(8) data_in, data_out;
- uint32_t repeat, duration;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{test={", attr, prog_fd, tcp);
PRINT_FIELD_U(", ", attr, retval);
PRINT_FIELD_U(", ", attr, data_size_in);
@@ -300,84 +243,58 @@ DEF_BPF_CMD_DECODER(BPF_PROG_TEST_RUN)
PRINT_FIELD_U(", ", attr, repeat);
PRINT_FIELD_U(", ", attr, duration);
tprints("}");
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED;
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_PROG_GET_NEXT_ID)
+BEGIN_BPF_CMD_DECODER(BPF_PROG_GET_NEXT_ID)
{
- struct {
- uint32_t start_id, next_id;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_U("{", attr, start_id);
PRINT_FIELD_U(", ", attr, next_id);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
+ if (len <= offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, next_id))
+ break;
- return RVAL_DECODED;
+ /* open_flags field has been added in Linux v4.15-rc1~84^2~384^2~4 */
+ PRINT_FIELD_FLAGS(", ", attr, open_flags, bpf_file_mode_flags,
+ "BPF_F_???");
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
#define decode_BPF_MAP_GET_NEXT_ID decode_BPF_PROG_GET_NEXT_ID
-DEF_BPF_CMD_DECODER(BPF_PROG_GET_FD_BY_ID)
+BEGIN_BPF_CMD_DECODER(BPF_PROG_GET_FD_BY_ID)
{
- struct {
- uint32_t prog_id, next_id;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_U("{", attr, prog_id);
PRINT_FIELD_U(", ", attr, next_id);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
+ if (len <= offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, next_id))
+ break;
- return RVAL_DECODED;
+ /* open_flags field has been added in Linux v4.15-rc1~84^2~384^2~4 */
+ PRINT_FIELD_FLAGS(", ", attr, open_flags, bpf_file_mode_flags,
+ "BPF_F_???");
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_MAP_GET_FD_BY_ID)
+BEGIN_BPF_CMD_DECODER(BPF_MAP_GET_FD_BY_ID)
{
- struct {
- uint32_t map_id, next_id;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_U("{", attr, map_id);
PRINT_FIELD_U(", ", attr, next_id);
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
+ if (len <= offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, next_id))
+ break;
- return RVAL_DECODED;
+ /* open_flags field has been added in Linux v4.15-rc1~84^2~384^2~4 */
+ PRINT_FIELD_FLAGS(", ", attr, open_flags, bpf_file_mode_flags,
+ "BPF_F_???");
}
+END_BPF_CMD_DECODER(RVAL_DECODED)
-DEF_BPF_CMD_DECODER(BPF_OBJ_GET_INFO_BY_FD)
+BEGIN_BPF_CMD_DECODER(BPF_OBJ_GET_INFO_BY_FD)
{
- struct {
- uint32_t bpf_fd, info_len;
- uint64_t ATTRIBUTE_ALIGNED(8) info;
- } attr = {};
- const unsigned int len = size < sizeof(attr) ? size : sizeof(attr);
-
- memcpy(&attr, data, len);
-
PRINT_FIELD_FD("{info={", attr, bpf_fd, tcp);
PRINT_FIELD_U(", ", attr, info_len);
PRINT_FIELD_X(", ", attr, info);
tprints("}");
- decode_attr_extra_data(tcp, data, size, sizeof(attr));
- tprints("}");
-
- return RVAL_DECODED | RVAL_FD;
}
+END_BPF_CMD_DECODER(RVAL_DECODED | RVAL_FD)
SYS_FUNC(bpf)
{
@@ -406,13 +323,10 @@ SYS_FUNC(bpf)
int rc;
if (entering(tcp)) {
- static size_t page_size;
static char *buf;
- if (!buf) {
- page_size = get_pagesize();
- buf = xmalloc(page_size);
- }
+ if (!buf)
+ buf = xmalloc(get_pagesize());
printxval(bpf_commands, cmd, "BPF_???");
tprints(", ");
diff --git a/bpf_attr.h b/bpf_attr.h
new file mode 100644
index 00000000..66496838
--- /dev/null
+++ b/bpf_attr.h
@@ -0,0 +1,193 @@
+/*
+ * Copyright (c) 2015-2018 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_BPF_ATTR_H
+#define STRACE_BPF_ATTR_H
+
+struct BPF_MAP_CREATE_struct {
+ uint32_t map_type;
+ uint32_t key_size;
+ uint32_t value_size;
+ uint32_t max_entries;
+ uint32_t map_flags;
+ uint32_t inner_map_fd;
+ uint32_t numa_node;
+};
+
+#define BPF_MAP_CREATE_struct_size \
+ sizeof(struct BPF_MAP_CREATE_struct)
+#define expected_BPF_MAP_CREATE_struct_size 28
+
+struct BPF_MAP_LOOKUP_ELEM_struct {
+ uint32_t map_fd;
+ uint64_t ATTRIBUTE_ALIGNED(8) key;
+ uint64_t ATTRIBUTE_ALIGNED(8) value;
+};
+
+#define BPF_MAP_LOOKUP_ELEM_struct_size \
+ sizeof(struct BPF_MAP_LOOKUP_ELEM_struct)
+#define expected_BPF_MAP_LOOKUP_ELEM_struct_size 24
+
+struct BPF_MAP_UPDATE_ELEM_struct {
+ uint32_t map_fd;
+ uint64_t ATTRIBUTE_ALIGNED(8) key;
+ uint64_t ATTRIBUTE_ALIGNED(8) value;
+ uint64_t flags;
+};
+
+#define BPF_MAP_UPDATE_ELEM_struct_size \
+ sizeof(struct BPF_MAP_UPDATE_ELEM_struct)
+#define expected_BPF_MAP_UPDATE_ELEM_struct_size 32
+
+struct BPF_MAP_DELETE_ELEM_struct {
+ uint32_t map_fd;
+ uint64_t ATTRIBUTE_ALIGNED(8) key;
+};
+
+#define BPF_MAP_DELETE_ELEM_struct_size \
+ sizeof(struct BPF_MAP_DELETE_ELEM_struct)
+#define expected_BPF_MAP_DELETE_ELEM_struct_size 16
+
+struct BPF_MAP_GET_NEXT_KEY_struct {
+ uint32_t map_fd;
+ uint64_t ATTRIBUTE_ALIGNED(8) key;
+ uint64_t ATTRIBUTE_ALIGNED(8) next_key;
+};
+
+#define BPF_MAP_GET_NEXT_KEY_struct_size \
+ sizeof(struct BPF_MAP_GET_NEXT_KEY_struct)
+#define expected_BPF_MAP_GET_NEXT_KEY_struct_size 24
+
+struct BPF_PROG_LOAD_struct {
+ uint32_t prog_type;
+ uint32_t insn_cnt;
+ uint64_t ATTRIBUTE_ALIGNED(8) insns;
+ uint64_t ATTRIBUTE_ALIGNED(8) license;
+ uint32_t log_level;
+ uint32_t log_size;
+ uint64_t ATTRIBUTE_ALIGNED(8) log_buf;
+ uint32_t kern_version;
+ uint32_t prog_flags;
+};
+
+#define BPF_PROG_LOAD_struct_size \
+ sizeof(struct BPF_PROG_LOAD_struct)
+#define expected_BPF_PROG_LOAD_struct_size 48
+
+struct BPF_OBJ_PIN_struct {
+ uint64_t ATTRIBUTE_ALIGNED(8) pathname;
+ uint32_t bpf_fd;
+ uint32_t file_flags;
+};
+
+#define BPF_OBJ_PIN_struct_size \
+ sizeof(struct BPF_OBJ_PIN_struct)
+#define expected_BPF_OBJ_PIN_struct_size 16
+
+#define BPF_OBJ_GET_struct BPF_OBJ_PIN_struct
+#define BPF_OBJ_GET_struct_size BPF_OBJ_PIN_struct_size
+
+struct BPF_PROG_ATTACH_struct {
+ uint32_t target_fd;
+ uint32_t attach_bpf_fd;
+ uint32_t attach_type;
+ uint32_t attach_flags;
+};
+
+#define BPF_PROG_ATTACH_struct_size \
+ sizeof(struct BPF_PROG_ATTACH_struct)
+#define expected_BPF_PROG_ATTACH_struct_size 16
+
+struct BPF_PROG_DETACH_struct {
+ uint32_t target_fd;
+ uint32_t dummy;
+ uint32_t attach_type;
+};
+
+#define BPF_PROG_DETACH_struct_size \
+ sizeof(struct BPF_PROG_DETACH_struct)
+#define expected_BPF_PROG_DETACH_struct_size 12
+
+struct BPF_PROG_TEST_RUN_struct /* test */ {
+ uint32_t prog_fd;
+ uint32_t retval;
+ uint32_t data_size_in;
+ uint32_t data_size_out;
+ uint64_t ATTRIBUTE_ALIGNED(8) data_in;
+ uint64_t ATTRIBUTE_ALIGNED(8) data_out;
+ uint32_t repeat;
+ uint32_t duration;
+};
+
+#define BPF_PROG_TEST_RUN_struct_size \
+ sizeof(struct BPF_PROG_TEST_RUN_struct)
+#define expected_BPF_PROG_TEST_RUN_struct_size 40
+
+struct BPF_PROG_GET_NEXT_ID_struct {
+ uint32_t start_id;
+ uint32_t next_id;
+ uint32_t open_flags;
+};
+
+#define BPF_PROG_GET_NEXT_ID_struct_size \
+ sizeof(struct BPF_PROG_GET_NEXT_ID_struct)
+#define expected_BPF_PROG_GET_NEXT_ID_struct_size 12
+
+#define BPF_MAP_GET_NEXT_ID_struct BPF_PROG_GET_NEXT_ID_struct
+#define BPF_MAP_GET_NEXT_ID_struct_size BPF_PROG_GET_NEXT_ID_struct_size
+
+struct BPF_PROG_GET_FD_BY_ID_struct {
+ uint32_t prog_id;
+ uint32_t next_id;
+ uint32_t open_flags;
+};
+
+#define BPF_PROG_GET_FD_BY_ID_struct_size \
+ sizeof(struct BPF_PROG_GET_FD_BY_ID_struct)
+#define expected_BPF_PROG_GET_FD_BY_ID_struct_size 12
+
+struct BPF_MAP_GET_FD_BY_ID_struct {
+ uint32_t map_id;
+ uint32_t next_id;
+ uint32_t open_flags;
+};
+
+#define BPF_MAP_GET_FD_BY_ID_struct_size \
+ sizeof(struct BPF_MAP_GET_FD_BY_ID_struct)
+#define expected_BPF_MAP_GET_FD_BY_ID_struct_size 12
+
+struct BPF_OBJ_GET_INFO_BY_FD_struct /* info */ {
+ uint32_t bpf_fd;
+ uint32_t info_len;
+ uint64_t ATTRIBUTE_ALIGNED(8) info;
+};
+
+#define BPF_OBJ_GET_INFO_BY_FD_struct_size \
+ sizeof(struct BPF_OBJ_GET_INFO_BY_FD_struct)
+#define expected_BPF_OBJ_GET_INFO_BY_FD_struct_size 16
+
+#endif /* !STRACE_BPF_ATTR_H */
diff --git a/bpf_attr_check.c b/bpf_attr_check.c
new file mode 100644
index 00000000..ea0d66d4
--- /dev/null
+++ b/bpf_attr_check.c
@@ -0,0 +1,458 @@
+/* Generated by ./gen_bpf_attr_check.sh from bpf_attr.h; do not edit. */
+#include "defs.h"
+#ifdef HAVE_LINUX_BPF_H
+# include <linux/bpf.h>
+# include "bpf_attr.h"
+# include "static_assert.h"
+
+# define SoM(type_, member_) (sizeof(((type_ *)0)->member_))
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_TYPE
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, map_type) == SoM(union bpf_attr, map_type),
+ "BPF_MAP_CREATE_struct.map_type size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, map_type) == offsetof(union bpf_attr, map_type),
+ "BPF_MAP_CREATE_struct.map_type offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_TYPE */
+
+# ifdef HAVE_UNION_BPF_ATTR_KEY_SIZE
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, key_size) == SoM(union bpf_attr, key_size),
+ "BPF_MAP_CREATE_struct.key_size size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, key_size) == offsetof(union bpf_attr, key_size),
+ "BPF_MAP_CREATE_struct.key_size offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_KEY_SIZE */
+
+# ifdef HAVE_UNION_BPF_ATTR_VALUE_SIZE
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, value_size) == SoM(union bpf_attr, value_size),
+ "BPF_MAP_CREATE_struct.value_size size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, value_size) == offsetof(union bpf_attr, value_size),
+ "BPF_MAP_CREATE_struct.value_size offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_VALUE_SIZE */
+
+# ifdef HAVE_UNION_BPF_ATTR_MAX_ENTRIES
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, max_entries) == SoM(union bpf_attr, max_entries),
+ "BPF_MAP_CREATE_struct.max_entries size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, max_entries) == offsetof(union bpf_attr, max_entries),
+ "BPF_MAP_CREATE_struct.max_entries offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAX_ENTRIES */
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_FLAGS
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, map_flags) == SoM(union bpf_attr, map_flags),
+ "BPF_MAP_CREATE_struct.map_flags size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, map_flags) == offsetof(union bpf_attr, map_flags),
+ "BPF_MAP_CREATE_struct.map_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_FLAGS */
+
+# ifdef HAVE_UNION_BPF_ATTR_INNER_MAP_FD
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, inner_map_fd) == SoM(union bpf_attr, inner_map_fd),
+ "BPF_MAP_CREATE_struct.inner_map_fd size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, inner_map_fd) == offsetof(union bpf_attr, inner_map_fd),
+ "BPF_MAP_CREATE_struct.inner_map_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_INNER_MAP_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
+ static_assert(SoM(struct BPF_MAP_CREATE_struct, numa_node) == SoM(union bpf_attr, numa_node),
+ "BPF_MAP_CREATE_struct.numa_node size mismatch");
+ static_assert(offsetof(struct BPF_MAP_CREATE_struct, numa_node) == offsetof(union bpf_attr, numa_node),
+ "BPF_MAP_CREATE_struct.numa_node offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_NUMA_NODE */
+
+static_assert(BPF_MAP_CREATE_struct_size == expected_BPF_MAP_CREATE_struct_size,
+ "BPF_MAP_CREATE_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_FD
+ static_assert(SoM(struct BPF_MAP_LOOKUP_ELEM_struct, map_fd) == SoM(union bpf_attr, map_fd),
+ "BPF_MAP_LOOKUP_ELEM_struct.map_fd size mismatch");
+ static_assert(offsetof(struct BPF_MAP_LOOKUP_ELEM_struct, map_fd) == offsetof(union bpf_attr, map_fd),
+ "BPF_MAP_LOOKUP_ELEM_struct.map_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_KEY
+ static_assert(SoM(struct BPF_MAP_LOOKUP_ELEM_struct, key) == SoM(union bpf_attr, key),
+ "BPF_MAP_LOOKUP_ELEM_struct.key size mismatch");
+ static_assert(offsetof(struct BPF_MAP_LOOKUP_ELEM_struct, key) == offsetof(union bpf_attr, key),
+ "BPF_MAP_LOOKUP_ELEM_struct.key offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_KEY */
+
+# ifdef HAVE_UNION_BPF_ATTR_VALUE
+ static_assert(SoM(struct BPF_MAP_LOOKUP_ELEM_struct, value) == SoM(union bpf_attr, value),
+ "BPF_MAP_LOOKUP_ELEM_struct.value size mismatch");
+ static_assert(offsetof(struct BPF_MAP_LOOKUP_ELEM_struct, value) == offsetof(union bpf_attr, value),
+ "BPF_MAP_LOOKUP_ELEM_struct.value offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_VALUE */
+
+static_assert(BPF_MAP_LOOKUP_ELEM_struct_size == expected_BPF_MAP_LOOKUP_ELEM_struct_size,
+ "BPF_MAP_LOOKUP_ELEM_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_FD
+ static_assert(SoM(struct BPF_MAP_UPDATE_ELEM_struct, map_fd) == SoM(union bpf_attr, map_fd),
+ "BPF_MAP_UPDATE_ELEM_struct.map_fd size mismatch");
+ static_assert(offsetof(struct BPF_MAP_UPDATE_ELEM_struct, map_fd) == offsetof(union bpf_attr, map_fd),
+ "BPF_MAP_UPDATE_ELEM_struct.map_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_KEY
+ static_assert(SoM(struct BPF_MAP_UPDATE_ELEM_struct, key) == SoM(union bpf_attr, key),
+ "BPF_MAP_UPDATE_ELEM_struct.key size mismatch");
+ static_assert(offsetof(struct BPF_MAP_UPDATE_ELEM_struct, key) == offsetof(union bpf_attr, key),
+ "BPF_MAP_UPDATE_ELEM_struct.key offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_KEY */
+
+# ifdef HAVE_UNION_BPF_ATTR_VALUE
+ static_assert(SoM(struct BPF_MAP_UPDATE_ELEM_struct, value) == SoM(union bpf_attr, value),
+ "BPF_MAP_UPDATE_ELEM_struct.value size mismatch");
+ static_assert(offsetof(struct BPF_MAP_UPDATE_ELEM_struct, value) == offsetof(union bpf_attr, value),
+ "BPF_MAP_UPDATE_ELEM_struct.value offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_VALUE */
+
+# ifdef HAVE_UNION_BPF_ATTR_FLAGS
+ static_assert(SoM(struct BPF_MAP_UPDATE_ELEM_struct, flags) == SoM(union bpf_attr, flags),
+ "BPF_MAP_UPDATE_ELEM_struct.flags size mismatch");
+ static_assert(offsetof(struct BPF_MAP_UPDATE_ELEM_struct, flags) == offsetof(union bpf_attr, flags),
+ "BPF_MAP_UPDATE_ELEM_struct.flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_FLAGS */
+
+static_assert(BPF_MAP_UPDATE_ELEM_struct_size == expected_BPF_MAP_UPDATE_ELEM_struct_size,
+ "BPF_MAP_UPDATE_ELEM_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_FD
+ static_assert(SoM(struct BPF_MAP_DELETE_ELEM_struct, map_fd) == SoM(union bpf_attr, map_fd),
+ "BPF_MAP_DELETE_ELEM_struct.map_fd size mismatch");
+ static_assert(offsetof(struct BPF_MAP_DELETE_ELEM_struct, map_fd) == offsetof(union bpf_attr, map_fd),
+ "BPF_MAP_DELETE_ELEM_struct.map_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_KEY
+ static_assert(SoM(struct BPF_MAP_DELETE_ELEM_struct, key) == SoM(union bpf_attr, key),
+ "BPF_MAP_DELETE_ELEM_struct.key size mismatch");
+ static_assert(offsetof(struct BPF_MAP_DELETE_ELEM_struct, key) == offsetof(union bpf_attr, key),
+ "BPF_MAP_DELETE_ELEM_struct.key offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_KEY */
+
+static_assert(BPF_MAP_DELETE_ELEM_struct_size == expected_BPF_MAP_DELETE_ELEM_struct_size,
+ "BPF_MAP_DELETE_ELEM_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_FD
+ static_assert(SoM(struct BPF_MAP_GET_NEXT_KEY_struct, map_fd) == SoM(union bpf_attr, map_fd),
+ "BPF_MAP_GET_NEXT_KEY_struct.map_fd size mismatch");
+ static_assert(offsetof(struct BPF_MAP_GET_NEXT_KEY_struct, map_fd) == offsetof(union bpf_attr, map_fd),
+ "BPF_MAP_GET_NEXT_KEY_struct.map_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_KEY
+ static_assert(SoM(struct BPF_MAP_GET_NEXT_KEY_struct, key) == SoM(union bpf_attr, key),
+ "BPF_MAP_GET_NEXT_KEY_struct.key size mismatch");
+ static_assert(offsetof(struct BPF_MAP_GET_NEXT_KEY_struct, key) == offsetof(union bpf_attr, key),
+ "BPF_MAP_GET_NEXT_KEY_struct.key offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_KEY */
+
+# ifdef HAVE_UNION_BPF_ATTR_NEXT_KEY
+ static_assert(SoM(struct BPF_MAP_GET_NEXT_KEY_struct, next_key) == SoM(union bpf_attr, next_key),
+ "BPF_MAP_GET_NEXT_KEY_struct.next_key size mismatch");
+ static_assert(offsetof(struct BPF_MAP_GET_NEXT_KEY_struct, next_key) == offsetof(union bpf_attr, next_key),
+ "BPF_MAP_GET_NEXT_KEY_struct.next_key offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_NEXT_KEY */
+
+static_assert(BPF_MAP_GET_NEXT_KEY_struct_size == expected_BPF_MAP_GET_NEXT_KEY_struct_size,
+ "BPF_MAP_GET_NEXT_KEY_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_PROG_TYPE
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, prog_type) == SoM(union bpf_attr, prog_type),
+ "BPF_PROG_LOAD_struct.prog_type size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, prog_type) == offsetof(union bpf_attr, prog_type),
+ "BPF_PROG_LOAD_struct.prog_type offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_PROG_TYPE */
+
+# ifdef HAVE_UNION_BPF_ATTR_INSN_CNT
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, insn_cnt) == SoM(union bpf_attr, insn_cnt),
+ "BPF_PROG_LOAD_struct.insn_cnt size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, insn_cnt) == offsetof(union bpf_attr, insn_cnt),
+ "BPF_PROG_LOAD_struct.insn_cnt offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_INSN_CNT */
+
+# ifdef HAVE_UNION_BPF_ATTR_INSNS
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, insns) == SoM(union bpf_attr, insns),
+ "BPF_PROG_LOAD_struct.insns size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, insns) == offsetof(union bpf_attr, insns),
+ "BPF_PROG_LOAD_struct.insns offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_INSNS */
+
+# ifdef HAVE_UNION_BPF_ATTR_LICENSE
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, license) == SoM(union bpf_attr, license),
+ "BPF_PROG_LOAD_struct.license size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, license) == offsetof(union bpf_attr, license),
+ "BPF_PROG_LOAD_struct.license offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_LICENSE */
+
+# ifdef HAVE_UNION_BPF_ATTR_LOG_LEVEL
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, log_level) == SoM(union bpf_attr, log_level),
+ "BPF_PROG_LOAD_struct.log_level size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, log_level) == offsetof(union bpf_attr, log_level),
+ "BPF_PROG_LOAD_struct.log_level offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_LOG_LEVEL */
+
+# ifdef HAVE_UNION_BPF_ATTR_LOG_SIZE
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, log_size) == SoM(union bpf_attr, log_size),
+ "BPF_PROG_LOAD_struct.log_size size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, log_size) == offsetof(union bpf_attr, log_size),
+ "BPF_PROG_LOAD_struct.log_size offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_LOG_SIZE */
+
+# ifdef HAVE_UNION_BPF_ATTR_LOG_BUF
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, log_buf) == SoM(union bpf_attr, log_buf),
+ "BPF_PROG_LOAD_struct.log_buf size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, log_buf) == offsetof(union bpf_attr, log_buf),
+ "BPF_PROG_LOAD_struct.log_buf offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_LOG_BUF */
+
+# ifdef HAVE_UNION_BPF_ATTR_KERN_VERSION
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, kern_version) == SoM(union bpf_attr, kern_version),
+ "BPF_PROG_LOAD_struct.kern_version size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, kern_version) == offsetof(union bpf_attr, kern_version),
+ "BPF_PROG_LOAD_struct.kern_version offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_KERN_VERSION */
+
+# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
+ static_assert(SoM(struct BPF_PROG_LOAD_struct, prog_flags) == SoM(union bpf_attr, prog_flags),
+ "BPF_PROG_LOAD_struct.prog_flags size mismatch");
+ static_assert(offsetof(struct BPF_PROG_LOAD_struct, prog_flags) == offsetof(union bpf_attr, prog_flags),
+ "BPF_PROG_LOAD_struct.prog_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_PROG_FLAGS */
+
+static_assert(BPF_PROG_LOAD_struct_size == expected_BPF_PROG_LOAD_struct_size,
+ "BPF_PROG_LOAD_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_PATHNAME
+ static_assert(SoM(struct BPF_OBJ_PIN_struct, pathname) == SoM(union bpf_attr, pathname),
+ "BPF_OBJ_PIN_struct.pathname size mismatch");
+ static_assert(offsetof(struct BPF_OBJ_PIN_struct, pathname) == offsetof(union bpf_attr, pathname),
+ "BPF_OBJ_PIN_struct.pathname offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_PATHNAME */
+
+# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
+ static_assert(SoM(struct BPF_OBJ_PIN_struct, bpf_fd) == SoM(union bpf_attr, bpf_fd),
+ "BPF_OBJ_PIN_struct.bpf_fd size mismatch");
+ static_assert(offsetof(struct BPF_OBJ_PIN_struct, bpf_fd) == offsetof(union bpf_attr, bpf_fd),
+ "BPF_OBJ_PIN_struct.bpf_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_BPF_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_FILE_FLAGS
+ static_assert(SoM(struct BPF_OBJ_PIN_struct, file_flags) == SoM(union bpf_attr, file_flags),
+ "BPF_OBJ_PIN_struct.file_flags size mismatch");
+ static_assert(offsetof(struct BPF_OBJ_PIN_struct, file_flags) == offsetof(union bpf_attr, file_flags),
+ "BPF_OBJ_PIN_struct.file_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_FILE_FLAGS */
+
+static_assert(BPF_OBJ_PIN_struct_size == expected_BPF_OBJ_PIN_struct_size,
+ "BPF_OBJ_PIN_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_TARGET_FD
+ static_assert(SoM(struct BPF_PROG_ATTACH_struct, target_fd) == SoM(union bpf_attr, target_fd),
+ "BPF_PROG_ATTACH_struct.target_fd size mismatch");
+ static_assert(offsetof(struct BPF_PROG_ATTACH_struct, target_fd) == offsetof(union bpf_attr, target_fd),
+ "BPF_PROG_ATTACH_struct.target_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TARGET_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD
+ static_assert(SoM(struct BPF_PROG_ATTACH_struct, attach_bpf_fd) == SoM(union bpf_attr, attach_bpf_fd),
+ "BPF_PROG_ATTACH_struct.attach_bpf_fd size mismatch");
+ static_assert(offsetof(struct BPF_PROG_ATTACH_struct, attach_bpf_fd) == offsetof(union bpf_attr, attach_bpf_fd),
+ "BPF_PROG_ATTACH_struct.attach_bpf_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+ static_assert(SoM(struct BPF_PROG_ATTACH_struct, attach_type) == SoM(union bpf_attr, attach_type),
+ "BPF_PROG_ATTACH_struct.attach_type size mismatch");
+ static_assert(offsetof(struct BPF_PROG_ATTACH_struct, attach_type) == offsetof(union bpf_attr, attach_type),
+ "BPF_PROG_ATTACH_struct.attach_type offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_ATTACH_TYPE */
+
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
+ static_assert(SoM(struct BPF_PROG_ATTACH_struct, attach_flags) == SoM(union bpf_attr, attach_flags),
+ "BPF_PROG_ATTACH_struct.attach_flags size mismatch");
+ static_assert(offsetof(struct BPF_PROG_ATTACH_struct, attach_flags) == offsetof(union bpf_attr, attach_flags),
+ "BPF_PROG_ATTACH_struct.attach_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_ATTACH_FLAGS */
+
+static_assert(BPF_PROG_ATTACH_struct_size == expected_BPF_PROG_ATTACH_struct_size,
+ "BPF_PROG_ATTACH_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_TARGET_FD
+ static_assert(SoM(struct BPF_PROG_DETACH_struct, target_fd) == SoM(union bpf_attr, target_fd),
+ "BPF_PROG_DETACH_struct.target_fd size mismatch");
+ static_assert(offsetof(struct BPF_PROG_DETACH_struct, target_fd) == offsetof(union bpf_attr, target_fd),
+ "BPF_PROG_DETACH_struct.target_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TARGET_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_DUMMY
+ static_assert(SoM(struct BPF_PROG_DETACH_struct, dummy) == SoM(union bpf_attr, dummy),
+ "BPF_PROG_DETACH_struct.dummy size mismatch");
+ static_assert(offsetof(struct BPF_PROG_DETACH_struct, dummy) == offsetof(union bpf_attr, dummy),
+ "BPF_PROG_DETACH_struct.dummy offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_DUMMY */
+
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+ static_assert(SoM(struct BPF_PROG_DETACH_struct, attach_type) == SoM(union bpf_attr, attach_type),
+ "BPF_PROG_DETACH_struct.attach_type size mismatch");
+ static_assert(offsetof(struct BPF_PROG_DETACH_struct, attach_type) == offsetof(union bpf_attr, attach_type),
+ "BPF_PROG_DETACH_struct.attach_type offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_ATTACH_TYPE */
+
+static_assert(BPF_PROG_DETACH_struct_size == expected_BPF_PROG_DETACH_struct_size,
+ "BPF_PROG_DETACH_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_PROG_FD
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, prog_fd) == SoM(union bpf_attr, test.prog_fd),
+ "BPF_PROG_TEST_RUN_struct.prog_fd size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, prog_fd) == offsetof(union bpf_attr, test.prog_fd),
+ "BPF_PROG_TEST_RUN_struct.prog_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_PROG_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_RETVAL
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, retval) == SoM(union bpf_attr, test.retval),
+ "BPF_PROG_TEST_RUN_struct.retval size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, retval) == offsetof(union bpf_attr, test.retval),
+ "BPF_PROG_TEST_RUN_struct.retval offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_RETVAL */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, data_size_in) == SoM(union bpf_attr, test.data_size_in),
+ "BPF_PROG_TEST_RUN_struct.data_size_in size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, data_size_in) == offsetof(union bpf_attr, test.data_size_in),
+ "BPF_PROG_TEST_RUN_struct.data_size_in offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, data_size_out) == SoM(union bpf_attr, test.data_size_out),
+ "BPF_PROG_TEST_RUN_struct.data_size_out size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, data_size_out) == offsetof(union bpf_attr, test.data_size_out),
+ "BPF_PROG_TEST_RUN_struct.data_size_out offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_DATA_IN
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, data_in) == SoM(union bpf_attr, test.data_in),
+ "BPF_PROG_TEST_RUN_struct.data_in size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, data_in) == offsetof(union bpf_attr, test.data_in),
+ "BPF_PROG_TEST_RUN_struct.data_in offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_DATA_IN */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_DATA_OUT
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, data_out) == SoM(union bpf_attr, test.data_out),
+ "BPF_PROG_TEST_RUN_struct.data_out size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, data_out) == offsetof(union bpf_attr, test.data_out),
+ "BPF_PROG_TEST_RUN_struct.data_out offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_DATA_OUT */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_REPEAT
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, repeat) == SoM(union bpf_attr, test.repeat),
+ "BPF_PROG_TEST_RUN_struct.repeat size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, repeat) == offsetof(union bpf_attr, test.repeat),
+ "BPF_PROG_TEST_RUN_struct.repeat offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_REPEAT */
+
+# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
+ static_assert(SoM(struct BPF_PROG_TEST_RUN_struct, duration) == SoM(union bpf_attr, test.duration),
+ "BPF_PROG_TEST_RUN_struct.duration size mismatch");
+ static_assert(offsetof(struct BPF_PROG_TEST_RUN_struct, duration) == offsetof(union bpf_attr, test.duration),
+ "BPF_PROG_TEST_RUN_struct.duration offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_TEST_DURATION */
+
+static_assert(BPF_PROG_TEST_RUN_struct_size == expected_BPF_PROG_TEST_RUN_struct_size,
+ "BPF_PROG_TEST_RUN_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_START_ID
+ static_assert(SoM(struct BPF_PROG_GET_NEXT_ID_struct, start_id) == SoM(union bpf_attr, start_id),
+ "BPF_PROG_GET_NEXT_ID_struct.start_id size mismatch");
+ static_assert(offsetof(struct BPF_PROG_GET_NEXT_ID_struct, start_id) == offsetof(union bpf_attr, start_id),
+ "BPF_PROG_GET_NEXT_ID_struct.start_id offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_START_ID */
+
+# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
+ static_assert(SoM(struct BPF_PROG_GET_NEXT_ID_struct, next_id) == SoM(union bpf_attr, next_id),
+ "BPF_PROG_GET_NEXT_ID_struct.next_id size mismatch");
+ static_assert(offsetof(struct BPF_PROG_GET_NEXT_ID_struct, next_id) == offsetof(union bpf_attr, next_id),
+ "BPF_PROG_GET_NEXT_ID_struct.next_id offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_NEXT_ID */
+
+# ifdef HAVE_UNION_BPF_ATTR_OPEN_FLAGS
+ static_assert(SoM(struct BPF_PROG_GET_NEXT_ID_struct, open_flags) == SoM(union bpf_attr, open_flags),
+ "BPF_PROG_GET_NEXT_ID_struct.open_flags size mismatch");
+ static_assert(offsetof(struct BPF_PROG_GET_NEXT_ID_struct, open_flags) == offsetof(union bpf_attr, open_flags),
+ "BPF_PROG_GET_NEXT_ID_struct.open_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_OPEN_FLAGS */
+
+static_assert(BPF_PROG_GET_NEXT_ID_struct_size == expected_BPF_PROG_GET_NEXT_ID_struct_size,
+ "BPF_PROG_GET_NEXT_ID_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_PROG_ID
+ static_assert(SoM(struct BPF_PROG_GET_FD_BY_ID_struct, prog_id) == SoM(union bpf_attr, prog_id),
+ "BPF_PROG_GET_FD_BY_ID_struct.prog_id size mismatch");
+ static_assert(offsetof(struct BPF_PROG_GET_FD_BY_ID_struct, prog_id) == offsetof(union bpf_attr, prog_id),
+ "BPF_PROG_GET_FD_BY_ID_struct.prog_id offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_PROG_ID */
+
+# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
+ static_assert(SoM(struct BPF_PROG_GET_FD_BY_ID_struct, next_id) == SoM(union bpf_attr, next_id),
+ "BPF_PROG_GET_FD_BY_ID_struct.next_id size mismatch");
+ static_assert(offsetof(struct BPF_PROG_GET_FD_BY_ID_struct, next_id) == offsetof(union bpf_attr, next_id),
+ "BPF_PROG_GET_FD_BY_ID_struct.next_id offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_NEXT_ID */
+
+# ifdef HAVE_UNION_BPF_ATTR_OPEN_FLAGS
+ static_assert(SoM(struct BPF_PROG_GET_FD_BY_ID_struct, open_flags) == SoM(union bpf_attr, open_flags),
+ "BPF_PROG_GET_FD_BY_ID_struct.open_flags size mismatch");
+ static_assert(offsetof(struct BPF_PROG_GET_FD_BY_ID_struct, open_flags) == offsetof(union bpf_attr, open_flags),
+ "BPF_PROG_GET_FD_BY_ID_struct.open_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_OPEN_FLAGS */
+
+static_assert(BPF_PROG_GET_FD_BY_ID_struct_size == expected_BPF_PROG_GET_FD_BY_ID_struct_size,
+ "BPF_PROG_GET_FD_BY_ID_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_MAP_ID
+ static_assert(SoM(struct BPF_MAP_GET_FD_BY_ID_struct, map_id) == SoM(union bpf_attr, map_id),
+ "BPF_MAP_GET_FD_BY_ID_struct.map_id size mismatch");
+ static_assert(offsetof(struct BPF_MAP_GET_FD_BY_ID_struct, map_id) == offsetof(union bpf_attr, map_id),
+ "BPF_MAP_GET_FD_BY_ID_struct.map_id offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_MAP_ID */
+
+# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
+ static_assert(SoM(struct BPF_MAP_GET_FD_BY_ID_struct, next_id) == SoM(union bpf_attr, next_id),
+ "BPF_MAP_GET_FD_BY_ID_struct.next_id size mismatch");
+ static_assert(offsetof(struct BPF_MAP_GET_FD_BY_ID_struct, next_id) == offsetof(union bpf_attr, next_id),
+ "BPF_MAP_GET_FD_BY_ID_struct.next_id offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_NEXT_ID */
+
+# ifdef HAVE_UNION_BPF_ATTR_OPEN_FLAGS
+ static_assert(SoM(struct BPF_MAP_GET_FD_BY_ID_struct, open_flags) == SoM(union bpf_attr, open_flags),
+ "BPF_MAP_GET_FD_BY_ID_struct.open_flags size mismatch");
+ static_assert(offsetof(struct BPF_MAP_GET_FD_BY_ID_struct, open_flags) == offsetof(union bpf_attr, open_flags),
+ "BPF_MAP_GET_FD_BY_ID_struct.open_flags offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_OPEN_FLAGS */
+
+static_assert(BPF_MAP_GET_FD_BY_ID_struct_size == expected_BPF_MAP_GET_FD_BY_ID_struct_size,
+ "BPF_MAP_GET_FD_BY_ID_struct_size mismatch");
+
+# ifdef HAVE_UNION_BPF_ATTR_INFO_BPF_FD
+ static_assert(SoM(struct BPF_OBJ_GET_INFO_BY_FD_struct, bpf_fd) == SoM(union bpf_attr, info.bpf_fd),
+ "BPF_OBJ_GET_INFO_BY_FD_struct.bpf_fd size mismatch");
+ static_assert(offsetof(struct BPF_OBJ_GET_INFO_BY_FD_struct, bpf_fd) == offsetof(union bpf_attr, info.bpf_fd),
+ "BPF_OBJ_GET_INFO_BY_FD_struct.bpf_fd offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_INFO_BPF_FD */
+
+# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO_LEN
+ static_assert(SoM(struct BPF_OBJ_GET_INFO_BY_FD_struct, info_len) == SoM(union bpf_attr, info.info_len),
+ "BPF_OBJ_GET_INFO_BY_FD_struct.info_len size mismatch");
+ static_assert(offsetof(struct BPF_OBJ_GET_INFO_BY_FD_struct, info_len) == offsetof(union bpf_attr, info.info_len),
+ "BPF_OBJ_GET_INFO_BY_FD_struct.info_len offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_INFO_INFO_LEN */
+
+# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
+ static_assert(SoM(struct BPF_OBJ_GET_INFO_BY_FD_struct, info) == SoM(union bpf_attr, info.info),
+ "BPF_OBJ_GET_INFO_BY_FD_struct.info size mismatch");
+ static_assert(offsetof(struct BPF_OBJ_GET_INFO_BY_FD_struct, info) == offsetof(union bpf_attr, info.info),
+ "BPF_OBJ_GET_INFO_BY_FD_struct.info offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_INFO_INFO */
+
+static_assert(BPF_OBJ_GET_INFO_BY_FD_struct_size == expected_BPF_OBJ_GET_INFO_BY_FD_struct_size,
+ "BPF_OBJ_GET_INFO_BY_FD_struct_size mismatch");
+
+#endif /* HAVE_LINUX_BPF_H */
diff --git a/bpf_filter.c b/bpf_filter.c
index 5314c845..32fd4358 100644
--- a/bpf_filter.c
+++ b/bpf_filter.c
@@ -2,6 +2,7 @@
* Decoder of classic BPF programs.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -49,50 +50,50 @@ print_bpf_filter_code(const uint16_t code)
printxval(bpf_class, BPF_CLASS(code), "BPF_???");
switch (BPF_CLASS(code)) {
- case BPF_LD:
- case BPF_LDX:
- tprints("|");
- printxval(bpf_size, BPF_SIZE(code), "BPF_???");
- tprints("|");
- printxval(bpf_mode, BPF_MODE(code), "BPF_???");
- break;
- case BPF_ST:
- case BPF_STX:
- if (i) {
- tprintf("|%#x", i);
- tprints_comment("BPF_???");
- }
- break;
- case BPF_ALU:
- tprints("|");
- printxval(bpf_src, BPF_SRC(code), "BPF_???");
- tprints("|");
- printxval(bpf_op_alu, BPF_OP(code), "BPF_???");
- break;
- case BPF_JMP:
- tprints("|");
- printxval(bpf_src, BPF_SRC(code), "BPF_???");
- tprints("|");
- printxval(bpf_op_jmp, BPF_OP(code), "BPF_???");
- break;
- case BPF_RET:
- tprints("|");
- printxval(bpf_rval, BPF_RVAL(code), "BPF_???");
- i &= ~BPF_RVAL(code);
- if (i) {
- tprintf("|%#x", i);
- tprints_comment("BPF_???");
- }
- break;
- case BPF_MISC:
- tprints("|");
- printxval(bpf_miscop, BPF_MISCOP(code), "BPF_???");
- i &= ~BPF_MISCOP(code);
- if (i) {
- tprintf("|%#x", i);
- tprints_comment("BPF_???");
- }
- break;
+ case BPF_LD:
+ case BPF_LDX:
+ tprints("|");
+ printxval(bpf_size, BPF_SIZE(code), "BPF_???");
+ tprints("|");
+ printxval(bpf_mode, BPF_MODE(code), "BPF_???");
+ break;
+ case BPF_ST:
+ case BPF_STX:
+ if (i) {
+ tprintf("|%#x", i);
+ tprints_comment("BPF_???");
+ }
+ break;
+ case BPF_ALU:
+ tprints("|");
+ printxval(bpf_src, BPF_SRC(code), "BPF_???");
+ tprints("|");
+ printxval(bpf_op_alu, BPF_OP(code), "BPF_???");
+ break;
+ case BPF_JMP:
+ tprints("|");
+ printxval(bpf_src, BPF_SRC(code), "BPF_???");
+ tprints("|");
+ printxval(bpf_op_jmp, BPF_OP(code), "BPF_???");
+ break;
+ case BPF_RET:
+ tprints("|");
+ printxval(bpf_rval, BPF_RVAL(code), "BPF_???");
+ i &= ~BPF_RVAL(code);
+ if (i) {
+ tprintf("|%#x", i);
+ tprints_comment("BPF_???");
+ }
+ break;
+ case BPF_MISC:
+ tprints("|");
+ printxval(bpf_miscop, BPF_MISCOP(code), "BPF_???");
+ i &= ~BPF_MISCOP(code);
+ if (i) {
+ tprintf("|%#x", i);
+ tprints_comment("BPF_???");
+ }
+ break;
}
}
diff --git a/btrfs.c b/btrfs.c
index ed3120ae..ff10d69a 100644
--- a/btrfs.c
+++ b/btrfs.c
@@ -138,6 +138,7 @@ struct btrfs_ioctl_search_args_v2 {
#include "xlat/btrfs_features_compat_ro.h"
#include "xlat/btrfs_features_incompat.h"
#include "xlat/btrfs_key_types.h"
+#include "xlat/btrfs_logical_ino_args_flags.h"
#include "xlat/btrfs_qgroup_ctl_cmds.h"
#include "xlat/btrfs_qgroup_inherit_flags.h"
#include "xlat/btrfs_qgroup_limit_flags.h"
@@ -538,7 +539,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
case BTRFS_IOC_START_SYNC: /* R */
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
/* takes a u64 */
case BTRFS_IOC_DEFAULT_SUBVOL: /* W */
case BTRFS_IOC_WAIT_SYNC: /* W */
@@ -922,7 +923,9 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
if (entering(tcp)) {
tprintf("inum=%" PRI__u64 ", size=%" PRI__u64,
args.inum, args.size);
- tprintf(", fspath=0x%" PRI__x64 "}", args.fspath);
+ tprints(", fspath=");
+ printaddr64(args.fspath);
+ tprints("}");
return 0;
}
@@ -951,7 +954,27 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
if (entering(tcp)) {
tprintf("logical=%" PRI__u64 ", size=%" PRI__u64,
args.logical, args.size);
- tprintf(", inodes=0x%" PRI__x64 "}", args.inodes);
+
+ if (!IS_ARRAY_ZERO(args.reserved)) {
+ tprints(", reserved=[");
+ for (size_t i = 0; i < 3; ++i)
+ tprintf("%s%#" PRI__x64,
+ i ? ", " : "",
+ args.reserved[i]);
+ tprints("]");
+ }
+
+ tprintf(", flags=");
+ printflags64(btrfs_logical_ino_args_flags,
+#ifdef HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS
+ args.flags
+#else
+ args.reserved[3]
+#endif
+ , "BTRFS_LOGICAL_INO_ARGS_???");
+ tprints(", inodes=");
+ printaddr64(args.inodes);
+ tprints("}");
return 0;
}
@@ -1318,7 +1341,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
case BTRFS_IOC_GET_FSLABEL: /* R */
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case BTRFS_IOC_SET_FSLABEL: { /* W */
char label[BTRFS_LABEL_SIZE];
diff --git a/clone.c b/clone.c
index e1dcd713..4bff999d 100644
--- a/clone.c
+++ b/clone.c
@@ -161,5 +161,5 @@ SYS_FUNC(unshare)
SYS_FUNC(fork)
{
- return RVAL_DECODED | RVAL_UDECIMAL;
+ return RVAL_DECODED;
}
diff --git a/config.h b/config.h
index 0f71839c..f23eaaf9 100644
--- a/config.h
+++ b/config.h
@@ -859,17 +859,16 @@
/* Define to 1 if you have mpers_name mpers support */
/* #undef HAVE_M32_MPERS */
-/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
+/* Define to 1 if m32 has the type 'struct stat'. */
/* #undef HAVE_M32_STRUCT_STAT */
-/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
+/* Define to 1 if m32 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'.
- */
+/* Define to 1 if 'st_mtime_nsec' is a member of m32 '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'. */
+/* Define to 1 if 'st_mtime_nsec' is a member of m32 'struct stat'. */
/* #undef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC */
/* Define to 1 if you have the <memory.h> header file. */
@@ -881,17 +880,16 @@
/* Define to 1 if you have mpers_name mpers support */
/* #undef HAVE_MX32_MPERS */
-/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
+/* Define to 1 if mx32 has the type 'struct stat'. */
/* #undef HAVE_MX32_STRUCT_STAT */
-/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
+/* Define to 1 if mx32 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'.
- */
+/* Define to 1 if 'st_mtime_nsec' is a member of mx32 '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'. */
+/* Define to 1 if 'st_mtime_nsec' is a member of mx32 'struct stat'. */
/* #undef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC */
/* Define to 1 if you have the <netinet/sctp.h> header file. */
@@ -948,6 +946,9 @@
/* Define to 1 if the system has the type `sig_atomic_t'. */
#define HAVE_SIG_ATOMIC_T 1
+/* Define to 1 if the system provides static_assert */
+/* #define HAVE_STATIC_ASSERT 1 */
+
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
@@ -978,6 +979,9 @@
/* 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 the system has the type `struct bpf_insn'. */
+#define HAVE_STRUCT_BPF_INSN 1
+
/* Define to 1 if the system has the type `struct br_mdb_entry'. */
#define HAVE_STRUCT_BR_MDB_ENTRY 1
@@ -1002,6 +1006,10 @@
*/
#define HAVE_STRUCT_BTRFS_IOCTL_FS_INFO_ARGS_NODESIZE 1
+/* Define to 1 if `flags' is a member of `struct
+ btrfs_ioctl_logical_ino_args'. */
+#define HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS 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
@@ -1287,9 +1295,6 @@
/* 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
@@ -1311,30 +1316,141 @@
/* Define to 1 if typeof works with your compiler. */
#define HAVE_TYPEOF 1
+/* Define to 1 if `attach_bpf_fd' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD 1
+
/* Define to 1 if `attach_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1
+/* Define to 1 if `attach_type' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1
+
/* Define to 1 if `bpf_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_BPF_FD 1
+/* Define to 1 if `dummy' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_DUMMY */
+
+/* Define to 1 if `file_flags' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_FILE_FLAGS */
+
/* Define to 1 if `flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_FLAGS 1
+/* Define to 1 if `info.bpf_fd' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_INFO_BPF_FD */
+
/* Define to 1 if `info.info' is a member of `union bpf_attr'. */
/* #undef HAVE_UNION_BPF_ATTR_INFO_INFO */
+/* Define to 1 if `info.info_len' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_INFO_INFO_LEN */
+
+/* Define to 1 if `inner_map_fd' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1
+
+/* Define to 1 if `insns' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_INSNS 1
+
+/* Define to 1 if `insn_cnt' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_INSN_CNT 1
+
+/* Define to 1 if `kern_version' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1
+
+/* Define to 1 if `key' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_KEY 1
+
+/* Define to 1 if `key_size' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1
+
+/* Define to 1 if `license' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_LICENSE 1
+
+/* Define to 1 if `log_buf' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_LOG_BUF 1
+
+/* Define to 1 if `log_level' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1
+
+/* Define to 1 if `log_size' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_LOG_SIZE 1
+
+/* Define to 1 if `map_fd' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_MAP_FD 1
+
+/* Define to 1 if `map_flags' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1
+
+/* Define to 1 if `map_id' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_MAP_ID */
+
+/* Define to 1 if `map_type' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1
+
+/* Define to 1 if `max_entries' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1
+
/* Define to 1 if `next_id' is a member of `union bpf_attr'. */
/* #undef HAVE_UNION_BPF_ATTR_NEXT_ID */
+/* Define to 1 if `next_key' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_NEXT_KEY 1
+
/* Define to 1 if `numa_node' is a member of `union bpf_attr'. */
/* #undef HAVE_UNION_BPF_ATTR_NUMA_NODE */
+/* Define to 1 if `open_flags' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_OPEN_FLAGS */
+
+/* Define to 1 if `pathname' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_PATHNAME 1
+
/* Define to 1 if `prog_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1
+/* Define to 1 if `prog_id' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_PROG_ID */
+
+/* Define to 1 if `prog_type' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_PROG_TYPE 1
+
+/* Define to 1 if `start_id' is a member of `union bpf_attr'. */
+/* #undef HAVE_UNION_BPF_ATTR_START_ID */
+
+/* Define to 1 if `target_fd' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TARGET_FD 1
+
+/* Define to 1 if `test.data_in' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_IN 1
+
+/* Define to 1 if `test.data_out' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_OUT 1
+
+/* Define to 1 if `test.data_size_in' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN 1
+
+/* Define to 1 if `test.data_size_out' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT 1
+
/* Define to 1 if `test.duration' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_DURATION 1
+/* Define to 1 if `test.prog_fd' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_PROG_FD 1
+
+/* Define to 1 if `test.repeat' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_REPEAT 1
+
+/* Define to 1 if `test.retval' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_TEST_RETVAL 1
+
+/* Define to 1 if `value' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_VALUE 1
+
+/* Define to 1 if `value_size' is a member of `union bpf_attr'. */
+#define HAVE_UNION_BPF_ATTR_VALUE_SIZE 1
+
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
@@ -1381,7 +1497,7 @@
/* #undef M68K */
/* Date */
-#define MANPAGE_DATE "2018-02-11"
+#define MANPAGE_DATE "2018-04-04"
/* Define for the Meta architecture. */
/* #undef METAG */
@@ -1408,13 +1524,13 @@
#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 PACKAGE_BUGREPORT "strace-devel@lists.strace.io"
/* 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.21"
+#define PACKAGE_STRING "strace 4.22"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "strace"
@@ -1423,7 +1539,7 @@
#define PACKAGE_URL "https://strace.io"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.21"
+#define PACKAGE_VERSION "4.22"
/* Define for the PowerPC architecture. */
/* #undef POWERPC */
@@ -1498,7 +1614,7 @@
/* Version number of package */
-#define VERSION "4.21"
+#define VERSION "4.22"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/config.h.in b/config.h.in
index 1fd4ab88..610c5cb8 100644
--- a/config.h.in
+++ b/config.h.in
@@ -861,17 +861,16 @@
/* Define to 1 if you have mpers_name mpers support */
#undef HAVE_M32_MPERS
-/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
+/* Define to 1 if m32 has the type 'struct stat'. */
#undef HAVE_M32_STRUCT_STAT
-/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
+/* Define to 1 if m32 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'.
- */
+/* Define to 1 if 'st_mtime_nsec' is a member of m32 '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'. */
+/* Define to 1 if 'st_mtime_nsec' is a member of m32 'struct stat'. */
#undef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC
/* Define to 1 if you have the <memory.h> header file. */
@@ -883,17 +882,16 @@
/* Define to 1 if you have mpers_name mpers support */
#undef HAVE_MX32_MPERS
-/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
+/* Define to 1 if mx32 has the type 'struct stat'. */
#undef HAVE_MX32_STRUCT_STAT
-/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
+/* Define to 1 if mx32 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'.
- */
+/* Define to 1 if 'st_mtime_nsec' is a member of mx32 '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'. */
+/* Define to 1 if 'st_mtime_nsec' is a member of mx32 'struct stat'. */
#undef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC
/* Define to 1 if you have the <netinet/sctp.h> header file. */
@@ -950,6 +948,9 @@
/* Define to 1 if the system has the type `sig_atomic_t'. */
#undef HAVE_SIG_ATOMIC_T
+/* Define to 1 if the system provides static_assert */
+#undef HAVE_STATIC_ASSERT
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -980,6 +981,9 @@
/* Define to 1 if the system has the type `struct blk_user_trace_setup'. */
#undef HAVE_STRUCT_BLK_USER_TRACE_SETUP
+/* Define to 1 if the system has the type `struct bpf_insn'. */
+#undef HAVE_STRUCT_BPF_INSN
+
/* Define to 1 if the system has the type `struct br_mdb_entry'. */
#undef HAVE_STRUCT_BR_MDB_ENTRY
@@ -1004,6 +1008,10 @@
*/
#undef HAVE_STRUCT_BTRFS_IOCTL_FS_INFO_ARGS_NODESIZE
+/* Define to 1 if `flags' is a member of `struct
+ btrfs_ioctl_logical_ino_args'. */
+#undef HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS
+
/* Define to 1 if `buf_size' is a member of `struct
btrfs_ioctl_search_args_v2'. */
#undef HAVE_STRUCT_BTRFS_IOCTL_SEARCH_ARGS_V2_BUF_SIZE
@@ -1289,9 +1297,6 @@
/* Define to 1 if you have the <sys/quota.h> header file. */
#undef HAVE_SYS_QUOTA_H
-/* Define to 1 if you have the <sys/reg.h> header file. */
-#undef HAVE_SYS_REG_H
-
/* Define to 1 if you have the <sys/sem.h> header file. */
#undef HAVE_SYS_SEM_H
@@ -1313,30 +1318,141 @@
/* Define to 1 if typeof works with your compiler. */
#undef HAVE_TYPEOF
+/* Define to 1 if `attach_bpf_fd' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD
+
/* Define to 1 if `attach_flags' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
+/* Define to 1 if `attach_type' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+
/* Define to 1 if `bpf_fd' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_BPF_FD
+/* Define to 1 if `dummy' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_DUMMY
+
+/* Define to 1 if `file_flags' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_FILE_FLAGS
+
/* Define to 1 if `flags' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_FLAGS
+/* Define to 1 if `info.bpf_fd' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_INFO_BPF_FD
+
/* Define to 1 if `info.info' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_INFO_INFO
+/* Define to 1 if `info.info_len' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_INFO_INFO_LEN
+
+/* Define to 1 if `inner_map_fd' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_INNER_MAP_FD
+
+/* Define to 1 if `insns' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_INSNS
+
+/* Define to 1 if `insn_cnt' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_INSN_CNT
+
+/* Define to 1 if `kern_version' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_KERN_VERSION
+
+/* Define to 1 if `key' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_KEY
+
+/* Define to 1 if `key_size' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_KEY_SIZE
+
+/* Define to 1 if `license' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_LICENSE
+
+/* Define to 1 if `log_buf' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_LOG_BUF
+
+/* Define to 1 if `log_level' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_LOG_LEVEL
+
+/* Define to 1 if `log_size' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_LOG_SIZE
+
+/* Define to 1 if `map_fd' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_MAP_FD
+
+/* Define to 1 if `map_flags' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_MAP_FLAGS
+
+/* Define to 1 if `map_id' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_MAP_ID
+
+/* Define to 1 if `map_type' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_MAP_TYPE
+
+/* Define to 1 if `max_entries' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_MAX_ENTRIES
+
/* Define to 1 if `next_id' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_NEXT_ID
+/* Define to 1 if `next_key' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_NEXT_KEY
+
/* Define to 1 if `numa_node' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_NUMA_NODE
+/* Define to 1 if `open_flags' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_OPEN_FLAGS
+
+/* Define to 1 if `pathname' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_PATHNAME
+
/* Define to 1 if `prog_flags' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_PROG_FLAGS
+/* Define to 1 if `prog_id' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_PROG_ID
+
+/* Define to 1 if `prog_type' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_PROG_TYPE
+
+/* Define to 1 if `start_id' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_START_ID
+
+/* Define to 1 if `target_fd' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TARGET_FD
+
+/* Define to 1 if `test.data_in' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_DATA_IN
+
+/* Define to 1 if `test.data_out' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_DATA_OUT
+
+/* Define to 1 if `test.data_size_in' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN
+
+/* Define to 1 if `test.data_size_out' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT
+
/* Define to 1 if `test.duration' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_TEST_DURATION
+/* Define to 1 if `test.prog_fd' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_PROG_FD
+
+/* Define to 1 if `test.repeat' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_REPEAT
+
+/* Define to 1 if `test.retval' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_TEST_RETVAL
+
+/* Define to 1 if `value' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_VALUE
+
+/* Define to 1 if `value_size' is a member of `union bpf_attr'. */
+#undef HAVE_UNION_BPF_ATTR_VALUE_SIZE
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/configure b/configure
index 42f5130e..4dfded7c 100755
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for strace 4.21.
+# Generated by GNU Autoconf 2.69 for strace 4.22.
#
-# Report bugs to <strace-devel@lists.sourceforge.net>.
+# Report bugs to <strace-devel@lists.strace.io>.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -269,7 +269,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: strace-devel@lists.sourceforge.net about your system,
+$0: strace-devel@lists.strace.io about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
@@ -582,9 +582,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='strace'
PACKAGE_TARNAME='strace'
-PACKAGE_VERSION='4.21'
-PACKAGE_STRING='strace 4.21'
-PACKAGE_BUGREPORT='strace-devel@lists.sourceforge.net'
+PACKAGE_VERSION='4.22'
+PACKAGE_STRING='strace 4.22'
+PACKAGE_BUGREPORT='strace-devel@lists.strace.io'
PACKAGE_URL='https://strace.io'
ac_unique_file="strace.c"
@@ -659,6 +659,9 @@ libunwind_LDFLAGS
libunwind_LIBS
READELF
PERL
+mq_LIBS
+clock_LIBS
+timer_LIBS
dl_LIBS
SIZEOF_KERNEL_LONG_T
SIZEOF_LONG
@@ -1361,7 +1364,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.21 to adapt to many kinds of systems.
+\`configure' configures strace 4.22 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1431,7 +1434,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of strace 4.21:";;
+ short | recursive ) echo "Configuration of strace 4.22:";;
esac
cat <<\_ACEOF
@@ -1485,7 +1488,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <strace-devel@lists.sourceforge.net>.
+Report bugs to <strace-devel@lists.strace.io>.
strace home page: <https://strace.io>.
_ACEOF
ac_status=$?
@@ -1549,7 +1552,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-strace configure 4.21
+strace configure 4.22
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1756,9 +1759,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------- ##
-## Report this to strace-devel@lists.sourceforge.net ##
-## ------------------------------------------------- ##"
+( $as_echo "## ------------------------------------------- ##
+## Report this to strace-devel@lists.strace.io ##
+## ------------------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
@@ -2289,7 +2292,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.21, which was
+It was created by strace $as_me 4.22, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3160,7 +3163,7 @@ fi
# Define the identity of the package.
PACKAGE='strace'
- VERSION='4.21'
+ VERSION='4.22'
cat >>confdefs.h <<_ACEOF
@@ -5170,6 +5173,83 @@ fi
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC handles -Wimplicit-fallthrough=5" >&5
+$as_echo_n "checking whether $CC handles -Wimplicit-fallthrough=5... " >&6; }
+if ${gl_cv_warn_CFLAGS__Wimplicit_fallthrough_5+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_save_compiler_FLAGS="$CFLAGS"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wimplicit-fallthrough=5"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_warn_CFLAGS__Wimplicit_fallthrough_5=yes
+else
+ gl_cv_warn_CFLAGS__Wimplicit_fallthrough_5=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CFLAGS="$gl_save_compiler_FLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_CFLAGS__Wimplicit_fallthrough_5" >&5
+$as_echo "$gl_cv_warn_CFLAGS__Wimplicit_fallthrough_5" >&6; }
+if test "x$gl_cv_warn_CFLAGS__Wimplicit_fallthrough_5" = xyes; then :
+ as_fn_append WARN_CFLAGS " -Wimplicit-fallthrough=5"
+fi
+
+
+if test x${gl_unknown_warnings_are_errors+set} = x; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC handles -Werror -Wunknown-warning-option" >&5
+$as_echo_n "checking whether $CC handles -Werror -Wunknown-warning-option... " >&6; }
+if ${gl_cv_warn_CFLAGS__Werror__Wunknown_warning_option+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_save_compiler_FLAGS="$CFLAGS"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_warn_CFLAGS__Werror__Wunknown_warning_option=yes
+else
+ gl_cv_warn_CFLAGS__Werror__Wunknown_warning_option=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CFLAGS="$gl_save_compiler_FLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_CFLAGS__Werror__Wunknown_warning_option" >&5
+$as_echo "$gl_cv_warn_CFLAGS__Werror__Wunknown_warning_option" >&6; }
+if test "x$gl_cv_warn_CFLAGS__Werror__Wunknown_warning_option" = xyes; then :
+ gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'
+else
+ gl_unknown_warnings_are_errors=
+fi
+
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC handles -Winit-self" >&5
$as_echo_n "checking whether $CC handles -Winit-self... " >&6; }
if ${gl_cv_warn_CFLAGS__Winit_self+:} false; then :
@@ -7175,6 +7255,83 @@ fi
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD handles -Wimplicit-fallthrough=5" >&5
+$as_echo_n "checking whether $CC_FOR_BUILD handles -Wimplicit-fallthrough=5... " >&6; }
+if ${gl_cv_warn_CFLAGS_FOR_BUILD__Wimplicit_fallthrough_5+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_save_compiler_FLAGS="$CFLAGS_FOR_BUILD"
+ as_fn_append CFLAGS_FOR_BUILD " $gl_build_unknown_warnings_are_errors -Wimplicit-fallthrough=5"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_warn_CFLAGS_FOR_BUILD__Wimplicit_fallthrough_5=yes
+else
+ gl_cv_warn_CFLAGS_FOR_BUILD__Wimplicit_fallthrough_5=no
+fi
+rm -f core conftest.err conftest.$ac_build_objext \
+ conftest$ac_build_exeext conftest.$ac_ext
+ CFLAGS_FOR_BUILD="$gl_save_compiler_FLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_CFLAGS_FOR_BUILD__Wimplicit_fallthrough_5" >&5
+$as_echo "$gl_cv_warn_CFLAGS_FOR_BUILD__Wimplicit_fallthrough_5" >&6; }
+if test "x$gl_cv_warn_CFLAGS_FOR_BUILD__Wimplicit_fallthrough_5" = xyes; then :
+ as_fn_append WARN_CFLAGS_FOR_BUILD " -Wimplicit-fallthrough=5"
+fi
+
+
+if test x${gl_build_unknown_warnings_are_errors+set} = x; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD handles -Werror -Wunknown-warning-option" >&5
+$as_echo_n "checking whether $CC_FOR_BUILD handles -Werror -Wunknown-warning-option... " >&6; }
+if ${gl_cv_warn_CFLAGS_FOR_BUILD__Werror__Wunknown_warning_option+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_save_compiler_FLAGS="$CFLAGS_FOR_BUILD"
+ as_fn_append CFLAGS_FOR_BUILD " $gl_build_unknown_warnings_are_errors -Werror -Wunknown-warning-option"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_warn_CFLAGS_FOR_BUILD__Werror__Wunknown_warning_option=yes
+else
+ gl_cv_warn_CFLAGS_FOR_BUILD__Werror__Wunknown_warning_option=no
+fi
+rm -f core conftest.err conftest.$ac_build_objext \
+ conftest$ac_build_exeext conftest.$ac_ext
+ CFLAGS_FOR_BUILD="$gl_save_compiler_FLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_CFLAGS_FOR_BUILD__Werror__Wunknown_warning_option" >&5
+$as_echo "$gl_cv_warn_CFLAGS_FOR_BUILD__Werror__Wunknown_warning_option" >&6; }
+if test "x$gl_cv_warn_CFLAGS_FOR_BUILD__Werror__Wunknown_warning_option" = xyes; then :
+ gl_build_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'
+else
+ gl_build_unknown_warnings_are_errors=
+fi
+
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD handles -Winit-self" >&5
$as_echo_n "checking whether $CC_FOR_BUILD handles -Winit-self... " >&6; }
if ${gl_cv_warn_CFLAGS_FOR_BUILD__Winit_self+:} false; then :
@@ -8827,9 +8984,9 @@ COPYRIGHT_YEAR=2018
-$as_echo "#define MANPAGE_DATE \"2018-02-11\"" >>confdefs.h
+$as_echo "#define MANPAGE_DATE \"2018-04-04\"" >>confdefs.h
-MANPAGE_DATE=2018-02-11
+MANPAGE_DATE=2018-04-04
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported architecture" >&5
@@ -10065,7 +10222,7 @@ _ACEOF
fi
-for ac_header in asm/cachectl.h asm/guarded_storage.h asm/sysmips.h bluetooth/bluetooth.h elf.h iconv.h inttypes.h linux/bsg.h linux/cryptouser.h linux/dm-ioctl.h linux/dqblk_xfs.h linux/falloc.h linux/fib_rules.h linux/fiemap.h linux/genetlink.h linux/hiddev.h linux/if_addr.h linux/if_link.h linux/ip_vs.h linux/ipc.h linux/kcmp.h linux/kvm.h linux/memfd.h linux/mmtimer.h linux/msg.h linux/neighbour.h linux/netfilter/ipset/ip_set.h linux/netfilter/nf_tables.h linux/netfilter/nf_tables_compat.h linux/netfilter/nfnetlink.h linux/netfilter/nfnetlink_acct.h linux/netfilter/nfnetlink_conntrack.h linux/netfilter/nfnetlink_cthelper.h linux/netfilter/nfnetlink_cttimeout.h linux/netfilter/nfnetlink_log.h linux/netfilter/nfnetlink_queue.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 paths.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/guarded_storage.h asm/sysmips.h bluetooth/bluetooth.h elf.h iconv.h inttypes.h linux/bsg.h linux/cryptouser.h linux/dm-ioctl.h linux/dqblk_xfs.h linux/falloc.h linux/fib_rules.h linux/fiemap.h linux/genetlink.h linux/hiddev.h linux/if_addr.h linux/if_link.h linux/ip_vs.h linux/ipc.h linux/kcmp.h linux/kvm.h linux/memfd.h linux/mmtimer.h linux/msg.h linux/neighbour.h linux/netfilter/ipset/ip_set.h linux/netfilter/nf_tables.h linux/netfilter/nf_tables_compat.h linux/netfilter/nfnetlink.h linux/netfilter/nfnetlink_acct.h linux/netfilter/nfnetlink_conntrack.h linux/netfilter/nfnetlink_cthelper.h linux/netfilter/nfnetlink_cttimeout.h linux/netfilter/nfnetlink_log.h linux/netfilter/nfnetlink_queue.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 paths.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/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"
@@ -10186,7 +10343,28 @@ if test "x$ac_cv_header_linux_bpf_h" = xyes; then :
#define HAVE_LINUX_BPF_H 1
_ACEOF
- ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_flags" "ac_cv_member_union_bpf_attr_attach_flags" "#include <linux/bpf.h>
+ ac_fn_c_check_type "$LINENO" "struct bpf_insn" "ac_cv_type_struct_bpf_insn" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_type_struct_bpf_insn" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_BPF_INSN 1
+_ACEOF
+
+
+fi
+
+ ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_bpf_fd" "ac_cv_member_union_bpf_attr_attach_bpf_fd" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_attach_bpf_fd" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_flags" "ac_cv_member_union_bpf_attr_attach_flags" "#include <linux/bpf.h>
"
if test "x$ac_cv_member_union_bpf_attr_attach_flags" = xyes; then :
@@ -10196,6 +10374,16 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "attach_type" "ac_cv_member_union_bpf_attr_attach_type" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_attach_type" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1
+_ACEOF
+
+
+fi
ac_fn_c_check_member "$LINENO" "union bpf_attr" "bpf_fd" "ac_cv_member_union_bpf_attr_bpf_fd" "#include <linux/bpf.h>
"
if test "x$ac_cv_member_union_bpf_attr_bpf_fd" = xyes; then :
@@ -10206,6 +10394,26 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_dummy" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_DUMMY 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "file_flags" "ac_cv_member_union_bpf_attr_file_flags" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_file_flags" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1
+_ACEOF
+
+
+fi
ac_fn_c_check_member "$LINENO" "union bpf_attr" "flags" "ac_cv_member_union_bpf_attr_flags" "#include <linux/bpf.h>
"
if test "x$ac_cv_member_union_bpf_attr_flags" = xyes; then :
@@ -10216,12 +10424,152 @@ _ACEOF
fi
-ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info" "ac_cv_member_union_bpf_attr_info_info" "#include <linux/bpf.h>
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "inner_map_fd" "ac_cv_member_union_bpf_attr_inner_map_fd" "#include <linux/bpf.h>
"
-if test "x$ac_cv_member_union_bpf_attr_info_info" = xyes; then :
+if test "x$ac_cv_member_union_bpf_attr_inner_map_fd" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define HAVE_UNION_BPF_ATTR_INFO_INFO 1
+#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "insn_cnt" "ac_cv_member_union_bpf_attr_insn_cnt" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_insn_cnt" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_INSN_CNT 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "insns" "ac_cv_member_union_bpf_attr_insns" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_insns" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_INSNS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "kern_version" "ac_cv_member_union_bpf_attr_kern_version" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_kern_version" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "key" "ac_cv_member_union_bpf_attr_key" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_key" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_KEY 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "key_size" "ac_cv_member_union_bpf_attr_key_size" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_key_size" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "license" "ac_cv_member_union_bpf_attr_license" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_license" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_LICENSE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_buf" "ac_cv_member_union_bpf_attr_log_buf" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_log_buf" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_LOG_BUF 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_level" "ac_cv_member_union_bpf_attr_log_level" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_log_level" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "log_size" "ac_cv_member_union_bpf_attr_log_size" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_log_size" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_LOG_SIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_fd" "ac_cv_member_union_bpf_attr_map_fd" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_map_fd" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_MAP_FD 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_flags" "ac_cv_member_union_bpf_attr_map_flags" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_map_flags" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_id" "ac_cv_member_union_bpf_attr_map_id" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_map_id" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_MAP_ID 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "map_type" "ac_cv_member_union_bpf_attr_map_type" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_map_type" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "max_entries" "ac_cv_member_union_bpf_attr_max_entries" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_max_entries" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1
_ACEOF
@@ -10236,6 +10584,16 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "next_key" "ac_cv_member_union_bpf_attr_next_key" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_next_key" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_NEXT_KEY 1
+_ACEOF
+
+
+fi
ac_fn_c_check_member "$LINENO" "union bpf_attr" "numa_node" "ac_cv_member_union_bpf_attr_numa_node" "#include <linux/bpf.h>
"
if test "x$ac_cv_member_union_bpf_attr_numa_node" = xyes; then :
@@ -10246,6 +10604,26 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "open_flags" "ac_cv_member_union_bpf_attr_open_flags" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_open_flags" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_OPEN_FLAGS 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "pathname" "ac_cv_member_union_bpf_attr_pathname" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_pathname" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_PATHNAME 1
+_ACEOF
+
+
+fi
ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_flags" "ac_cv_member_union_bpf_attr_prog_flags" "#include <linux/bpf.h>
"
if test "x$ac_cv_member_union_bpf_attr_prog_flags" = xyes; then :
@@ -10256,6 +10634,106 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_id" "ac_cv_member_union_bpf_attr_prog_id" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_prog_id" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_PROG_ID 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "prog_type" "ac_cv_member_union_bpf_attr_prog_type" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_prog_type" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_PROG_TYPE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "start_id" "ac_cv_member_union_bpf_attr_start_id" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_start_id" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_START_ID 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "target_fd" "ac_cv_member_union_bpf_attr_target_fd" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_target_fd" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TARGET_FD 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "value" "ac_cv_member_union_bpf_attr_value" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_value" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_VALUE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "value_size" "ac_cv_member_union_bpf_attr_value_size" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_value_size" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_VALUE_SIZE 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.data_in" "ac_cv_member_union_bpf_attr_test_data_in" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_data_in" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_IN 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.data_out" "ac_cv_member_union_bpf_attr_test_data_out" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_data_out" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_OUT 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.data_size_in" "ac_cv_member_union_bpf_attr_test_data_size_in" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_data_size_in" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.data_size_out" "ac_cv_member_union_bpf_attr_test_data_size_out" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_data_size_out" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT 1
+_ACEOF
+
+
+fi
ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.duration" "ac_cv_member_union_bpf_attr_test_duration" "#include <linux/bpf.h>
"
if test "x$ac_cv_member_union_bpf_attr_test_duration" = xyes; then :
@@ -10266,6 +10744,77 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.prog_fd" "ac_cv_member_union_bpf_attr_test_prog_fd" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_prog_fd" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_PROG_FD 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.repeat" "ac_cv_member_union_bpf_attr_test_repeat" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_repeat" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_REPEAT 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "test.retval" "ac_cv_member_union_bpf_attr_test_retval" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_test_retval" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_TEST_RETVAL 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.bpf_fd" "ac_cv_member_union_bpf_attr_info_bpf_fd" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_info_bpf_fd" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_INFO_BPF_FD 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info" "ac_cv_member_union_bpf_attr_info_info" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_info_info" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_INFO_INFO 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "info.info_len" "ac_cv_member_union_bpf_attr_info_info_len" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_info_info_len" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_INFO_INFO_LEN 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "union bpf_attr" "dummy" "ac_cv_member_union_bpf_attr_dummy" "#include <linux/bpf.h>
+"
+if test "x$ac_cv_member_union_bpf_attr_dummy" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UNION_BPF_ATTR_DUMMY 1
+_ACEOF
+
+
+fi
+
fi
@@ -10774,6 +11323,17 @@ _ACEOF
fi
+ac_fn_c_check_member "$LINENO" "struct btrfs_ioctl_logical_ino_args" "flags" "ac_cv_member_struct_btrfs_ioctl_logical_ino_args_flags" " #include <stdio.h>
+#include <linux/btrfs.h>
+"
+if test "x$ac_cv_member_struct_btrfs_ioctl_logical_ino_args_flags" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS 1
+_ACEOF
+
+
+fi
ac_fn_c_check_decl "$LINENO" "BTRFS_COMPRESS_NONE" "ac_cv_have_decl_BTRFS_COMPRESS_NONE" " #include <stdio.h>
#include <linux/btrfs.h>
@@ -12988,6 +13548,38 @@ $as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for static_assert" >&5
+$as_echo_n "checking for static_assert... " >&6; }
+if ${st_cv_have_static_assert+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <assert.h>
+int
+main ()
+{
+static_assert(1,"")
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ st_cv_have_static_assert=yes
+else
+ st_cv_have_static_assert=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_static_assert" >&5
+$as_echo "$st_cv_have_static_assert" >&6; }
+if test "x$st_cv_have_static_assert" = xyes; then
+
+$as_echo "#define HAVE_STATIC_ASSERT 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 :
@@ -13037,6 +13629,206 @@ $as_echo "#define HAVE_DLADDR 1" >>confdefs.h
fi
+saved_LIBS="$LIBS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing timer_create" >&5
+$as_echo_n "checking for library containing timer_create... " >&6; }
+if ${ac_cv_search_timer_create+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char timer_create ();
+int
+main ()
+{
+return timer_create ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' rt; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_timer_create=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_timer_create+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_timer_create+:} false; then :
+
+else
+ ac_cv_search_timer_create=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_create" >&5
+$as_echo "$ac_cv_search_timer_create" >&6; }
+ac_res=$ac_cv_search_timer_create
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+LIBS="$saved_LIBS"
+case "$ac_cv_search_timer_create" in
+ no) { { $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 timer_create
+See \`config.log' for more details" "$LINENO" 5; } ;;
+ -l*) timer_LIBS="$ac_cv_search_timer_create" ;;
+ *) timer_LIBS= ;;
+esac
+
+
+saved_LIBS="$LIBS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
+$as_echo_n "checking for library containing clock_gettime... " >&6; }
+if ${ac_cv_search_clock_gettime+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char clock_gettime ();
+int
+main ()
+{
+return clock_gettime ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' rt; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_clock_gettime=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_clock_gettime+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_clock_gettime+:} false; then :
+
+else
+ ac_cv_search_clock_gettime=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
+$as_echo "$ac_cv_search_clock_gettime" >&6; }
+ac_res=$ac_cv_search_clock_gettime
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+LIBS="$saved_LIBS"
+case "$ac_cv_search_clock_gettime" in
+ no) { { $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 clock_gettime
+See \`config.log' for more details" "$LINENO" 5; } ;;
+ -l*) clock_LIBS="$ac_cv_search_clock_gettime" ;;
+ *) clock_LIBS= ;;
+esac
+
+
+saved_LIBS="$LIBS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mq_open" >&5
+$as_echo_n "checking for library containing mq_open... " >&6; }
+if ${ac_cv_search_mq_open+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mq_open ();
+int
+main ()
+{
+return mq_open ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' rt; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_mq_open=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_mq_open+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_mq_open+:} false; then :
+
+else
+ ac_cv_search_mq_open=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_mq_open" >&5
+$as_echo "$ac_cv_search_mq_open" >&6; }
+ac_res=$ac_cv_search_mq_open
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+LIBS="$saved_LIBS"
+case "$ac_cv_search_mq_open" in
+ -l*) mq_LIBS="$ac_cv_search_mq_open" ;;
+ *) mq_LIBS= ;;
+esac
+
+
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -13626,7 +14418,7 @@ if ${st_cv_m32_mpers+:} false; then :
$as_echo_n "(cached) " >&6
else
if READELF="$READELF" \
- CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS" \
+ CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS $IFLAG" \
$srcdir/mpers_test.sh m32 $cc_flags_m32; then
st_cv_m32_mpers=yes
else
@@ -14125,7 +14917,7 @@ if ${st_cv_mx32_mpers+:} false; then :
$as_echo_n "(cached) " >&6
else
if READELF="$READELF" \
- CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS" \
+ CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS $IFLAG" \
$srcdir/mpers_test.sh mx32 $cc_flags_mx32; then
st_cv_mx32_mpers=yes
else
@@ -15518,7 +16310,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.21, which was
+This file was extended by strace $as_me 4.22, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15578,14 +16370,14 @@ $config_headers
Configuration commands:
$config_commands
-Report bugs to <strace-devel@lists.sourceforge.net>.
+Report bugs to <strace-devel@lists.strace.io>.
strace home page: <https://strace.io>."
_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.21
+strace config.status 4.22
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 86b8a8eb..6e53f982 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@
AC_PREREQ(2.57)
AC_INIT([strace],
m4_esyscmd([./git-version-gen .tarball-version]),
- [strace-devel@lists.sourceforge.net],
+ [strace-devel@lists.strace.io],
[strace],
[https://strace.io])
m4_define([copyright_year], m4_esyscmd([./copyright-year-gen .year]))
@@ -436,7 +436,6 @@ AC_CHECK_HEADERS(m4_normalize([
sys/ipc.h
sys/msg.h
sys/quota.h
- sys/reg.h
sys/sem.h
sys/shm.h
sys/signalfd.h
@@ -466,16 +465,8 @@ AC_CHECK_HEADERS([linux/input.h], [
])
AC_CHECK_HEADERS([linux/bpf.h], [
- AC_CHECK_MEMBERS(m4_normalize([
- union bpf_attr.attach_flags,
- union bpf_attr.bpf_fd,
- union bpf_attr.flags,
- union bpf_attr.info.info,
- union bpf_attr.next_id,
- union bpf_attr.numa_node,
- union bpf_attr.prog_flags,
- union bpf_attr.test.duration
- ]),,, [#include <linux/bpf.h>])
+ AC_CHECK_TYPES([struct bpf_insn],,, [#include <linux/bpf.h>])
+ st_BPF_ATTR
])
AC_CHECK_TYPES(m4_normalize([
@@ -566,7 +557,8 @@ AC_CHECK_HEADERS([linux/btrfs.h], [
struct btrfs_ioctl_feature_flags.compat_flags,
struct btrfs_ioctl_fs_info_args.nodesize,
struct btrfs_ioctl_defrag_range_args.start,
- struct btrfs_ioctl_search_args_v2.buf_size
+ struct btrfs_ioctl_search_args_v2.buf_size,
+ struct btrfs_ioctl_logical_ino_args.flags
]),,, [ #include <stdio.h>
#include <linux/btrfs.h>])
AC_CHECK_DECLS(m4_normalize([BTRFS_COMPRESS_NONE, BTRFS_COMPRESS_ZLIB,
@@ -803,12 +795,51 @@ if test "x$st_cv_have_program_invocation_name" = xyes; then
[Define to 1 if the system provides program_invocation_name variable])
fi
+AC_CACHE_CHECK([for static_assert], [st_cv_have_static_assert],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <assert.h>]],
+ [[static_assert(1,"")]])],
+ [st_cv_have_static_assert=yes],
+ [st_cv_have_static_assert=no])])
+if test "x$st_cv_have_static_assert" = xyes; then
+ AC_DEFINE([HAVE_STATIC_ASSERT], [1],
+ [Define to 1 if the system provides static_assert])
+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])
fi
AC_SUBST(dl_LIBS)
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([timer_create], [rt])
+LIBS="$saved_LIBS"
+case "$ac_cv_search_timer_create" in
+ no) AC_MSG_FAILURE([failed to find timer_create]) ;;
+ -l*) timer_LIBS="$ac_cv_search_timer_create" ;;
+ *) timer_LIBS= ;;
+esac
+AC_SUBST(timer_LIBS)
+
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([clock_gettime], [rt])
+LIBS="$saved_LIBS"
+case "$ac_cv_search_clock_gettime" in
+ no) AC_MSG_FAILURE([failed to find clock_gettime]) ;;
+ -l*) clock_LIBS="$ac_cv_search_clock_gettime" ;;
+ *) clock_LIBS= ;;
+esac
+AC_SUBST(clock_LIBS)
+
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([mq_open], [rt])
+LIBS="$saved_LIBS"
+case "$ac_cv_search_mq_open" in
+ -l*) mq_LIBS="$ac_cv_search_mq_open" ;;
+ *) mq_LIBS= ;;
+esac
+AC_SUBST(mq_LIBS)
+
AC_PATH_PROG([PERL], [perl])
AC_CHECK_TOOL([READELF], [readelf])
diff --git a/count.c b/count.c
index 2065e715..d667ec50 100644
--- a/count.c
+++ b/count.c
@@ -39,73 +39,45 @@
/* Per-syscall stats structure */
struct call_counts {
/* time may be total latency or system time */
- struct timeval time;
+ struct timespec time;
unsigned int calls, errors;
};
static struct call_counts *countv[SUPPORTED_PERSONALITIES];
#define counts (countv[current_personality])
-static struct timeval shortest = { 1000000, 0 };
+static struct timespec overhead;
void
-count_syscall(struct tcb *tcp, const struct timeval *syscall_exiting_tv)
+count_syscall(struct tcb *tcp, const struct timespec *syscall_exiting_ts)
{
- struct timeval wtv;
- struct timeval *tv = &wtv;
- struct call_counts *cc;
-
if (!scno_in_range(tcp->scno))
return;
if (!counts)
counts = xcalloc(nsyscalls, sizeof(*counts));
- cc = &counts[tcp->scno];
+ struct call_counts *cc = &counts[tcp->scno];
cc->calls++;
if (syserror(tcp))
cc->errors++;
- /* tv = wall clock time spent while in syscall */
- tv_sub(tv, syscall_exiting_tv, &tcp->etime);
-
- /* Spent more wall clock time than spent system time? (usually yes) */
- if (tv_cmp(tv, &tcp->dtime) > 0) {
- static struct timeval one_tick = { -1, 0 };
+ if (count_wallclock) {
+ /* wall clock time spent while in syscall */
+ struct timespec wts;
+ ts_sub(&wts, syscall_exiting_ts, &tcp->etime);
- if (one_tick.tv_sec == -1) {
- /* Initialize it. */
- struct itimerval it;
-
- memset(&it, 0, sizeof(it));
- it.it_interval.tv_usec = 1;
- setitimer(ITIMER_REAL, &it, NULL);
- getitimer(ITIMER_REAL, &it);
- one_tick = it.it_interval;
-//FIXME: this hack doesn't work (tested on linux-3.6.11): one_tick = 0.000000
-//tprintf(" one_tick.tv_usec:%u\n", (unsigned)one_tick.tv_usec);
- }
-
- if (tv_nz(&tcp->dtime))
- /* tv = system time spent, if it isn't 0 */
- tv = &tcp->dtime;
- else if (tv_cmp(tv, &one_tick) > 0) {
- /* tv = smallest "sane" time interval */
- if (tv_cmp(&shortest, &one_tick) < 0)
- tv = &shortest;
- else
- tv = &one_tick;
- }
+ ts_add(&cc->time, &cc->time, &wts);
+ } else {
+ /* system CPU time spent while in syscall */
+ ts_add(&cc->time, &cc->time, &tcp->dtime);
}
- if (tv_cmp(tv, &shortest) < 0)
- shortest = *tv;
- tv_add(&cc->time, &cc->time, count_wallclock ? &wtv : tv);
}
static int
time_cmp(void *a, void *b)
{
- return -tv_cmp(&counts[*((int *) a)].time,
+ return -ts_cmp(&counts[*((int *) a)].time,
&counts[*((int *) b)].time);
}
@@ -127,7 +99,6 @@ count_cmp(void *a, void *b)
}
static int (*sortfun)();
-static struct timeval overhead = { -1, -1 };
void
set_sortby(const char *sortby)
@@ -148,7 +119,7 @@ set_sortby(const char *sortby)
void set_overhead(int n)
{
overhead.tv_sec = n / 1000000;
- overhead.tv_usec = n % 1000000;
+ overhead.tv_nsec = n % 1000000 * 1000;
}
static void
@@ -161,7 +132,7 @@ call_summary_pers(FILE *outf)
unsigned int i;
unsigned int call_cum, error_cum;
- struct timeval tv_cum, dtv;
+ struct timespec tv_cum, dtv;
double float_tv_cum;
double percent;
unsigned int *sorted_count;
@@ -172,22 +143,20 @@ call_summary_pers(FILE *outf)
fprintf(outf, header, dashes, dashes, dashes, dashes, dashes, dashes);
sorted_count = xcalloc(sizeof(sorted_count[0]), nsyscalls);
- call_cum = error_cum = tv_cum.tv_sec = tv_cum.tv_usec = 0;
- if (overhead.tv_sec == -1) {
- tv_mul(&overhead, &shortest, 8);
- tv_div(&overhead, &overhead, 10);
- }
+ call_cum = error_cum = tv_cum.tv_sec = tv_cum.tv_nsec = 0;
for (i = 0; i < nsyscalls; i++) {
sorted_count[i] = i;
if (counts == NULL || counts[i].calls == 0)
continue;
- tv_mul(&dtv, &overhead, counts[i].calls);
- tv_sub(&counts[i].time, &counts[i].time, &dtv);
+ ts_mul(&dtv, &overhead, counts[i].calls);
+ ts_sub(&counts[i].time, &counts[i].time, &dtv);
+ if (counts[i].time.tv_sec < 0 || counts[i].time.tv_nsec < 0)
+ counts[i].time.tv_sec = counts[i].time.tv_nsec = 0;
call_cum += counts[i].calls;
error_cum += counts[i].errors;
- tv_add(&tv_cum, &tv_cum, &counts[i].time);
+ ts_add(&tv_cum, &tv_cum, &counts[i].time);
}
- float_tv_cum = tv_float(&tv_cum);
+ float_tv_cum = ts_float(&tv_cum);
if (counts) {
if (sortfun)
qsort((void *) sorted_count, nsyscalls,
@@ -198,15 +167,15 @@ call_summary_pers(FILE *outf)
struct call_counts *cc = &counts[idx];
if (cc->calls == 0)
continue;
- tv_div(&dtv, &cc->time, cc->calls);
- float_syscall_time = tv_float(&cc->time);
+ ts_div(&dtv, &cc->time, cc->calls);
+ float_syscall_time = ts_float(&cc->time);
percent = (100.0 * float_syscall_time);
if (percent != 0.0)
percent /= float_tv_cum;
/* else: float_tv_cum can be 0.0 too and we get 0/0 = NAN */
fprintf(outf, data,
percent, float_syscall_time,
- (long) (1000000 * dtv.tv_sec + dtv.tv_usec),
+ (long) (1000000 * dtv.tv_sec + dtv.tv_nsec / 1000),
cc->calls, cc->errors, sysent[idx].sys_name);
}
}
diff --git a/debian/changelog b/debian/changelog
index 19574cfe..a93aed6d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
-strace (4.21-1) experimental; urgency=low
+strace (4.22-1) experimental; urgency=low
- * strace 4.21 snapshot.
+ * strace 4.22 snapshot.
- -- Strace <strace-devel@lists.sourceforge.net> Tue, 13 Feb 2018 23:10:19 +0000
+ -- Strace <strace-devel@lists.strace.io> Thu, 14 Jun 2018 16:29:09 -0700
+
+strace (4.21-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Dmitry V. Levin <ldv@altlinux.org> Tue, 13 Feb 2018 23:24:25 +0000
strace (4.20-1) unstable; urgency=medium
@@ -929,23 +935,24 @@ strace (3.1-4) unstable; urgency=low
* Fixed changestemplate
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>, Thu Sep 12 14:59:44 MET DST 1996
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 12 Sep 1996 14:59:44 +0200
strace (3.1-3) unstable; urgency=low
* Revamped debian files
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>, Thu Jul 11 20:19:11 MET DST 1996
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 11 Jul 1996 20:19:11 +0200
strace (3.1-2) unstable; urgency=low
+
* Added some #ifdef's around IPX stuff to make it compilable on non-Linux
systems.
* changed debian.control and debian.rules to conform to new debian naming
schemes
* added architecture-option to debian.rules and debian.control
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 1 Jul 1996 00:00:00 +0000
strace (3.1-1) unstable; urgency=low
@@ -958,4 +965,4 @@ strace (3.1-1) unstable; urgency=low
* added IP, IPX and TCP support to get-/setsockopt()
* added IPX support
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 1 Jun 1996 00:00:00 +0000
diff --git a/debian/changelog.in b/debian/changelog.in
index 02bf4b83..f9f7c202 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.21-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Dmitry V. Levin <ldv@altlinux.org> Tue, 13 Feb 2018 23:24:25 +0000
+
strace (4.20-1) unstable; urgency=medium
* New upstream version.
@@ -929,23 +935,24 @@ strace (3.1-4) unstable; urgency=low
* Fixed changestemplate
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>, Thu Sep 12 14:59:44 MET DST 1996
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 12 Sep 1996 14:59:44 +0200
strace (3.1-3) unstable; urgency=low
* Revamped debian files
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>, Thu Jul 11 20:19:11 MET DST 1996
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 11 Jul 1996 20:19:11 +0200
strace (3.1-2) unstable; urgency=low
+
* Added some #ifdef's around IPX stuff to make it compilable on non-Linux
systems.
* changed debian.control and debian.rules to conform to new debian naming
schemes
* added architecture-option to debian.rules and debian.control
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 1 Jul 1996 00:00:00 +0000
strace (3.1-1) unstable; urgency=low
@@ -958,4 +965,4 @@ strace (3.1-1) unstable; urgency=low
* added IP, IPX and TCP support to get-/setsockopt()
* added IPX support
- -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl>
+ -- Wichert Akkerman <wakkerma@wi.leidenuniv.nl> Thu, 1 Jun 1996 00:00:00 +0000
diff --git a/debian/control b/debian/control
index 477b9d98..3caffd18 100644
--- a/debian/control
+++ b/debian/control
@@ -2,14 +2,14 @@ Source: strace
Maintainer: Steve McIntyre <93sam@debian.org>
Section: utils
Priority: optional
-Build-Depends: libc6-dev (>= 2.2.2) [!alpha !ia64], libc6.1-dev (>= 2.2.2) [alpha ia64], gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc sparc64 x32], debhelper (>= 7.0.0), gawk, libunwind-dev [amd64], libiberty-dev [amd64]
-Standards-Version: 3.9.8
+Build-Depends: libc6-dev (>= 2.2.2) [!alpha !ia64], libc6.1-dev (>= 2.2.2) [alpha ia64], gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc sparc64 x32], debhelper (>= 7.0.0), gawk, libunwind-dev [amd64], libiberty-dev [amd64], libbluetooth-dev
+Standards-Version: 4.1.3
Homepage: https://strace.io
-Vcs-Git: https://anonscm.debian.org/git/collab-maint/strace.git
-Vcs-Browser: https://anonscm.debian.org/git/collab-maint/strace.git
+Vcs-Git: https://salsa.debian.org/debian/strace.git
+Vcs-Browser: https://salsa.debian.org/debian/strace
Package: strace
-Architecture: alpha amd64 arm64 armeb armel armhf hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32
+Architecture: linux-any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: System call tracer
strace is a system call tracer, i.e. a debugging tool which prints out
@@ -23,7 +23,7 @@ Description: System call tracer
Package: strace64
Architecture: i386 powerpc s390 sparc
-Priority: extra
+Priority: optional
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: System call tracer for 64bit binaries
strace is a system call tracer, i.e. a debugging tool which prints out
@@ -41,8 +41,8 @@ Description: System call tracer for 64bit binaries
Package: strace-udeb
Section: debian-installer
XC-Package-Type: udeb
-Priority: extra
-Architecture: alpha amd64 arm64 armeb armel armhf hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el s390 sh4 sparc sparc64 x32
+Priority: optional
+Architecture: linux-any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: System call tracer
strace is a system call tracer, i.e. a debugging tool which prints out
diff --git a/debian/copyright b/debian/copyright
index e227efdb..00bccbed 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,7 +1,7 @@
This is the Debian packaged version of strace. For a complete list of
changes from the upstream version please see the changelog.
-The upstream sources can be found at http://sourceforge.net/projects/strace/
+The upstream sources can be found at https://github.com/strace/strace/
This is the copyright as found in the upstream sources:
@@ -10,10 +10,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-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>
+Copyright (c) 1998-2001 Wichert Akkerman <wakkerma@deephackmode.org>
+Copyright (c) 2001-2018 The strace developers.
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/debian/rules b/debian/rules
index 2ba864bf..f335fedf 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,6 +5,7 @@
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
+include /usr/share/dpkg/architecture.mk
CFLAGS += -Wall -g
@@ -19,10 +20,6 @@ ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif
-DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
-
extra_build_targets += build-udeb-stamp
arch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
@@ -46,6 +43,9 @@ build: build-arch build-indep
build-arch: build-stamp $(extra_build_targets)
build-indep: build-stamp $(extra_build_targets)
+configure:
+ ./bootstrap
+
%-stamp: %/Makefile
$(MAKE) -C $*
ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
@@ -54,16 +54,16 @@ ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
endif
touch $@
-build/Makefile:
+build/Makefile: configure
mkdir -p $(@D)
cd $(@D); sh ../configure --enable-mpers=check --prefix=/usr $(CONFIG_OPTS)
-build-udeb/Makefile:
+build-udeb/Makefile: configure
mkdir -p $(@D)
cd $(@D); sh ../configure --enable-mpers=check --prefix=/usr \
--without-libunwind --without-libiberty $(CONFIG_OPTS)
-build64/Makefile:
+build64/Makefile: configure
mkdir -p $(@D)
cd $(@D); CC="$(CC64)" sh ../configure --enable-mpers=check --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64)
@@ -82,7 +82,7 @@ binary-arch: build
# prepare 64bit executable and manpage, if it has been built
test -f build64-stamp && ( mv build64/strace build64/strace64 ; \
- cp strace.1 strace64.1 ) || true
+ mv build64/strace.1 build64/strace64.1 ) || true
dh_testdir -a
dh_testroot -a
diff --git a/debian/strace.manpages b/debian/strace.manpages
index d3b94482..9fb376b3 100644
--- a/debian/strace.manpages
+++ b/debian/strace.manpages
@@ -1,2 +1,2 @@
-strace.1
-strace-log-merge.1
+build/strace.1
+build/strace-log-merge.1
diff --git a/debian/strace64.manpages b/debian/strace64.manpages
index e3adc937..fb5fb240 100644
--- a/debian/strace64.manpages
+++ b/debian/strace64.manpages
@@ -1 +1 @@
-strace64.1
+build64/strace64.1
diff --git a/defs.h b/defs.h
index de55d3b7..62aa11c9 100644
--- a/defs.h
+++ b/defs.h
@@ -108,11 +108,7 @@ extern char *stpcpy(char *dst, const char *src);
#ifndef DEFAULT_SORTBY
# define DEFAULT_SORTBY "time"
#endif
-/*
- * Experimental code using PTRACE_SEIZE can be enabled here.
- * This needs Linux kernel 3.4.x or later to work.
- */
-#define USE_SEIZE 1
+
/* To force NOMMU build, set to 1 */
#define NOMMU_SYSTEM 0
@@ -175,13 +171,17 @@ typedef struct ioctlent {
unsigned int code;
} struct_ioctlent;
-#define INJECT_F_SIGNAL 1
-#define INJECT_F_RETVAL 2
+#define INJECT_F_SIGNAL 0x01
+#define INJECT_F_ERROR 0x02
+#define INJECT_F_RETVAL 0x04
+#define INJECT_F_DELAY_ENTER 0x08
+#define INJECT_F_DELAY_EXIT 0x10
struct inject_data {
- uint16_t flags;
- uint16_t signo;
- kernel_long_t rval;
+ uint8_t flags; /* 5 of 8 flags are used so far */
+ uint8_t signo; /* NSIG <= 128 */
+ uint16_t rval_idx; /* index in retval_vec */
+ uint16_t delay_idx; /* index in delay_data_vec */
};
struct inject_opts {
@@ -213,16 +213,18 @@ struct tcb {
const struct_sysent *s_ent; /* sysent[scno] or dummy struct for bad scno */
const struct_sysent *s_prev_ent; /* for "resuming interrupted SYSCALL" msg */
struct inject_opts *inject_vec[SUPPORTED_PERSONALITIES];
- struct timeval stime; /* System time usage as of last process wait */
- struct timeval dtime; /* Delta for system time usage */
- struct timeval etime; /* Syscall entry time */
+ struct timespec stime; /* System time usage as of last process wait */
+ struct timespec dtime; /* Delta for system time usage */
+ struct timespec etime; /* Syscall entry time */
+ struct timespec delay_expiration_time; /* When does the delay end */
-#ifdef USE_LIBUNWIND
- 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;
+
+#ifdef USE_LIBUNWIND
+ void *unwind_ctx;
+ struct unwind_queue_t *unwind_queue;
#endif
};
@@ -252,6 +254,9 @@ struct tcb {
* in the middle of a syscall */
#define TCB_RECOVERING 0x400 /* We try to recover after detecting incorrect
* syscall entering/exiting state */
+#define TCB_INJECT_DELAY_EXIT 0x800 /* Current syscall needs to be delayed
+ on exit */
+#define TCB_DELAYED 0x1000 /* Current syscall has been delayed */
/* qualifier flags */
#define QUAL_TRACE 0x001 /* this system call should be traced */
@@ -274,6 +279,8 @@ struct tcb {
#define hide_log(tcp) ((tcp)->flags & TCB_HIDE_LOG)
#define syscall_tampered(tcp) ((tcp)->flags & TCB_TAMPERED)
#define recovering(tcp) ((tcp)->flags & TCB_RECOVERING)
+#define inject_delay_exit(tcp) ((tcp)->flags & TCB_INJECT_DELAY_EXIT)
+#define syscall_delayed(tcp) ((tcp)->flags & TCB_DELAYED)
#include "xlat.h"
@@ -282,13 +289,19 @@ extern const struct xlat arp_hardware_types[];
extern const struct xlat at_flags[];
extern const struct xlat clocknames[];
extern const struct xlat dirent_types[];
+
+/** Ethernet protocols list, sorted and unterminated, defined in sockaddr.c. */
extern const struct xlat ethernet_protocols[];
+/** Ethernet protocols array size without terminating record. */
+extern const size_t ethernet_protocols_size;
+
extern const struct xlat evdev_abs[];
extern const struct xlat iffflags[];
extern const struct xlat inet_protocols[];
extern const struct xlat ip_type_of_services[];
extern const struct xlat msg_flags[];
extern const struct xlat netlink_protocols[];
+extern const struct xlat nl_netfilter_msg_types[];
extern const struct xlat nl_route_types[];
extern const struct xlat open_access_modes[];
extern const struct xlat open_mode_flags[];
@@ -296,6 +309,7 @@ extern const struct xlat resource_flags[];
extern const struct xlat routing_scopes[];
extern const struct xlat routing_table_ids[];
extern const struct xlat routing_types[];
+extern const struct xlat seccomp_filter_flags[];
extern const struct xlat seccomp_ret_action[];
extern const struct xlat setns_types[];
extern const struct xlat sg_io_info[];
@@ -306,10 +320,9 @@ extern const struct xlat tcp_states[];
extern const struct xlat whence_codes[];
/* Format of syscall return values */
-#define RVAL_DECIMAL 000 /* decimal format */
+#define RVAL_UDECIMAL 000 /* unsigned decimal format */
#define RVAL_HEX 001 /* hex format */
#define RVAL_OCTAL 002 /* octal format */
-#define RVAL_UDECIMAL 003 /* unsigned decimal format */
#define RVAL_FD 010 /* file descriptor */
#define RVAL_MASK 013 /* mask for these values */
@@ -319,10 +332,6 @@ extern const struct xlat whence_codes[];
#define RVAL_DECODED 0100 /* syscall decoding finished */
#define RVAL_IOCTL_DECODED 0200 /* ioctl sub-parser successfully decoded
the argument */
-#define RVAL_PRINT_ERR_VAL 0400 /* Print decoded error code along with
- syscall return value. Needed for modify_ldt
- that for some reason decides to return
- an error with higher bits set to 0. */
#define IOCTL_NUMBER_UNKNOWN 0
#define IOCTL_NUMBER_HANDLED 1
@@ -388,11 +397,11 @@ 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 int syscall_exiting_decode(struct tcb *, struct timespec *);
+extern int syscall_exiting_trace(struct tcb *, struct timespec *, int);
extern void syscall_exiting_finish(struct tcb *);
-extern void count_syscall(struct tcb *, const struct timeval *);
+extern void count_syscall(struct tcb *, const struct timespec *);
extern void call_summary(FILE *);
extern void clear_regs(struct tcb *tcp);
@@ -533,7 +542,10 @@ str_strip_prefix_len(const char *str, const char *prefix, size_t prefix_len)
#define QUOTE_FORCE_HEX 0x10
#define QUOTE_EMIT_COMMENT 0x20
-extern int string_quote(const char *, char *, unsigned int, unsigned int);
+extern int string_quote(const char *, char *, unsigned int, unsigned int,
+ const char *escape_chars);
+extern int print_quoted_string_ex(const char *, unsigned int, unsigned int,
+ const char *escape_chars);
extern int print_quoted_string(const char *, unsigned int, unsigned int);
extern int print_quoted_cstring(const char *, unsigned int);
@@ -551,20 +563,25 @@ extern int getllval(struct tcb *, unsigned long long *, int);
extern int printllval(struct tcb *, const char *, int)
ATTRIBUTE_FORMAT((printf, 2, 0));
+extern void printaddr64(uint64_t addr);
extern void printaddr(kernel_ulong_t addr);
extern int printxvals(const uint64_t, const char *, const struct xlat *, ...)
ATTRIBUTE_SENTINEL;
extern int printxval_searchn(const struct xlat *xlat, size_t xlat_size,
uint64_t val, const char *dflt);
+/**
+ * Wrapper around printxval_searchn that passes ARRAY_SIZE - 1
+ * as the array size, as all arrays are XLAT_END-terminated and
+ * printxval_searchn expects a size without the terminating record.
+ */
#define printxval_search(xlat__, val__, dflt__) \
- printxval_searchn(xlat__, ARRAY_SIZE(xlat__), val__, dflt__)
+ printxval_searchn(xlat__, ARRAY_SIZE(xlat__) - 1, val__, dflt__)
extern int sprintxval(char *buf, size_t size, const struct xlat *,
unsigned int val, const char *dflt);
extern int printargs(struct tcb *);
extern int printargs_u(struct tcb *);
extern int printargs_d(struct tcb *);
-extern void addflags(const struct xlat *, uint64_t);
extern int printflags_ex(uint64_t, const char *, const struct xlat *, ...)
ATTRIBUTE_SENTINEL;
extern const char *sprintflags(const char *, const struct xlat *, uint64_t);
@@ -675,6 +692,7 @@ name ## _ioctl(struct tcb *, unsigned int request, kernel_ulong_t arg) \
/* End of DECL_IOCTL definition. */
DECL_IOCTL(dm);
+DECL_IOCTL(evdev);
DECL_IOCTL(file);
DECL_IOCTL(fs_x);
DECL_IOCTL(kvm);
@@ -687,6 +705,7 @@ DECL_IOCTL(uffdio);
#undef DECL_IOCTL
extern int decode_sg_io_v4(struct tcb *, const kernel_ulong_t arg);
+extern void print_evdev_ff_type(const kernel_ulong_t val);
struct nlmsghdr;
@@ -700,25 +719,25 @@ decode_netlink_ ## name(struct tcb *, const struct nlmsghdr *, \
/* End of DECL_NETLINK definition. */
DECL_NETLINK(crypto);
+DECL_NETLINK(netfilter);
DECL_NETLINK(route);
DECL_NETLINK(selinux);
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 *);
-extern void tv_add(struct timeval *, const struct timeval *, const struct timeval *);
-extern void tv_sub(struct timeval *, const struct timeval *, const struct timeval *);
-extern void tv_mul(struct timeval *, const struct timeval *, int);
-extern void tv_div(struct timeval *, const struct timeval *, int);
+extern int ts_nz(const struct timespec *);
+extern int ts_cmp(const struct timespec *, const struct timespec *);
+extern double ts_float(const struct timespec *);
+extern void ts_add(struct timespec *, const struct timespec *, const struct timespec *);
+extern void ts_sub(struct timespec *, const struct timespec *, const struct timespec *);
+extern void ts_mul(struct timespec *, const struct timespec *, int);
+extern void ts_div(struct timespec *, const struct timespec *, int);
#ifdef USE_LIBUNWIND
extern void unwind_init(void);
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 *);
+extern void unwind_tcb_print(struct tcb *);
+extern void unwind_tcb_capture(struct tcb *);
#endif
static inline int
@@ -845,6 +864,34 @@ extern unsigned current_klongsize;
# endif
#endif
+#define max_addr() (~0ULL >> ((8 - current_wordsize) * 8))
+#define max_kaddr() (~0ULL >> ((8 - current_klongsize) * 8))
+
+/*
+ * When u64 is interpreted by the kernel as an address, there is a difference
+ * in behaviour between 32-bit and 64-bit kernel in the way u64_to_user_ptr
+ * works (32-bit kernel trims higher bits during conversion which may result
+ * to a valid address). Since 32-bit strace cannot figure out what kind of
+ * kernel the tracee is running on, it has to account for both possibilities.
+ */
+#if CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL
+
+/**
+ * Print raw 64-bit value as an address if it's too big to fit in strace's
+ * kernel_long_t.
+ */
+static inline void
+print_big_u64_addr(const uint64_t addr)
+{
+ if (sizeof(kernel_long_t) < 8 && addr > max_kaddr()) {
+ printaddr64(addr);
+ tprints(" or ");
+ }
+}
+#else /* !CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL */
+# define print_big_u64_addr(addr_) ((void) 0)
+#endif /* CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL */
+
#if SIZEOF_KERNEL_LONG_T > 4 \
&& (SIZEOF_LONG < SIZEOF_KERNEL_LONG_T || !defined(current_wordsize))
# define ANY_WORDSIZE_LESS_THAN_KERNEL_LONG 1
diff --git a/delay.c b/delay.c
new file mode 100644
index 00000000..86dd828e
--- /dev/null
+++ b/delay.c
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2018 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"
+
+struct inject_delay_data {
+ struct timespec ts_enter;
+ struct timespec ts_exit;
+};
+
+static struct inject_delay_data *delay_data_vec;
+static size_t delay_data_vec_capacity; /* size of the arena */
+static size_t delay_data_vec_size; /* size of the used arena */
+
+static timer_t delay_timer = (timer_t) -1;
+static bool delay_timer_is_armed;
+
+static void
+expand_delay_data_vec(void)
+{
+ const size_t old_capacity = delay_data_vec_capacity;
+ delay_data_vec = xgrowarray(delay_data_vec, &delay_data_vec_capacity,
+ sizeof(*delay_data_vec));
+ memset(delay_data_vec + old_capacity, 0,
+ (delay_data_vec_capacity - old_capacity)
+ * sizeof(*delay_data_vec));
+}
+
+uint16_t
+alloc_delay_data(void)
+{
+ const uint16_t rval = delay_data_vec_size;
+
+ if (rval < delay_data_vec_size)
+ error_func_msg_and_die("delay index overflow");
+
+ if (delay_data_vec_size == delay_data_vec_capacity)
+ expand_delay_data_vec();
+
+ ++delay_data_vec_size;
+ return rval;
+}
+
+void
+fill_delay_data(uint16_t delay_idx, int intval, bool isenter)
+{
+ if (delay_idx >= delay_data_vec_size)
+ error_func_msg_and_die("delay_idx >= delay_data_vec_size");
+
+ struct timespec *ts;
+ if (isenter)
+ ts = &(delay_data_vec[delay_idx].ts_enter);
+ else
+ ts = &(delay_data_vec[delay_idx].ts_exit);
+
+ ts->tv_sec = intval / 1000000;
+ ts->tv_nsec = intval % 1000000 * 1000;
+}
+
+static bool
+is_delay_timer_created(void)
+{
+ return delay_timer != (timer_t) -1;
+}
+
+bool
+is_delay_timer_armed(void)
+{
+ return delay_timer_is_armed;
+}
+
+void
+delay_timer_expired(void)
+{
+ delay_timer_is_armed = false;
+}
+
+void
+arm_delay_timer(const struct tcb *const tcp)
+{
+ const struct itimerspec its = {
+ .it_value = tcp->delay_expiration_time
+ };
+
+ if (timer_settime(delay_timer, TIMER_ABSTIME, &its, NULL))
+ perror_msg_and_die("timer_settime");
+
+ delay_timer_is_armed = true;
+
+ debug_func_msg("timer set to %lld.%09ld for pid %d",
+ (long long) tcp->delay_expiration_time.tv_sec,
+ (long) tcp->delay_expiration_time.tv_nsec,
+ tcp->pid);
+}
+
+void
+delay_tcb(struct tcb *tcp, uint16_t delay_idx, bool isenter)
+{
+ if (delay_idx >= delay_data_vec_size)
+ error_func_msg_and_die("delay_idx >= delay_data_vec_size");
+
+ debug_func_msg("delaying pid %d on %s",
+ tcp->pid, isenter ? "enter" : "exit");
+ tcp->flags |= TCB_DELAYED;
+
+ struct timespec *ts_diff;
+ if (isenter)
+ ts_diff = &(delay_data_vec[delay_idx].ts_enter);
+ else
+ ts_diff = &(delay_data_vec[delay_idx].ts_exit);
+
+ struct timespec ts_now;
+ clock_gettime(CLOCK_MONOTONIC, &ts_now);
+ ts_add(&tcp->delay_expiration_time, &ts_now, ts_diff);
+
+ if (is_delay_timer_created()) {
+ struct itimerspec its;
+ if (timer_gettime(delay_timer, &its))
+ perror_msg_and_die("timer_gettime");
+
+ const struct timespec *const ts_old = &its.it_value;
+ if (ts_nz(ts_old) && ts_cmp(ts_diff, ts_old) > 0)
+ return;
+ } else {
+ if (timer_create(CLOCK_MONOTONIC, NULL, &delay_timer))
+ perror_msg_and_die("timer_create");
+ }
+
+ arm_delay_timer(tcp);
+}
diff --git a/delay.h b/delay.h
new file mode 100644
index 00000000..f7c2773c
--- /dev/null
+++ b/delay.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2018 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_DELAY_H
+#define STRACE_DELAY_H
+
+uint16_t alloc_delay_data(void);
+void fill_delay_data(uint16_t delay_idx, int intval, bool isenter);
+bool is_delay_timer_armed(void);
+void delay_timer_expired(void);
+void arm_delay_timer(const struct tcb *);
+void delay_tcb(struct tcb *, uint16_t delay_idx, bool isenter);
+
+#endif /* !STRACE_DELAY_H */
diff --git a/dm.c b/dm.c
index 32b33101..77a286b3 100644
--- a/dm.c
+++ b/dm.c
@@ -5,7 +5,7 @@
* Copyright (c) 2016 Masatake Yamato <yamato@redhat.com>
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -91,7 +91,7 @@ dm_decode_values(struct tcb *tcp, const unsigned int code,
case DM_DEV_SUSPEND:
if (ioc->flags & DM_SUSPEND_FLAG)
break;
- /* Fall through */
+ ATTRIBUTE_FALLTHROUGH;
case DM_DEV_RENAME:
case DM_DEV_REMOVE:
case DM_DEV_WAIT:
diff --git a/evdev.c b/evdev.c
index 5642e0d7..674c1c05 100644
--- a/evdev.c
+++ b/evdev.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015 Etienne Gemsa <etienne.gemsa@lse.epita.fr>
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -31,19 +31,9 @@
#ifdef HAVE_LINUX_INPUT_H
-#include DEF_MPERS_TYPE(struct_ff_effect)
-
# include <linux/ioctl.h>
# include <linux/input.h>
-typedef struct ff_effect struct_ff_effect;
-
-#endif /* HAVE_LINUX_INPUT_H */
-
-#include MPERS_DEFS
-
-#ifdef HAVE_LINUX_INPUT_H
-
# include "xlat/evdev_autorepeat.h"
# include "xlat/evdev_ff_status.h"
# include "xlat/evdev_ff_types.h"
@@ -61,99 +51,6 @@ typedef struct ff_effect struct_ff_effect;
# define SYN_MAX 0xf
# endif
-static void
-decode_envelope(void *const data)
-{
- const struct ff_envelope *const envelope = data;
-
- tprintf(", envelope={attack_length=%" PRIu16
- ", attack_level=%" PRIu16
- ", fade_length=%" PRIu16
- ", fade_level=%#x}",
- envelope->attack_length,
- envelope->attack_level,
- envelope->fade_length,
- envelope->fade_level);
-}
-
-static int
-ff_effect_ioctl(struct tcb *const tcp, const kernel_ulong_t arg)
-{
- tprints(", ");
-
- struct_ff_effect ffe;
-
- if (umove_or_printaddr(tcp, arg, &ffe))
- return RVAL_IOCTL_DECODED;
-
- tprints("{type=");
- printxval(evdev_ff_types, ffe.type, "FF_???");
- tprintf(", id=%" PRIu16
- ", direction=%" PRIu16 ", ",
- ffe.id,
- ffe.direction);
-
- if (abbrev(tcp)) {
- tprints("...}");
- return RVAL_IOCTL_DECODED;
- }
-
- tprintf("trigger={button=%" PRIu16
- ", interval=%" PRIu16 "}"
- ", replay={length=%" PRIu16
- ", delay=%" PRIu16 "}",
- ffe.trigger.button,
- ffe.trigger.interval,
- ffe.replay.length,
- ffe.replay.delay);
-
- switch (ffe.type) {
- case FF_CONSTANT:
- tprintf(", constant={level=%" PRId16,
- ffe.u.constant.level);
- decode_envelope(&ffe.u.constant.envelope);
- tprints("}");
- break;
- case FF_RAMP:
- tprintf(", ramp={start_level=%" PRId16
- ", end_level=%" PRId16,
- ffe.u.ramp.start_level,
- ffe.u.ramp.end_level);
- decode_envelope(&ffe.u.ramp.envelope);
- tprints("}");
- break;
- case FF_PERIODIC:
- tprintf(", periodic={waveform=%" PRIu16
- ", period=%" PRIu16
- ", magnitude=%" PRId16
- ", offset=%" PRId16
- ", phase=%" PRIu16,
- ffe.u.periodic.waveform,
- ffe.u.periodic.period,
- ffe.u.periodic.magnitude,
- ffe.u.periodic.offset,
- ffe.u.periodic.phase);
- decode_envelope(&ffe.u.periodic.envelope);
- tprintf(", custom_len=%u, custom_data=",
- ffe.u.periodic.custom_len);
- printaddr(ptr_to_kulong(ffe.u.periodic.custom_data));
- tprints("}");
- break;
- case FF_RUMBLE:
- tprintf(", rumble={strong_magnitude=%" PRIu16
- ", weak_magnitude=%" PRIu16 "}",
- ffe.u.rumble.strong_magnitude,
- ffe.u.rumble.weak_magnitude);
- break;
- default:
- break;
- }
-
- tprints("}");
-
- return RVAL_IOCTL_DECODED;
-}
-
static int
abs_ioctl(struct tcb *const tcp, const kernel_ulong_t arg)
{
@@ -489,8 +386,6 @@ evdev_write_ioctl(struct tcb *const tcp, const unsigned int code,
case EVIOCSKEYCODE_V2:
return keycode_V2_ioctl(tcp, arg);
# endif
- case EVIOCSFF:
- return ff_effect_ioctl(tcp, arg);
case EVIOCRMFF:
tprintf(", %d", (int) arg);
return RVAL_IOCTL_DECODED;
@@ -506,6 +401,12 @@ evdev_write_ioctl(struct tcb *const tcp, const unsigned int code,
printnum_int(tcp, arg, "%u");
return RVAL_IOCTL_DECODED;
# endif
+ default: {
+ int rc = evdev_write_ioctl_mpers(tcp, code, arg);
+
+ if (rc != RVAL_DECODED)
+ return rc;
+ }
}
/* multi-number fixed-length commands */
@@ -515,8 +416,15 @@ evdev_write_ioctl(struct tcb *const tcp, const unsigned int code,
return 0;
}
-MPERS_PRINTER_DECL(int, evdev_ioctl, struct tcb *const tcp,
- const unsigned int code, const kernel_ulong_t arg)
+void
+print_evdev_ff_type(const kernel_ulong_t val)
+{
+ printxval(evdev_ff_types, val, "FF_???");
+}
+
+int
+evdev_ioctl(struct tcb *const tcp,
+ const unsigned int code, const kernel_ulong_t arg)
{
switch (_IOC_DIR(code)) {
case _IOC_READ:
diff --git a/evdev_mpers.c b/evdev_mpers.c
new file mode 100644
index 00000000..0001a264
--- /dev/null
+++ b/evdev_mpers.c
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2015 Etienne Gemsa <etienne.gemsa@lse.epita.fr>
+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 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"
+
+#ifdef HAVE_LINUX_INPUT_H
+
+#include DEF_MPERS_TYPE(struct_ff_effect)
+
+# include <linux/ioctl.h>
+# include <linux/input.h>
+
+typedef struct ff_effect struct_ff_effect;
+
+#endif /* HAVE_LINUX_INPUT_H */
+
+#include MPERS_DEFS
+
+#ifdef HAVE_LINUX_INPUT_H
+
+static void
+decode_envelope(void *const data)
+{
+ const struct ff_envelope *const envelope = data;
+
+ tprintf(", envelope={attack_length=%" PRIu16
+ ", attack_level=%" PRIu16
+ ", fade_length=%" PRIu16
+ ", fade_level=%#x}",
+ envelope->attack_length,
+ envelope->attack_level,
+ envelope->fade_length,
+ envelope->fade_level);
+}
+
+static int
+ff_effect_ioctl(struct tcb *const tcp, const kernel_ulong_t arg)
+{
+ tprints(", ");
+
+ struct_ff_effect ffe;
+
+ if (umove_or_printaddr(tcp, arg, &ffe))
+ return RVAL_IOCTL_DECODED;
+
+ tprints("{type=");
+ print_evdev_ff_type(ffe.type);
+ tprintf(", id=%" PRIu16
+ ", direction=%" PRIu16 ", ",
+ ffe.id,
+ ffe.direction);
+
+ if (abbrev(tcp)) {
+ tprints("...}");
+ return RVAL_IOCTL_DECODED;
+ }
+
+ tprintf("trigger={button=%" PRIu16
+ ", interval=%" PRIu16 "}"
+ ", replay={length=%" PRIu16
+ ", delay=%" PRIu16 "}",
+ ffe.trigger.button,
+ ffe.trigger.interval,
+ ffe.replay.length,
+ ffe.replay.delay);
+
+ switch (ffe.type) {
+ case FF_CONSTANT:
+ tprintf(", constant={level=%" PRId16,
+ ffe.u.constant.level);
+ decode_envelope(&ffe.u.constant.envelope);
+ tprints("}");
+ break;
+ case FF_RAMP:
+ tprintf(", ramp={start_level=%" PRId16
+ ", end_level=%" PRId16,
+ ffe.u.ramp.start_level,
+ ffe.u.ramp.end_level);
+ decode_envelope(&ffe.u.ramp.envelope);
+ tprints("}");
+ break;
+ case FF_PERIODIC:
+ tprintf(", periodic={waveform=%" PRIu16
+ ", period=%" PRIu16
+ ", magnitude=%" PRId16
+ ", offset=%" PRId16
+ ", phase=%" PRIu16,
+ ffe.u.periodic.waveform,
+ ffe.u.periodic.period,
+ ffe.u.periodic.magnitude,
+ ffe.u.periodic.offset,
+ ffe.u.periodic.phase);
+ decode_envelope(&ffe.u.periodic.envelope);
+ tprintf(", custom_len=%u, custom_data=",
+ ffe.u.periodic.custom_len);
+ printaddr(ptr_to_kulong(ffe.u.periodic.custom_data));
+ tprints("}");
+ break;
+ case FF_RUMBLE:
+ tprintf(", rumble={strong_magnitude=%" PRIu16
+ ", weak_magnitude=%" PRIu16 "}",
+ ffe.u.rumble.strong_magnitude,
+ ffe.u.rumble.weak_magnitude);
+ break;
+ default:
+ break;
+ }
+
+ tprints("}");
+
+ return RVAL_IOCTL_DECODED;
+}
+
+MPERS_PRINTER_DECL(int, evdev_write_ioctl_mpers, struct tcb *const tcp,
+ const unsigned int code, const kernel_ulong_t arg)
+{
+ switch (code) {
+ case EVIOCSFF:
+ return ff_effect_ioctl(tcp, arg);
+ default:
+ return RVAL_DECODED;
+ }
+}
+
+#endif /* HAVE_LINUX_INPUT_H */
diff --git a/filter_qualify.c b/filter_qualify.c
index 49f0d612..c1283fb0 100644
--- a/filter_qualify.c
+++ b/filter_qualify.c
@@ -30,6 +30,8 @@
#include "nsig.h"
#include "number_set.h"
#include "filter.h"
+#include "delay.h"
+#include "retval.h"
struct number_set *read_set;
struct number_set *write_set;
@@ -79,11 +81,31 @@ find_errno_by_name(const char *name)
}
static bool
+parse_delay_token(const char *input, struct inject_opts *fopts, bool isenter)
+{
+ unsigned flag = isenter ? INJECT_F_DELAY_ENTER : INJECT_F_DELAY_EXIT;
+
+ if (fopts->data.flags & flag) /* duplicate */
+ return false;
+ long long intval = string_to_ulonglong(input);
+ if (intval < 0) /* couldn't parse */
+ return false;
+
+ if (fopts->data.delay_idx == (uint16_t) -1)
+ fopts->data.delay_idx = alloc_delay_data();
+ /* populate .ts_enter or .ts_exit */
+ fill_delay_data(fopts->data.delay_idx, intval, isenter);
+ fopts->data.flags |= flag;
+
+ return true;
+}
+
+static bool
parse_inject_token(const char *const token, struct inject_opts *const fopts,
const bool fault_tokens_only)
{
const char *val;
- kernel_long_t intval;
+ int intval;
if ((val = STR_STRIP_PREFIX(token, "when=")) != token) {
/*
@@ -116,37 +138,63 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts,
fopts->step = 0;
}
} else if ((val = STR_STRIP_PREFIX(token, "error=")) != token) {
- if (fopts->data.flags & INJECT_F_RETVAL)
+ if (fopts->data.flags & (INJECT_F_ERROR | INJECT_F_RETVAL))
return false;
intval = string_to_uint_upto(val, MAX_ERRNO_VALUE);
if (intval < 0)
intval = find_errno_by_name(val);
if (intval < 1)
return false;
- fopts->data.rval = -intval;
- fopts->data.flags |= INJECT_F_RETVAL;
+ fopts->data.rval_idx = retval_new(intval);
+ fopts->data.flags |= INJECT_F_ERROR;
} else if (!fault_tokens_only
&& (val = STR_STRIP_PREFIX(token, "retval=")) != token) {
- if (fopts->data.flags & INJECT_F_RETVAL)
+
+ if (fopts->data.flags & (INJECT_F_ERROR | INJECT_F_RETVAL))
return false;
- intval = string_to_kulong(val);
- if (intval < 0)
+
+ errno = 0;
+ char *endp;
+ unsigned long long ullval = strtoull(val, &endp, 0);
+ if (endp == val || *endp || (kernel_ulong_t) ullval != ullval
+ || ((ullval == 0 || ullval == ULLONG_MAX) && errno))
return false;
-#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG && !HAVE_ARCH_DEDICATED_ERR_REG
- if ((int) intval != intval)
- error_msg("Injected return value %" PRI_kld " will be"
- " clipped to %d in compat personality",
- intval, (int) intval);
+#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
+ bool inadvertent_fault_injection = false;
+#endif
- if ((int) intval < 0 && (int) intval >= -MAX_ERRNO_VALUE)
+#if !HAVE_ARCH_DEDICATED_ERR_REG
+ if ((kernel_long_t) ullval < 0
+ && (kernel_long_t) ullval >= -MAX_ERRNO_VALUE) {
+# if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
+ inadvertent_fault_injection = true;
+# endif
+ error_msg("Inadvertent injection of error %" PRI_kld
+ " is possible for retval=%llu",
+ -(kernel_long_t) ullval, ullval);
+ }
+# if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
+ else if ((int) ullval < 0 && (int) ullval >= -MAX_ERRNO_VALUE) {
+ inadvertent_fault_injection = true;
error_msg("Inadvertent injection of error %d is"
" possible in compat personality for"
- " retval=%" PRI_kld,
- -(int) intval, intval);
+ " retval=%llu",
+ -(int) ullval, ullval);
+ }
+# endif
+#endif
+
+#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
+ if (!inadvertent_fault_injection
+ && (unsigned int) ullval != ullval) {
+ error_msg("Injected return value %llu will be"
+ " clipped to %u in compat personality",
+ ullval, (unsigned int) ullval);
+ }
#endif
- fopts->data.rval = intval;
+ fopts->data.rval_idx = retval_new(ullval);
fopts->data.flags |= INJECT_F_RETVAL;
} else if (!fault_tokens_only
&& (val = STR_STRIP_PREFIX(token, "signal=")) != token) {
@@ -157,6 +205,14 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts,
return false;
fopts->data.signo = intval;
fopts->data.flags |= INJECT_F_SIGNAL;
+ } else if (!fault_tokens_only
+ && (val = STR_STRIP_PREFIX(token, "delay_enter=")) != token) {
+ if (!parse_delay_token(val, fopts, true))
+ return false;
+ } else if (!fault_tokens_only
+ && (val = STR_STRIP_PREFIX(token, "delay_exit=")) != token) {
+ if (!parse_delay_token(val, fopts, false))
+ return false;
} else {
return false;
}
@@ -247,7 +303,10 @@ qualify_inject_common(const char *const str,
{
struct inject_opts opts = {
.first = 1,
- .step = 1
+ .step = 1,
+ .data = {
+ .delay_idx = -1
+ }
};
char *copy = xstrdup(str);
const char *name =
@@ -261,12 +320,12 @@ qualify_inject_common(const char *const str,
free(copy);
- /* If neither of retval, error, or signal is specified, then ... */
+ /* If neither of retval, error, signal or delay is specified, then ... */
if (!opts.data.flags) {
if (fault_tokens_only) {
/* in fault= syntax the default error code is ENOSYS. */
- opts.data.rval = -ENOSYS;
- opts.data.flags |= INJECT_F_RETVAL;
+ opts.data.rval_idx = retval_new(ENOSYS);
+ opts.data.flags |= INJECT_F_ERROR;
} else {
/* in inject= syntax this is not allowed. */
error_msg_and_die("invalid %s '%s'", description, str);
diff --git a/gcc_compat.h b/gcc_compat.h
index 956aff17..771286aa 100644
--- a/gcc_compat.h
+++ b/gcc_compat.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -93,4 +93,10 @@
# define ATTRIBUTE_ALLOC_SIZE(args) /* empty */
#endif
+#if GNUC_PREREQ(7, 0)
+# define ATTRIBUTE_FALLTHROUGH __attribute__((__fallthrough__))
+#else
+# define ATTRIBUTE_FALLTHROUGH ((void) 0)
+#endif
+
#endif /* !STRACE_GCC_COMPAT_H */
diff --git a/gen_bpf_attr_check.sh b/gen_bpf_attr_check.sh
new file mode 100755
index 00000000..9da75ad9
--- /dev/null
+++ b/gen_bpf_attr_check.sh
@@ -0,0 +1,71 @@
+#!/bin/sh -efu
+# Copyright (c) 2018 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.
+
+input="$1"
+shift
+
+cat <<EOF
+/* Generated by $0 from $input; do not edit. */
+#include "defs.h"
+#ifdef HAVE_LINUX_BPF_H
+# include <linux/bpf.h>
+# include "bpf_attr.h"
+# include "static_assert.h"
+
+# define SoM(type_, member_) (sizeof(((type_ *)0)->member_))
+EOF
+
+for struct in $(sed -n 's/^struct \(BPF_[^[:space:]]\+_struct\) .*/\1/p' < "$input"); do
+ enum="$(sed -n 's/^struct '"$struct"' \/\* \([^[:space:]]\+\) \*\/ {.*/\1/p' < "$input")"
+ ENUM="$(printf %s "$enum" |tr '[:lower:]' '[:upper:]')"
+ enum="$enum${enum:+.}"
+ ENUM="$ENUM${ENUM:+_}"
+ sed -n '/^struct '"$struct"' [^{]*{/,/^};$/p' < "$input" |
+ sed -n 's/^[[:space:]]\+[^;]*[[:space:]]\([^[:space:];]\+\);$/\1/p' |
+ while read field; do
+ FIELD="$(printf %s "$field" |tr '[:lower:]' '[:upper:]')"
+ cat <<EOF
+
+# ifdef HAVE_UNION_BPF_ATTR_$ENUM$FIELD
+ static_assert(SoM(struct $struct, $field) == SoM(union bpf_attr, $enum$field),
+ "$struct.$field size mismatch");
+ static_assert(offsetof(struct $struct, $field) == offsetof(union bpf_attr, $enum$field),
+ "$struct.$field offset mismatch");
+# endif /* HAVE_UNION_BPF_ATTR_$ENUM$FIELD */
+EOF
+ done
+ cat <<EOF
+
+static_assert(${struct}_size == expected_${struct}_size,
+ "${struct}_size mismatch");
+EOF
+
+done
+
+cat <<'EOF'
+
+#endif /* HAVE_LINUX_BPF_H */
+EOF
diff --git a/gnu/stubs-32.h b/gnu/stubs-32.h
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/gnu/stubs-32.h
diff --git a/ioctl.c b/ioctl.c
index 9fd74924..132925d8 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -3,7 +3,7 @@
* Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
* Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
* Copyright (c) 1996-2001 Wichert Akkerman <wichert@cistron.nl>
- * Copyright (c) 1999-2017 The strace developers.
+ * Copyright (c) 1999-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -263,6 +263,7 @@ ioctl_decode(struct tcb *tcp)
int ret = file_ioctl(tcp, code, arg);
if (ret != RVAL_DECODED)
return ret;
+ ATTRIBUTE_FALLTHROUGH;
}
case 't':
case 'T':
diff --git a/ioctl_iocdef.h b/ioctl_iocdef.h
new file mode 100644
index 00000000..fc86d9d0
--- /dev/null
+++ b/ioctl_iocdef.h
@@ -0,0 +1,5 @@
+#define _IOC_NONE 0U
+#define _IOC_READ 2U
+#define _IOC_WRITE 1U
+#define _IOC_SIZESHIFT ((0 + 8) + 8)
+#define _IOC_DIRSHIFT (((0 + 8) + 8) + 14)
diff --git a/ioctl_redefs1.h b/ioctl_redefs1.h
new file mode 100644
index 00000000..7021e384
--- /dev/null
+++ b/ioctl_redefs1.h
@@ -0,0 +1,1372 @@
+#ifdef AGPIOC_ALLOCATE
+# undef AGPIOC_ALLOCATE
+# define AGPIOC_ALLOCATE 0xc0044106
+#endif
+#ifdef AGPIOC_BIND
+# undef AGPIOC_BIND
+# define AGPIOC_BIND 0x40044108
+#endif
+#ifdef AGPIOC_INFO
+# undef AGPIOC_INFO
+# define AGPIOC_INFO 0x80044100
+#endif
+#ifdef AGPIOC_PROTECT
+# undef AGPIOC_PROTECT
+# define AGPIOC_PROTECT 0x40044105
+#endif
+#ifdef AGPIOC_RESERVE
+# undef AGPIOC_RESERVE
+# define AGPIOC_RESERVE 0x40044104
+#endif
+#ifdef AGPIOC_SETUP
+# undef AGPIOC_SETUP
+# define AGPIOC_SETUP 0x40044103
+#endif
+#ifdef AGPIOC_UNBIND
+# undef AGPIOC_UNBIND
+# define AGPIOC_UNBIND 0x40044109
+#endif
+#ifdef ASHMEM_SET_PROT_MASK
+# undef ASHMEM_SET_PROT_MASK
+# define ASHMEM_SET_PROT_MASK 0x40047705
+#endif
+#ifdef ASHMEM_SET_SIZE
+# undef ASHMEM_SET_SIZE
+# define ASHMEM_SET_SIZE 0x40047703
+#endif
+#ifdef ATM_ADDADDR
+# undef ATM_ADDADDR
+# define ATM_ADDADDR 0x400c6188
+#endif
+#ifdef ATM_ADDLECSADDR
+# undef ATM_ADDLECSADDR
+# define ATM_ADDLECSADDR 0x400c618e
+#endif
+#ifdef ATM_ADDPARTY
+# undef ATM_ADDPARTY
+# define ATM_ADDPARTY 0x400861f4
+#endif
+#ifdef ATM_DELADDR
+# undef ATM_DELADDR
+# define ATM_DELADDR 0x400c6189
+#endif
+#ifdef ATM_DELLECSADDR
+# undef ATM_DELLECSADDR
+# define ATM_DELLECSADDR 0x400c618f
+#endif
+#ifdef ATM_GETADDR
+# undef ATM_GETADDR
+# define ATM_GETADDR 0x400c6186
+#endif
+#ifdef ATM_GETCIRANGE
+# undef ATM_GETCIRANGE
+# define ATM_GETCIRANGE 0x400c618a
+#endif
+#ifdef ATM_GETESI
+# undef ATM_GETESI
+# define ATM_GETESI 0x400c6185
+#endif
+#ifdef ATM_GETLECSADDR
+# undef ATM_GETLECSADDR
+# define ATM_GETLECSADDR 0x400c6190
+#endif
+#ifdef ATM_GETLINKRATE
+# undef ATM_GETLINKRATE
+# define ATM_GETLINKRATE 0x400c6181
+#endif
+#ifdef ATM_GETLOOP
+# undef ATM_GETLOOP
+# define ATM_GETLOOP 0x400c6152
+#endif
+#ifdef ATM_GETNAMES
+# undef ATM_GETNAMES
+# define ATM_GETNAMES 0x40086183
+#endif
+#ifdef ATM_GETSTAT
+# undef ATM_GETSTAT
+# define ATM_GETSTAT 0x400c6150
+#endif
+#ifdef ATM_GETSTATZ
+# undef ATM_GETSTATZ
+# define ATM_GETSTATZ 0x400c6151
+#endif
+#ifdef ATM_GETTYPE
+# undef ATM_GETTYPE
+# define ATM_GETTYPE 0x400c6184
+#endif
+#ifdef ATM_QUERYLOOP
+# undef ATM_QUERYLOOP
+# define ATM_QUERYLOOP 0x400c6154
+#endif
+#ifdef ATM_RSTADDR
+# undef ATM_RSTADDR
+# define ATM_RSTADDR 0x400c6187
+#endif
+#ifdef ATM_SETCIRANGE
+# undef ATM_SETCIRANGE
+# define ATM_SETCIRANGE 0x400c618b
+#endif
+#ifdef ATM_SETESI
+# undef ATM_SETESI
+# define ATM_SETESI 0x400c618c
+#endif
+#ifdef ATM_SETESIF
+# undef ATM_SETESIF
+# define ATM_SETESIF 0x400c618d
+#endif
+#ifdef ATM_SETLOOP
+# undef ATM_SETLOOP
+# define ATM_SETLOOP 0x400c6153
+#endif
+#ifdef AUTOFS_IOC_SETTIMEOUT
+# undef AUTOFS_IOC_SETTIMEOUT
+# define AUTOFS_IOC_SETTIMEOUT 0xc0049364
+#endif
+#ifdef BLKBSZGET
+# undef BLKBSZGET
+# define BLKBSZGET 0x80041270
+#endif
+#ifdef BLKBSZSET
+# undef BLKBSZSET
+# define BLKBSZSET 0x40041271
+#endif
+#ifdef BLKGETSIZE64
+# undef BLKGETSIZE64
+# define BLKGETSIZE64 0x80041272
+#endif
+#ifdef CAPI_MANUFACTURER_CMD
+# undef CAPI_MANUFACTURER_CMD
+# define CAPI_MANUFACTURER_CMD 0xc0084320
+#endif
+#ifdef CCISS_BIG_PASSTHRU
+# undef CCISS_BIG_PASSTHRU
+# define CCISS_BIG_PASSTHRU 0xc0584212
+#endif
+#ifdef CCISS_PASSTHRU
+# undef CCISS_PASSTHRU
+# define CCISS_PASSTHRU 0xc054420b
+#endif
+#ifdef CHIOGSTATUS
+# undef CHIOGSTATUS
+# define CHIOGSTATUS 0x40086308
+#endif
+#ifdef CIOC_KERNEL_VERSION
+# undef CIOC_KERNEL_VERSION
+# define CIOC_KERNEL_VERSION 0xc004630a
+#endif
+#ifdef CM_IOCGATR
+# undef CM_IOCGATR
+# define CM_IOCGATR 0xc0046301
+#endif
+#ifdef CM_IOCGSTATUS
+# undef CM_IOCGSTATUS
+# define CM_IOCGSTATUS 0x80046300
+#endif
+#ifdef CM_IOCSPTS
+# undef CM_IOCSPTS
+# define CM_IOCSPTS 0x40046302
+#endif
+#ifdef CM_IOSDBGLVL
+# undef CM_IOSDBGLVL
+# define CM_IOSDBGLVL 0x400463fa
+#endif
+#ifdef DRM_IOCTL_ADD_BUFS
+# undef DRM_IOCTL_ADD_BUFS
+# define DRM_IOCTL_ADD_BUFS 0xc0186416
+#endif
+#ifdef DRM_IOCTL_ADD_MAP
+# undef DRM_IOCTL_ADD_MAP
+# define DRM_IOCTL_ADD_MAP 0xc0186415
+#endif
+#ifdef DRM_IOCTL_AGP_ALLOC
+# undef DRM_IOCTL_AGP_ALLOC
+# define DRM_IOCTL_AGP_ALLOC 0xc0106434
+#endif
+#ifdef DRM_IOCTL_AGP_BIND
+# undef DRM_IOCTL_AGP_BIND
+# define DRM_IOCTL_AGP_BIND 0x40086436
+#endif
+#ifdef DRM_IOCTL_AGP_ENABLE
+# undef DRM_IOCTL_AGP_ENABLE
+# define DRM_IOCTL_AGP_ENABLE 0x40046432
+#endif
+#ifdef DRM_IOCTL_AGP_FREE
+# undef DRM_IOCTL_AGP_FREE
+# define DRM_IOCTL_AGP_FREE 0x40106435
+#endif
+#ifdef DRM_IOCTL_AGP_INFO
+# undef DRM_IOCTL_AGP_INFO
+# define DRM_IOCTL_AGP_INFO 0x80206433
+#endif
+#ifdef DRM_IOCTL_AGP_UNBIND
+# undef DRM_IOCTL_AGP_UNBIND
+# define DRM_IOCTL_AGP_UNBIND 0x40086437
+#endif
+#ifdef DRM_IOCTL_DMA
+# undef DRM_IOCTL_DMA
+# define DRM_IOCTL_DMA 0xc0286429
+#endif
+#ifdef DRM_IOCTL_FREE_BUFS
+# undef DRM_IOCTL_FREE_BUFS
+# define DRM_IOCTL_FREE_BUFS 0x4008641a
+#endif
+#ifdef DRM_IOCTL_GET_CLIENT
+# undef DRM_IOCTL_GET_CLIENT
+# define DRM_IOCTL_GET_CLIENT 0xc0186405
+#endif
+#ifdef DRM_IOCTL_GET_MAP
+# undef DRM_IOCTL_GET_MAP
+# define DRM_IOCTL_GET_MAP 0xc0186404
+#endif
+#ifdef DRM_IOCTL_GET_SAREA_CTX
+# undef DRM_IOCTL_GET_SAREA_CTX
+# define DRM_IOCTL_GET_SAREA_CTX 0xc008641d
+#endif
+#ifdef DRM_IOCTL_GET_STATS
+# undef DRM_IOCTL_GET_STATS
+# define DRM_IOCTL_GET_STATS 0x807c6406
+#endif
+#ifdef DRM_IOCTL_GET_UNIQUE
+# undef DRM_IOCTL_GET_UNIQUE
+# define DRM_IOCTL_GET_UNIQUE 0xc0086401
+#endif
+#ifdef DRM_IOCTL_I810_COPY
+# undef DRM_IOCTL_I810_COPY
+# define DRM_IOCTL_I810_COPY 0x400c6447
+#endif
+#ifdef DRM_IOCTL_I810_GETBUF
+# undef DRM_IOCTL_I810_GETBUF
+# define DRM_IOCTL_I810_GETBUF 0xc0106445
+#endif
+#ifdef DRM_IOCTL_I810_MC
+# undef DRM_IOCTL_I810_MC
+# define DRM_IOCTL_I810_MC 0x4014644c
+#endif
+#ifdef DRM_IOCTL_I915_ALLOC
+# undef DRM_IOCTL_I915_ALLOC
+# define DRM_IOCTL_I915_ALLOC 0xc0106448
+#endif
+#ifdef DRM_IOCTL_I915_BATCHBUFFER
+# undef DRM_IOCTL_I915_BATCHBUFFER
+# define DRM_IOCTL_I915_BATCHBUFFER 0x40186443
+#endif
+#ifdef DRM_IOCTL_I915_CMDBUFFER
+# undef DRM_IOCTL_I915_CMDBUFFER
+# define DRM_IOCTL_I915_CMDBUFFER 0x4018644b
+#endif
+#ifdef DRM_IOCTL_I915_GETPARAM
+# undef DRM_IOCTL_I915_GETPARAM
+# define DRM_IOCTL_I915_GETPARAM 0xc0086446
+#endif
+#ifdef DRM_IOCTL_I915_IRQ_EMIT
+# undef DRM_IOCTL_I915_IRQ_EMIT
+# define DRM_IOCTL_I915_IRQ_EMIT 0xc0046444
+#endif
+#ifdef DRM_IOCTL_INFO_BUFS
+# undef DRM_IOCTL_INFO_BUFS
+# define DRM_IOCTL_INFO_BUFS 0xc0086418
+#endif
+#ifdef DRM_IOCTL_MAP_BUFS
+# undef DRM_IOCTL_MAP_BUFS
+# define DRM_IOCTL_MAP_BUFS 0xc00c6419
+#endif
+#ifdef DRM_IOCTL_MARK_BUFS
+# undef DRM_IOCTL_MARK_BUFS
+# define DRM_IOCTL_MARK_BUFS 0x40186417
+#endif
+#ifdef DRM_IOCTL_MGA_DMA_BOOTSTRAP
+# undef DRM_IOCTL_MGA_DMA_BOOTSTRAP
+# define DRM_IOCTL_MGA_DMA_BOOTSTRAP 0xc01c644c
+#endif
+#ifdef DRM_IOCTL_MGA_GETPARAM
+# undef DRM_IOCTL_MGA_GETPARAM
+# define DRM_IOCTL_MGA_GETPARAM 0xc0086449
+#endif
+#ifdef DRM_IOCTL_MGA_INIT
+# undef DRM_IOCTL_MGA_INIT
+# define DRM_IOCTL_MGA_INIT 0x405c6440
+#endif
+#ifdef DRM_IOCTL_R128_DEPTH
+# undef DRM_IOCTL_R128_DEPTH
+# define DRM_IOCTL_R128_DEPTH 0x4018644c
+#endif
+#ifdef DRM_IOCTL_R128_GETPARAM
+# undef DRM_IOCTL_R128_GETPARAM
+# define DRM_IOCTL_R128_GETPARAM 0xc0086452
+#endif
+#ifdef DRM_IOCTL_R128_INIT
+# undef DRM_IOCTL_R128_INIT
+# define DRM_IOCTL_R128_INIT 0x40586440
+#endif
+#ifdef DRM_IOCTL_R128_STIPPLE
+# undef DRM_IOCTL_R128_STIPPLE
+# define DRM_IOCTL_R128_STIPPLE 0x4004644d
+#endif
+#ifdef DRM_IOCTL_RADEON_ALLOC
+# undef DRM_IOCTL_RADEON_ALLOC
+# define DRM_IOCTL_RADEON_ALLOC 0xc0106453
+#endif
+#ifdef DRM_IOCTL_RADEON_CLEAR
+# undef DRM_IOCTL_RADEON_CLEAR
+# define DRM_IOCTL_RADEON_CLEAR 0x40186448
+#endif
+#ifdef DRM_IOCTL_RADEON_CMDBUF
+# undef DRM_IOCTL_RADEON_CMDBUF
+# define DRM_IOCTL_RADEON_CMDBUF 0x40106450
+#endif
+#ifdef DRM_IOCTL_RADEON_CP_INIT
+# undef DRM_IOCTL_RADEON_CP_INIT
+# define DRM_IOCTL_RADEON_CP_INIT 0x40546440
+#endif
+#ifdef DRM_IOCTL_RADEON_GETPARAM
+# undef DRM_IOCTL_RADEON_GETPARAM
+# define DRM_IOCTL_RADEON_GETPARAM 0xc0086451
+#endif
+#ifdef DRM_IOCTL_RADEON_IRQ_EMIT
+# undef DRM_IOCTL_RADEON_IRQ_EMIT
+# define DRM_IOCTL_RADEON_IRQ_EMIT 0xc0046456
+#endif
+#ifdef DRM_IOCTL_RADEON_STIPPLE
+# undef DRM_IOCTL_RADEON_STIPPLE
+# define DRM_IOCTL_RADEON_STIPPLE 0x4004644c
+#endif
+#ifdef DRM_IOCTL_RADEON_TEXTURE
+# undef DRM_IOCTL_RADEON_TEXTURE
+# define DRM_IOCTL_RADEON_TEXTURE 0xc018644e
+#endif
+#ifdef DRM_IOCTL_RADEON_VERTEX2
+# undef DRM_IOCTL_RADEON_VERTEX2
+# define DRM_IOCTL_RADEON_VERTEX2 0x4018644f
+#endif
+#ifdef DRM_IOCTL_RES_CTX
+# undef DRM_IOCTL_RES_CTX
+# define DRM_IOCTL_RES_CTX 0xc0086426
+#endif
+#ifdef DRM_IOCTL_RM_MAP
+# undef DRM_IOCTL_RM_MAP
+# define DRM_IOCTL_RM_MAP 0x4018641b
+#endif
+#ifdef DRM_IOCTL_SAVAGE_BCI_CMDBUF
+# undef DRM_IOCTL_SAVAGE_BCI_CMDBUF
+# define DRM_IOCTL_SAVAGE_BCI_CMDBUF 0x40246441
+#endif
+#ifdef DRM_IOCTL_SAVAGE_BCI_INIT
+# undef DRM_IOCTL_SAVAGE_BCI_INIT
+# define DRM_IOCTL_SAVAGE_BCI_INIT 0x40506440
+#endif
+#ifdef DRM_IOCTL_SET_SAREA_CTX
+# undef DRM_IOCTL_SET_SAREA_CTX
+# define DRM_IOCTL_SET_SAREA_CTX 0x4008641c
+#endif
+#ifdef DRM_IOCTL_SET_UNIQUE
+# undef DRM_IOCTL_SET_UNIQUE
+# define DRM_IOCTL_SET_UNIQUE 0x40086410
+#endif
+#ifdef DRM_IOCTL_SG_ALLOC
+# undef DRM_IOCTL_SG_ALLOC
+# define DRM_IOCTL_SG_ALLOC 0xc0086438
+#endif
+#ifdef DRM_IOCTL_SG_FREE
+# undef DRM_IOCTL_SG_FREE
+# define DRM_IOCTL_SG_FREE 0x40086439
+#endif
+#ifdef DRM_IOCTL_SIS_AGP_ALLOC
+# undef DRM_IOCTL_SIS_AGP_ALLOC
+# define DRM_IOCTL_SIS_AGP_ALLOC 0xc0106454
+#endif
+#ifdef DRM_IOCTL_SIS_AGP_FREE
+# undef DRM_IOCTL_SIS_AGP_FREE
+# define DRM_IOCTL_SIS_AGP_FREE 0x40106455
+#endif
+#ifdef DRM_IOCTL_SIS_AGP_INIT
+# undef DRM_IOCTL_SIS_AGP_INIT
+# define DRM_IOCTL_SIS_AGP_INIT 0xc0086453
+#endif
+#ifdef DRM_IOCTL_SIS_FB_ALLOC
+# undef DRM_IOCTL_SIS_FB_ALLOC
+# define DRM_IOCTL_SIS_FB_ALLOC 0xc0106444
+#endif
+#ifdef DRM_IOCTL_SIS_FB_FREE
+# undef DRM_IOCTL_SIS_FB_FREE
+# define DRM_IOCTL_SIS_FB_FREE 0x40106445
+#endif
+#ifdef DRM_IOCTL_SIS_FB_INIT
+# undef DRM_IOCTL_SIS_FB_INIT
+# define DRM_IOCTL_SIS_FB_INIT 0x40086456
+#endif
+#ifdef DRM_IOCTL_VERSION
+# undef DRM_IOCTL_VERSION
+# define DRM_IOCTL_VERSION 0xc0246400
+#endif
+#ifdef DRM_IOCTL_VIA_ALLOCMEM
+# undef DRM_IOCTL_VIA_ALLOCMEM
+# define DRM_IOCTL_VIA_ALLOCMEM 0xc0146440
+#endif
+#ifdef DRM_IOCTL_VIA_CMDBUFFER
+# undef DRM_IOCTL_VIA_CMDBUFFER
+# define DRM_IOCTL_VIA_CMDBUFFER 0x40086448
+#endif
+#ifdef DRM_IOCTL_VIA_DMA_BLIT
+# undef DRM_IOCTL_VIA_DMA_BLIT
+# define DRM_IOCTL_VIA_DMA_BLIT 0x4028644e
+#endif
+#ifdef DRM_IOCTL_VIA_DMA_INIT
+# undef DRM_IOCTL_VIA_DMA_INIT
+# define DRM_IOCTL_VIA_DMA_INIT 0xc0106447
+#endif
+#ifdef DRM_IOCTL_VIA_FREEMEM
+# undef DRM_IOCTL_VIA_FREEMEM
+# define DRM_IOCTL_VIA_FREEMEM 0x40146441
+#endif
+#ifdef DRM_IOCTL_VIA_MAP_INIT
+# undef DRM_IOCTL_VIA_MAP_INIT
+# define DRM_IOCTL_VIA_MAP_INIT 0xc0146444
+#endif
+#ifdef DRM_IOCTL_VIA_PCICMD
+# undef DRM_IOCTL_VIA_PCICMD
+# define DRM_IOCTL_VIA_PCICMD 0x4008644a
+#endif
+#ifdef DRM_IOCTL_VIA_WAIT_IRQ
+# undef DRM_IOCTL_VIA_WAIT_IRQ
+# define DRM_IOCTL_VIA_WAIT_IRQ 0xc010644d
+#endif
+#ifdef DRM_IOCTL_WAIT_VBLANK
+# undef DRM_IOCTL_WAIT_VBLANK
+# define DRM_IOCTL_WAIT_VBLANK 0xc010643a
+#endif
+#ifdef ENI_MEMDUMP
+# undef ENI_MEMDUMP
+# define ENI_MEMDUMP 0x400c6160
+#endif
+#ifdef ENI_SETMULT
+# undef ENI_SETMULT
+# define ENI_SETMULT 0x400c6167
+#endif
+#ifdef EVIOCSFF
+# undef EVIOCSFF
+# define EVIOCSFF 0x402c4580
+#endif
+#ifdef FBIO_CURSOR
+# undef FBIO_CURSOR
+# define FBIO_CURSOR 0xc0484608
+#endif
+#ifdef FBIO_GETCONTROL2
+# undef FBIO_GETCONTROL2
+# define FBIO_GETCONTROL2 0x80044689
+#endif
+#ifdef FBIO_RADEON_GET_MIRROR
+# undef FBIO_RADEON_GET_MIRROR
+# define FBIO_RADEON_GET_MIRROR 0x80044003
+#endif
+#ifdef FBIO_RADEON_SET_MIRROR
+# undef FBIO_RADEON_SET_MIRROR
+# define FBIO_RADEON_SET_MIRROR 0x40044004
+#endif
+#ifdef FDDEFPRM
+# undef FDDEFPRM
+# define FDDEFPRM 0x401c0243
+#endif
+#ifdef FDGETDRVPRM
+# undef FDGETDRVPRM
+# define FDGETDRVPRM 0x80580211
+#endif
+#ifdef FDGETDRVSTAT
+# undef FDGETDRVSTAT
+# define FDGETDRVSTAT 0x80340212
+#endif
+#ifdef FDGETFDCSTAT
+# undef FDGETFDCSTAT
+# define FDGETFDCSTAT 0x80200215
+#endif
+#ifdef FDGETPRM
+# undef FDGETPRM
+# define FDGETPRM 0x801c0204
+#endif
+#ifdef FDPOLLDRVSTAT
+# undef FDPOLLDRVSTAT
+# define FDPOLLDRVSTAT 0x80340213
+#endif
+#ifdef FDSETDRVPRM
+# undef FDSETDRVPRM
+# define FDSETDRVPRM 0x40580290
+#endif
+#ifdef FDSETPRM
+# undef FDSETPRM
+# define FDSETPRM 0x401c0242
+#endif
+#ifdef FDWERRORGET
+# undef FDWERRORGET
+# define FDWERRORGET 0x80180217
+#endif
+#ifdef FE_GET_PROPERTY
+# undef FE_GET_PROPERTY
+# define FE_GET_PROPERTY 0x80086f53
+#endif
+#ifdef FE_SET_PROPERTY
+# undef FE_SET_PROPERTY
+# define FE_SET_PROPERTY 0x40086f52
+#endif
+#ifdef FIOQSIZE
+# undef FIOQSIZE
+# define FIOQSIZE 0x0000545e
+#endif
+#ifdef FS_IOC_GETFLAGS
+# undef FS_IOC_GETFLAGS
+# define FS_IOC_GETFLAGS 0x80046601
+#endif
+#ifdef FS_IOC_GETVERSION
+# undef FS_IOC_GETVERSION
+# define FS_IOC_GETVERSION 0x80047601
+#endif
+#ifdef FS_IOC_SETFLAGS
+# undef FS_IOC_SETFLAGS
+# define FS_IOC_SETFLAGS 0x40046602
+#endif
+#ifdef FS_IOC_SETVERSION
+# undef FS_IOC_SETVERSION
+# define FS_IOC_SETVERSION 0x40047602
+#endif
+#ifdef HE_GET_REG
+# undef HE_GET_REG
+# define HE_GET_REG 0x400c6160
+#endif
+#ifdef HFI1_IOCTL_ACK_EVENT
+# undef HFI1_IOCTL_ACK_EVENT
+# define HFI1_IOCTL_ACK_EVENT 0x40041bea
+#endif
+#ifdef HPET_INFO
+# undef HPET_INFO
+# define HPET_INFO 0x800c6803
+#endif
+#ifdef HPET_IRQFREQ
+# undef HPET_IRQFREQ
+# define HPET_IRQFREQ 0x40046806
+#endif
+#ifdef I2OHRTGET
+# undef I2OHRTGET
+# define I2OHRTGET 0xc00c6901
+#endif
+#ifdef I2OHTML
+# undef I2OHTML
+# define I2OHTML 0xc01c6909
+#endif
+#ifdef I2OLCTGET
+# undef I2OLCTGET
+# define I2OLCTGET 0xc00c6902
+#endif
+#ifdef I2OPARMGET
+# undef I2OPARMGET
+# define I2OPARMGET 0xc0186904
+#endif
+#ifdef I2OPARMSET
+# undef I2OPARMSET
+# define I2OPARMSET 0xc0186903
+#endif
+#ifdef I2OPASSTHRU
+# undef I2OPASSTHRU
+# define I2OPASSTHRU 0x8008690c
+#endif
+#ifdef I2OSWDEL
+# undef I2OSWDEL
+# define I2OSWDEL 0xc01c6907
+#endif
+#ifdef I2OSWDL
+# undef I2OSWDL
+# define I2OSWDL 0xc01c6905
+#endif
+#ifdef I2OSWUL
+# undef I2OSWUL
+# define I2OSWUL 0xc01c6906
+#endif
+#ifdef I8K_FN_STATUS
+# undef I8K_FN_STATUS
+# define I8K_FN_STATUS 0x80046983
+#endif
+#ifdef I8K_GET_FAN
+# undef I8K_GET_FAN
+# define I8K_GET_FAN 0xc0046986
+#endif
+#ifdef I8K_GET_SPEED
+# undef I8K_GET_SPEED
+# define I8K_GET_SPEED 0xc0046985
+#endif
+#ifdef I8K_GET_TEMP
+# undef I8K_GET_TEMP
+# define I8K_GET_TEMP 0x80046984
+#endif
+#ifdef I8K_POWER_STATUS
+# undef I8K_POWER_STATUS
+# define I8K_POWER_STATUS 0x80046982
+#endif
+#ifdef I8K_SET_FAN
+# undef I8K_SET_FAN
+# define I8K_SET_FAN 0xc0046987
+#endif
+#ifdef IDT77105_GETSTAT
+# undef IDT77105_GETSTAT
+# define IDT77105_GETSTAT 0x400c6132
+#endif
+#ifdef IDT77105_GETSTATZ
+# undef IDT77105_GETSTATZ
+# define IDT77105_GETSTATZ 0x400c6133
+#endif
+#ifdef IOCTL_GNTDEV_GRANT_COPY
+# undef IOCTL_GNTDEV_GRANT_COPY
+# define IOCTL_GNTDEV_GRANT_COPY 0x00084708
+#endif
+#ifdef IOW_READ
+# undef IOW_READ
+# define IOW_READ 0x4004c002
+#endif
+#ifdef IOW_WRITE
+# undef IOW_WRITE
+# define IOW_WRITE 0x4004c001
+#endif
+#ifdef IPMICTL_RECEIVE_MSG
+# undef IPMICTL_RECEIVE_MSG
+# define IPMICTL_RECEIVE_MSG 0xc018690c
+#endif
+#ifdef IPMICTL_RECEIVE_MSG_TRUNC
+# undef IPMICTL_RECEIVE_MSG_TRUNC
+# define IPMICTL_RECEIVE_MSG_TRUNC 0xc018690b
+#endif
+#ifdef IPMICTL_SEND_COMMAND
+# undef IPMICTL_SEND_COMMAND
+# define IPMICTL_SEND_COMMAND 0x8014690d
+#endif
+#ifdef IPMICTL_SEND_COMMAND_SETTIME
+# undef IPMICTL_SEND_COMMAND_SETTIME
+# define IPMICTL_SEND_COMMAND_SETTIME 0x801c6915
+#endif
+#ifdef IVTVFB_IOC_DMA_FRAME
+# undef IVTVFB_IOC_DMA_FRAME
+# define IVTVFB_IOC_DMA_FRAME 0x400c56c0
+#endif
+#ifdef IVTV_IOC_DMA_FRAME
+# undef IVTV_IOC_DMA_FRAME
+# define IVTV_IOC_DMA_FRAME 0x403856c0
+#endif
+#ifdef IXJCTL_CID
+# undef IXJCTL_CID
+# define IXJCTL_CID 0x800471d4
+#endif
+#ifdef IXJCTL_CIDCW
+# undef IXJCTL_CIDCW
+# define IXJCTL_CIDCW 0x400471d9
+#endif
+#ifdef IXJCTL_DRYBUFFER_READ
+# undef IXJCTL_DRYBUFFER_READ
+# define IXJCTL_DRYBUFFER_READ 0x800471e6
+#endif
+#ifdef IXJCTL_FILTER_CADENCE
+# undef IXJCTL_FILTER_CADENCE
+# define IXJCTL_FILTER_CADENCE 0x400471d6
+#endif
+#ifdef IXJCTL_FRAMES_READ
+# undef IXJCTL_FRAMES_READ
+# define IXJCTL_FRAMES_READ 0x800471e2
+#endif
+#ifdef IXJCTL_FRAMES_WRITTEN
+# undef IXJCTL_FRAMES_WRITTEN
+# define IXJCTL_FRAMES_WRITTEN 0x800471e3
+#endif
+#ifdef IXJCTL_INIT_TONE
+# undef IXJCTL_INIT_TONE
+# define IXJCTL_INIT_TONE 0x400471c9
+#endif
+#ifdef IXJCTL_READ_WAIT
+# undef IXJCTL_READ_WAIT
+# define IXJCTL_READ_WAIT 0x800471e4
+#endif
+#ifdef IXJCTL_SET_FILTER
+# undef IXJCTL_SET_FILTER
+# define IXJCTL_SET_FILTER 0x400471c7
+#endif
+#ifdef IXJCTL_SET_FILTER_RAW
+# undef IXJCTL_SET_FILTER_RAW
+# define IXJCTL_SET_FILTER_RAW 0x400471dd
+#endif
+#ifdef IXJCTL_SIGCTL
+# undef IXJCTL_SIGCTL
+# define IXJCTL_SIGCTL 0x400471e9
+#endif
+#ifdef IXJCTL_TONE_CADENCE
+# undef IXJCTL_TONE_CADENCE
+# define IXJCTL_TONE_CADENCE 0x400471ca
+#endif
+#ifdef IXJCTL_VERSION
+# undef IXJCTL_VERSION
+# define IXJCTL_VERSION 0x800471da
+#endif
+#ifdef IXJCTL_WRITE_WAIT
+# undef IXJCTL_WRITE_WAIT
+# define IXJCTL_WRITE_WAIT 0x800471e5
+#endif
+#ifdef KCOV_INIT_TRACE
+# undef KCOV_INIT_TRACE
+# define KCOV_INIT_TRACE 0x80046301
+#endif
+#ifdef KVM_GET_REGS
+# undef KVM_GET_REGS
+# define KVM_GET_REGS 0x8098ae81
+#endif
+#ifdef KVM_MEMORY_ENCRYPT_OP
+# undef KVM_MEMORY_ENCRYPT_OP
+# define KVM_MEMORY_ENCRYPT_OP 0xc004aeba
+#endif
+#ifdef KVM_SET_GUEST_DEBUG
+# undef KVM_SET_GUEST_DEBUG
+# define KVM_SET_GUEST_DEBUG 0x4008ae9b
+#endif
+#ifdef KVM_SET_REGS
+# undef KVM_SET_REGS
+# define KVM_SET_REGS 0x4098ae82
+#endif
+#ifdef MATROXFB_GET_ALL_OUTPUTS
+# undef MATROXFB_GET_ALL_OUTPUTS
+# define MATROXFB_GET_ALL_OUTPUTS 0x80046efb
+#endif
+#ifdef MATROXFB_GET_AVAILABLE_OUTPUTS
+# undef MATROXFB_GET_AVAILABLE_OUTPUTS
+# define MATROXFB_GET_AVAILABLE_OUTPUTS 0x80046ef9
+#endif
+#ifdef MATROXFB_GET_OUTPUT_CONNECTION
+# undef MATROXFB_GET_OUTPUT_CONNECTION
+# define MATROXFB_GET_OUTPUT_CONNECTION 0x80046ef8
+#endif
+#ifdef MATROXFB_GET_OUTPUT_MODE
+# undef MATROXFB_GET_OUTPUT_MODE
+# define MATROXFB_GET_OUTPUT_MODE 0xc0046efa
+#endif
+#ifdef MATROXFB_SET_OUTPUT_CONNECTION
+# undef MATROXFB_SET_OUTPUT_CONNECTION
+# define MATROXFB_SET_OUTPUT_CONNECTION 0x40046ef8
+#endif
+#ifdef MATROXFB_SET_OUTPUT_MODE
+# undef MATROXFB_SET_OUTPUT_MODE
+# define MATROXFB_SET_OUTPUT_MODE 0x40046efa
+#endif
+#ifdef MEDIA_IOC_ENUM_LINKS
+# undef MEDIA_IOC_ENUM_LINKS
+# define MEDIA_IOC_ENUM_LINKS 0xc01c7c02
+#endif
+#ifdef MEMREADOOB
+# undef MEMREADOOB
+# define MEMREADOOB 0xc00c4d04
+#endif
+#ifdef MEMWRITEOOB
+# undef MEMWRITEOOB
+# define MEMWRITEOOB 0xc00c4d03
+#endif
+#ifdef MGSL_IOCGPARAMS
+# undef MGSL_IOCGPARAMS
+# define MGSL_IOCGPARAMS 0x80206d01
+#endif
+#ifdef MGSL_IOCSPARAMS
+# undef MGSL_IOCSPARAMS
+# define MGSL_IOCSPARAMS 0x40206d00
+#endif
+#ifdef MIC_VIRTIO_ADD_DEVICE
+# undef MIC_VIRTIO_ADD_DEVICE
+# define MIC_VIRTIO_ADD_DEVICE 0xc0047301
+#endif
+#ifdef MIC_VIRTIO_CONFIG_CHANGE
+# undef MIC_VIRTIO_CONFIG_CHANGE
+# define MIC_VIRTIO_CONFIG_CHANGE 0xc0047305
+#endif
+#ifdef MIC_VIRTIO_COPY_DESC
+# undef MIC_VIRTIO_COPY_DESC
+# define MIC_VIRTIO_COPY_DESC 0xc0047302
+#endif
+#ifdef MMTIMER_GETCOUNTER
+# undef MMTIMER_GETCOUNTER
+# define MMTIMER_GETCOUNTER 0x80046d09
+#endif
+#ifdef MMTIMER_GETFREQ
+# undef MMTIMER_GETFREQ
+# define MMTIMER_GETFREQ 0x80046d02
+#endif
+#ifdef MMTIMER_GETRES
+# undef MMTIMER_GETRES
+# define MMTIMER_GETRES 0x80046d01
+#endif
+#ifdef MTIOCGET
+# undef MTIOCGET
+# define MTIOCGET 0x801c6d02
+#endif
+#ifdef MTIOCPOS
+# undef MTIOCPOS
+# define MTIOCPOS 0x80046d03
+#endif
+#ifdef NCIUARTSETDRIVER
+# undef NCIUARTSETDRIVER
+# define NCIUARTSETDRIVER 0x40045500
+#endif
+#ifdef NCP_IOC_GET_FS_INFO_V2
+# undef NCP_IOC_GET_FS_INFO_V2
+# define NCP_IOC_GET_FS_INFO_V2 0xc0246e04
+#endif
+#ifdef NCP_IOC_GETMOUNTUID2
+# undef NCP_IOC_GETMOUNTUID2
+# define NCP_IOC_GETMOUNTUID2 0x40046e02
+#endif
+#ifdef NCP_IOC_GETOBJECTNAME
+# undef NCP_IOC_GETOBJECTNAME
+# define NCP_IOC_GETOBJECTNAME 0xc00c6e09
+#endif
+#ifdef NCP_IOC_GETPRIVATEDATA
+# undef NCP_IOC_GETPRIVATEDATA
+# define NCP_IOC_GETPRIVATEDATA 0xc0086e0a
+#endif
+#ifdef NCP_IOC_NCPREQUEST
+# undef NCP_IOC_NCPREQUEST
+# define NCP_IOC_NCPREQUEST 0x800c6e01
+#endif
+#ifdef NCP_IOC_SETOBJECTNAME
+# undef NCP_IOC_SETOBJECTNAME
+# define NCP_IOC_SETOBJECTNAME 0x800c6e09
+#endif
+#ifdef NCP_IOC_SETPRIVATEDATA
+# undef NCP_IOC_SETPRIVATEDATA
+# define NCP_IOC_SETPRIVATEDATA 0x80086e0a
+#endif
+#ifdef NS_GETPSTAT
+# undef NS_GETPSTAT
+# define NS_GETPSTAT 0xc00c6161
+#endif
+#ifdef NS_SETBUFLEV
+# undef NS_SETBUFLEV
+# define NS_SETBUFLEV 0x400c6162
+#endif
+#ifdef OMAPFB_MEMORY_READ
+# undef OMAPFB_MEMORY_READ
+# define OMAPFB_MEMORY_READ 0x80104f3a
+#endif
+#ifdef OSD_GET_CAPABILITY
+# undef OSD_GET_CAPABILITY
+# define OSD_GET_CAPABILITY 0x80086fa1
+#endif
+#ifdef OSD_SEND_CMD
+# undef OSD_SEND_CMD
+# define OSD_SEND_CMD 0x401c6fa0
+#endif
+#ifdef PCITEST_COPY
+# undef PCITEST_COPY
+# define PCITEST_COPY 0x40045006
+#endif
+#ifdef PCITEST_READ
+# undef PCITEST_READ
+# define PCITEST_READ 0x40045005
+#endif
+#ifdef PCITEST_WRITE
+# undef PCITEST_WRITE
+# define PCITEST_WRITE 0x40045004
+#endif
+#ifdef PERF_EVENT_IOC_ID
+# undef PERF_EVENT_IOC_ID
+# define PERF_EVENT_IOC_ID 0x80042407
+#endif
+#ifdef PERF_EVENT_IOC_QUERY_BPF
+# undef PERF_EVENT_IOC_QUERY_BPF
+# define PERF_EVENT_IOC_QUERY_BPF 0xc004240a
+#endif
+#ifdef PERF_EVENT_IOC_SET_FILTER
+# undef PERF_EVENT_IOC_SET_FILTER
+# define PERF_EVENT_IOC_SET_FILTER 0x40042406
+#endif
+#ifdef PHN_GET_REG
+# undef PHN_GET_REG
+# define PHN_GET_REG 0xc0047000
+#endif
+#ifdef PHN_GET_REGS
+# undef PHN_GET_REGS
+# define PHN_GET_REGS 0xc0047002
+#endif
+#ifdef PHN_SET_REG
+# undef PHN_SET_REG
+# define PHN_SET_REG 0x40047001
+#endif
+#ifdef PHN_SET_REGS
+# undef PHN_SET_REGS
+# define PHN_SET_REGS 0x40047003
+#endif
+#ifdef PHONE_CAPABILITIES_CHECK
+# undef PHONE_CAPABILITIES_CHECK
+# define PHONE_CAPABILITIES_CHECK 0x40047182
+#endif
+#ifdef PHONE_CAPABILITIES_LIST
+# undef PHONE_CAPABILITIES_LIST
+# define PHONE_CAPABILITIES_LIST 0x80047181
+#endif
+#ifdef PHONE_QUERY_CODEC
+# undef PHONE_QUERY_CODEC
+# define PHONE_QUERY_CODEC 0xc00471a7
+#endif
+#ifdef PHONE_RING_START
+# undef PHONE_RING_START
+# define PHONE_RING_START 0x40047187
+#endif
+#ifdef PMU_IOC_CAN_SLEEP
+# undef PMU_IOC_CAN_SLEEP
+# define PMU_IOC_CAN_SLEEP 0x80044205
+#endif
+#ifdef PMU_IOC_GET_BACKLIGHT
+# undef PMU_IOC_GET_BACKLIGHT
+# define PMU_IOC_GET_BACKLIGHT 0x80044201
+#endif
+#ifdef PMU_IOC_GET_MODEL
+# undef PMU_IOC_GET_MODEL
+# define PMU_IOC_GET_MODEL 0x80044203
+#endif
+#ifdef PMU_IOC_GRAB_BACKLIGHT
+# undef PMU_IOC_GRAB_BACKLIGHT
+# define PMU_IOC_GRAB_BACKLIGHT 0x80044206
+#endif
+#ifdef PMU_IOC_HAS_ADB
+# undef PMU_IOC_HAS_ADB
+# define PMU_IOC_HAS_ADB 0x80044204
+#endif
+#ifdef PMU_IOC_SET_BACKLIGHT
+# undef PMU_IOC_SET_BACKLIGHT
+# define PMU_IOC_SET_BACKLIGHT 0x40044202
+#endif
+#ifdef PPGETTIME
+# undef PPGETTIME
+# define PPGETTIME 0x80087095
+#endif
+#ifdef PPPIOCGCOMPRESSORS
+# undef PPPIOCGCOMPRESSORS
+# define PPPIOCGCOMPRESSORS 0x80207486
+#endif
+#ifdef PPPIOCGIDLE
+# undef PPPIOCGIDLE
+# define PPPIOCGIDLE 0x8008743f
+#endif
+#ifdef PPPIOCSACTIVE
+# undef PPPIOCSACTIVE
+# define PPPIOCSACTIVE 0x40087446
+#endif
+#ifdef PPPIOCSCOMPRESS
+# undef PPPIOCSCOMPRESS
+# define PPPIOCSCOMPRESS 0x400c744d
+#endif
+#ifdef PPPIOCSPASS
+# undef PPPIOCSPASS
+# define PPPIOCSPASS 0x40087447
+#endif
+#ifdef PPPOEIOCSFWD
+# undef PPPOEIOCSFWD
+# define PPPOEIOCSFWD 0x4004b100
+#endif
+#ifdef PPSETTIME
+# undef PPSETTIME
+# define PPSETTIME 0x40087096
+#endif
+#ifdef PPS_FETCH
+# undef PPS_FETCH
+# define PPS_FETCH 0xc00470a4
+#endif
+#ifdef PPS_GETCAP
+# undef PPS_GETCAP
+# define PPS_GETCAP 0x800470a3
+#endif
+#ifdef PPS_GETPARAMS
+# undef PPS_GETPARAMS
+# define PPS_GETPARAMS 0x800470a1
+#endif
+#ifdef PPS_KC_BIND
+# undef PPS_KC_BIND
+# define PPS_KC_BIND 0x400470a5
+#endif
+#ifdef PPS_SETPARAMS
+# undef PPS_SETPARAMS
+# define PPS_SETPARAMS 0x400470a2
+#endif
+#ifdef REISERFS_IOC_UNPACK
+# undef REISERFS_IOC_UNPACK
+# define REISERFS_IOC_UNPACK 0x4004cd01
+#endif
+#ifdef RTC_EPOCH_READ
+# undef RTC_EPOCH_READ
+# define RTC_EPOCH_READ 0x8004700d
+#endif
+#ifdef RTC_EPOCH_SET
+# undef RTC_EPOCH_SET
+# define RTC_EPOCH_SET 0x4004700e
+#endif
+#ifdef RTC_IRQP_READ
+# undef RTC_IRQP_READ
+# define RTC_IRQP_READ 0x8004700b
+#endif
+#ifdef RTC_IRQP_SET
+# undef RTC_IRQP_SET
+# define RTC_IRQP_SET 0x4004700c
+#endif
+#ifdef RTC_PLL_GET
+# undef RTC_PLL_GET
+# define RTC_PLL_GET 0x801c7011
+#endif
+#ifdef RTC_PLL_SET
+# undef RTC_PLL_SET
+# define RTC_PLL_SET 0x401c7012
+#endif
+#ifdef SNDCTL_DSP_MAPINBUF
+# undef SNDCTL_DSP_MAPINBUF
+# define SNDCTL_DSP_MAPINBUF 0x80085013
+#endif
+#ifdef SNDCTL_DSP_MAPOUTBUF
+# undef SNDCTL_DSP_MAPOUTBUF
+# define SNDCTL_DSP_MAPOUTBUF 0x80085014
+#endif
+#ifdef SNDRV_CTL_IOCTL_ELEM_LIST
+# undef SNDRV_CTL_IOCTL_ELEM_LIST
+# define SNDRV_CTL_IOCTL_ELEM_LIST 0xc0485510
+#endif
+#ifdef SNDRV_CTL_IOCTL_ELEM_READ
+# undef SNDRV_CTL_IOCTL_ELEM_READ
+# define SNDRV_CTL_IOCTL_ELEM_READ 0xc2c85512
+#endif
+#ifdef SNDRV_CTL_IOCTL_ELEM_WRITE
+# undef SNDRV_CTL_IOCTL_ELEM_WRITE
+# define SNDRV_CTL_IOCTL_ELEM_WRITE 0xc2c85513
+#endif
+#ifdef SNDRV_EMU10K1_IOCTL_CODE_PEEK
+# undef SNDRV_EMU10K1_IOCTL_CODE_PEEK
+# define SNDRV_EMU10K1_IOCTL_CODE_PEEK 0xc18c4812
+#endif
+#ifdef SNDRV_EMU10K1_IOCTL_CODE_POKE
+# undef SNDRV_EMU10K1_IOCTL_CODE_POKE
+# define SNDRV_EMU10K1_IOCTL_CODE_POKE 0x418c4811
+#endif
+#ifdef SNDRV_EMU10K1_IOCTL_TRAM_PEEK
+# undef SNDRV_EMU10K1_IOCTL_TRAM_PEEK
+# define SNDRV_EMU10K1_IOCTL_TRAM_PEEK 0xc00c4822
+#endif
+#ifdef SNDRV_EMU10K1_IOCTL_TRAM_POKE
+# undef SNDRV_EMU10K1_IOCTL_TRAM_POKE
+# define SNDRV_EMU10K1_IOCTL_TRAM_POKE 0x400c4821
+#endif
+#ifdef SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE
+# undef SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE
+# define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE 0x40044842
+#endif
+#ifdef SNDRV_HDSPM_IOCTL_GET_MIXER
+# undef SNDRV_HDSPM_IOCTL_GET_MIXER
+# define SNDRV_HDSPM_IOCTL_GET_MIXER 0x80044844
+#endif
+#ifdef SNDRV_HWDEP_IOCTL_DSP_LOAD
+# undef SNDRV_HWDEP_IOCTL_DSP_LOAD
+# define SNDRV_HWDEP_IOCTL_DSP_LOAD 0x40504803
+#endif
+#ifdef SNDRV_PCM_IOCTL_CHANNEL_INFO
+# undef SNDRV_PCM_IOCTL_CHANNEL_INFO
+# define SNDRV_PCM_IOCTL_CHANNEL_INFO 0x80104132
+#endif
+#ifdef SNDRV_PCM_IOCTL_DELAY
+# undef SNDRV_PCM_IOCTL_DELAY
+# define SNDRV_PCM_IOCTL_DELAY 0x80044121
+#endif
+#ifdef SNDRV_PCM_IOCTL_FORWARD
+# undef SNDRV_PCM_IOCTL_FORWARD
+# define SNDRV_PCM_IOCTL_FORWARD 0x40044149
+#endif
+#ifdef SNDRV_PCM_IOCTL_HW_PARAMS
+# undef SNDRV_PCM_IOCTL_HW_PARAMS
+# define SNDRV_PCM_IOCTL_HW_PARAMS 0xc25c4111
+#endif
+#ifdef SNDRV_PCM_IOCTL_HW_REFINE
+# undef SNDRV_PCM_IOCTL_HW_REFINE
+# define SNDRV_PCM_IOCTL_HW_REFINE 0xc25c4110
+#endif
+#ifdef SNDRV_PCM_IOCTL_READI_FRAMES
+# undef SNDRV_PCM_IOCTL_READI_FRAMES
+# define SNDRV_PCM_IOCTL_READI_FRAMES 0x800c4151
+#endif
+#ifdef SNDRV_PCM_IOCTL_READN_FRAMES
+# undef SNDRV_PCM_IOCTL_READN_FRAMES
+# define SNDRV_PCM_IOCTL_READN_FRAMES 0x800c4153
+#endif
+#ifdef SNDRV_PCM_IOCTL_REWIND
+# undef SNDRV_PCM_IOCTL_REWIND
+# define SNDRV_PCM_IOCTL_REWIND 0x40044146
+#endif
+#ifdef SNDRV_PCM_IOCTL_STATUS
+# undef SNDRV_PCM_IOCTL_STATUS
+# define SNDRV_PCM_IOCTL_STATUS 0x806c4120
+#endif
+#ifdef SNDRV_PCM_IOCTL_STATUS_EXT
+# undef SNDRV_PCM_IOCTL_STATUS_EXT
+# define SNDRV_PCM_IOCTL_STATUS_EXT 0xc06c4124
+#endif
+#ifdef SNDRV_PCM_IOCTL_SW_PARAMS
+# undef SNDRV_PCM_IOCTL_SW_PARAMS
+# define SNDRV_PCM_IOCTL_SW_PARAMS 0xc0684113
+#endif
+#ifdef SNDRV_PCM_IOCTL_SYNC_PTR
+# undef SNDRV_PCM_IOCTL_SYNC_PTR
+# define SNDRV_PCM_IOCTL_SYNC_PTR 0xc0844123
+#endif
+#ifdef SNDRV_PCM_IOCTL_WRITEI_FRAMES
+# undef SNDRV_PCM_IOCTL_WRITEI_FRAMES
+# define SNDRV_PCM_IOCTL_WRITEI_FRAMES 0x400c4150
+#endif
+#ifdef SNDRV_PCM_IOCTL_WRITEN_FRAMES
+# undef SNDRV_PCM_IOCTL_WRITEN_FRAMES
+# define SNDRV_PCM_IOCTL_WRITEN_FRAMES 0x400c4152
+#endif
+#ifdef SNDRV_RAWMIDI_IOCTL_PARAMS
+# undef SNDRV_RAWMIDI_IOCTL_PARAMS
+# define SNDRV_RAWMIDI_IOCTL_PARAMS 0xc0205710
+#endif
+#ifdef SNDRV_RAWMIDI_IOCTL_STATUS
+# undef SNDRV_RAWMIDI_IOCTL_STATUS
+# define SNDRV_RAWMIDI_IOCTL_STATUS 0xc0245720
+#endif
+#ifdef SNDRV_SEQ_IOCTL_CREATE_PORT
+# undef SNDRV_SEQ_IOCTL_CREATE_PORT
+# define SNDRV_SEQ_IOCTL_CREATE_PORT 0xc0a45320
+#endif
+#ifdef SNDRV_SEQ_IOCTL_DELETE_PORT
+# undef SNDRV_SEQ_IOCTL_DELETE_PORT
+# define SNDRV_SEQ_IOCTL_DELETE_PORT 0x40a45321
+#endif
+#ifdef SNDRV_SEQ_IOCTL_GET_PORT_INFO
+# undef SNDRV_SEQ_IOCTL_GET_PORT_INFO
+# define SNDRV_SEQ_IOCTL_GET_PORT_INFO 0xc0a45322
+#endif
+#ifdef SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT
+# undef SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT
+# define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT 0xc0a45352
+#endif
+#ifdef SNDRV_SEQ_IOCTL_SET_PORT_INFO
+# undef SNDRV_SEQ_IOCTL_SET_PORT_INFO
+# define SNDRV_SEQ_IOCTL_SET_PORT_INFO 0x40a45323
+#endif
+#ifdef SNDRV_TIMER_IOCTL_GINFO
+# undef SNDRV_TIMER_IOCTL_GINFO
+# define SNDRV_TIMER_IOCTL_GINFO 0xc0e05403
+#endif
+#ifdef SNDRV_TIMER_IOCTL_GPARAMS
+# undef SNDRV_TIMER_IOCTL_GPARAMS
+# define SNDRV_TIMER_IOCTL_GPARAMS 0x403c5404
+#endif
+#ifdef SNDRV_TIMER_IOCTL_GSTATUS
+# undef SNDRV_TIMER_IOCTL_GSTATUS
+# define SNDRV_TIMER_IOCTL_GSTATUS 0xc0405405
+#endif
+#ifdef SNDRV_TIMER_IOCTL_INFO
+# undef SNDRV_TIMER_IOCTL_INFO
+# define SNDRV_TIMER_IOCTL_INFO 0x80e05411
+#endif
+#ifdef SNDRV_TIMER_IOCTL_STATUS
+# undef SNDRV_TIMER_IOCTL_STATUS
+# define SNDRV_TIMER_IOCTL_STATUS 0x80585414
+#endif
+#ifdef SPIOCSTYPE
+# undef SPIOCSTYPE
+# define SPIOCSTYPE 0x40047101
+#endif
+#ifdef TUNATTACHFILTER
+# undef TUNATTACHFILTER
+# define TUNATTACHFILTER 0x400854d5
+#endif
+#ifdef TUNDETACHFILTER
+# undef TUNDETACHFILTER
+# define TUNDETACHFILTER 0x400854d6
+#endif
+#ifdef TUNER_SET_CONFIG
+# undef TUNER_SET_CONFIG
+# define TUNER_SET_CONFIG 0x4008645c
+#endif
+#ifdef TUNGETFILTER
+# undef TUNGETFILTER
+# define TUNGETFILTER 0x800854db
+#endif
+#ifdef UDF_GETEABLOCK
+# undef UDF_GETEABLOCK
+# define UDF_GETEABLOCK 0x80046c41
+#endif
+#ifdef UDF_GETVOLIDENT
+# undef UDF_GETVOLIDENT
+# define UDF_GETVOLIDENT 0x80046c42
+#endif
+#ifdef UDF_RELOCATE_BLOCKS
+# undef UDF_RELOCATE_BLOCKS
+# define UDF_RELOCATE_BLOCKS 0xc0046c43
+#endif
+#ifdef UI_BEGIN_FF_UPLOAD
+# undef UI_BEGIN_FF_UPLOAD
+# define UI_BEGIN_FF_UPLOAD 0xc06055c8
+#endif
+#ifdef UI_END_FF_UPLOAD
+# undef UI_END_FF_UPLOAD
+# define UI_END_FF_UPLOAD 0x406055c9
+#endif
+#ifdef UI_SET_PHYS
+# undef UI_SET_PHYS
+# define UI_SET_PHYS 0x4004556c
+#endif
+#ifdef USBDEVFS_BULK
+# undef USBDEVFS_BULK
+# define USBDEVFS_BULK 0xc0105502
+#endif
+#ifdef USBDEVFS_CONTROL
+# undef USBDEVFS_CONTROL
+# define USBDEVFS_CONTROL 0xc0105500
+#endif
+#ifdef USBDEVFS_DISCSIGNAL
+# undef USBDEVFS_DISCSIGNAL
+# define USBDEVFS_DISCSIGNAL 0x8008550e
+#endif
+#ifdef USBDEVFS_IOCTL
+# undef USBDEVFS_IOCTL
+# define USBDEVFS_IOCTL 0xc00c5512
+#endif
+#ifdef USBDEVFS_REAPURB
+# undef USBDEVFS_REAPURB
+# define USBDEVFS_REAPURB 0x4004550c
+#endif
+#ifdef USBDEVFS_REAPURBNDELAY
+# undef USBDEVFS_REAPURBNDELAY
+# define USBDEVFS_REAPURBNDELAY 0x4004550d
+#endif
+#ifdef USBDEVFS_SUBMITURB
+# undef USBDEVFS_SUBMITURB
+# define USBDEVFS_SUBMITURB 0x802c550a
+#endif
+#ifdef UVCIOC_CTRL_MAP
+# undef UVCIOC_CTRL_MAP
+# define UVCIOC_CTRL_MAP 0xc0587520
+#endif
+#ifdef UVCIOC_CTRL_QUERY
+# undef UVCIOC_CTRL_QUERY
+# define UVCIOC_CTRL_QUERY 0xc00c7521
+#endif
+#ifdef V4L2_DEVICE_NOTIFY_EVENT
+# undef V4L2_DEVICE_NOTIFY_EVENT
+# define V4L2_DEVICE_NOTIFY_EVENT 0x40807602
+#endif
+#ifdef VFAT_IOCTL_READDIR_BOTH
+# undef VFAT_IOCTL_READDIR_BOTH
+# define VFAT_IOCTL_READDIR_BOTH 0x82187201
+#endif
+#ifdef VFAT_IOCTL_READDIR_SHORT
+# undef VFAT_IOCTL_READDIR_SHORT
+# define VFAT_IOCTL_READDIR_SHORT 0x82187202
+#endif
+#ifdef VIDEO_GET_EVENT
+# undef VIDEO_GET_EVENT
+# define VIDEO_GET_EVENT 0x80146f1c
+#endif
+#ifdef VIDEO_SET_SPU_PALETTE
+# undef VIDEO_SET_SPU_PALETTE
+# define VIDEO_SET_SPU_PALETTE 0x40086f33
+#endif
+#ifdef VIDEO_STILLPICTURE
+# undef VIDEO_STILLPICTURE
+# define VIDEO_STILLPICTURE 0x40086f1e
+#endif
+#ifdef VIDIOC_AM437X_CCDC_CFG
+# undef VIDIOC_AM437X_CCDC_CFG
+# define VIDIOC_AM437X_CCDC_CFG 0x400456c1
+#endif
+#ifdef VIDIOC_CREATE_BUFS
+# undef VIDIOC_CREATE_BUFS
+# define VIDIOC_CREATE_BUFS 0xc0f8565c
+#endif
+#ifdef VIDIOC_DQBUF
+# undef VIDIOC_DQBUF
+# define VIDIOC_DQBUF 0xc0445611
+#endif
+#ifdef VIDIOC_DQEVENT
+# undef VIDIOC_DQEVENT
+# define VIDIOC_DQEVENT 0x80805659
+#endif
+#ifdef VIDIOC_G_EDID
+# undef VIDIOC_G_EDID
+# define VIDIOC_G_EDID 0xc0245628
+#endif
+#ifdef VIDIOC_G_EXT_CTRLS
+# undef VIDIOC_G_EXT_CTRLS
+# define VIDIOC_G_EXT_CTRLS 0xc0185647
+#endif
+#ifdef VIDIOC_G_FBUF
+# undef VIDIOC_G_FBUF
+# define VIDIOC_G_FBUF 0x802c560a
+#endif
+#ifdef VIDIOC_G_FMT
+# undef VIDIOC_G_FMT
+# define VIDIOC_G_FMT 0xc0cc5604
+#endif
+#ifdef VIDIOC_OMAP3ISP_CCDC_CFG
+# undef VIDIOC_OMAP3ISP_CCDC_CFG
+# define VIDIOC_OMAP3ISP_CCDC_CFG 0xc02056c1
+#endif
+#ifdef VIDIOC_OMAP3ISP_PRV_CFG
+# undef VIDIOC_OMAP3ISP_PRV_CFG
+# define VIDIOC_OMAP3ISP_PRV_CFG 0xc03c56c2
+#endif
+#ifdef VIDIOC_OMAP3ISP_STAT_EN
+# undef VIDIOC_OMAP3ISP_STAT_EN
+# define VIDIOC_OMAP3ISP_STAT_EN 0xc00456c7
+#endif
+#ifdef VIDIOC_OMAP3ISP_STAT_REQ
+# undef VIDIOC_OMAP3ISP_STAT_REQ
+# define VIDIOC_OMAP3ISP_STAT_REQ 0xc01856c6
+#endif
+#ifdef VIDIOC_PREPARE_BUF
+# undef VIDIOC_PREPARE_BUF
+# define VIDIOC_PREPARE_BUF 0xc044565d
+#endif
+#ifdef VIDIOC_QBUF
+# undef VIDIOC_QBUF
+# define VIDIOC_QBUF 0xc044560f
+#endif
+#ifdef VIDIOC_QUERYBUF
+# undef VIDIOC_QUERYBUF
+# define VIDIOC_QUERYBUF 0xc0445609
+#endif
+#ifdef VIDIOC_S_EDID
+# undef VIDIOC_S_EDID
+# define VIDIOC_S_EDID 0xc0245629
+#endif
+#ifdef VIDIOC_S_EXT_CTRLS
+# undef VIDIOC_S_EXT_CTRLS
+# define VIDIOC_S_EXT_CTRLS 0xc0185648
+#endif
+#ifdef VIDIOC_S_FBUF
+# undef VIDIOC_S_FBUF
+# define VIDIOC_S_FBUF 0x402c560b
+#endif
+#ifdef VIDIOC_S_FMT
+# undef VIDIOC_S_FMT
+# define VIDIOC_S_FMT 0xc0cc5605
+#endif
+#ifdef VIDIOC_SUBDEV_G_EDID
+# undef VIDIOC_SUBDEV_G_EDID
+# define VIDIOC_SUBDEV_G_EDID 0xc0245628
+#endif
+#ifdef VIDIOC_SUBDEV_S_EDID
+# undef VIDIOC_SUBDEV_S_EDID
+# define VIDIOC_SUBDEV_S_EDID 0xc0245629
+#endif
+#ifdef VIDIOC_TRY_EXT_CTRLS
+# undef VIDIOC_TRY_EXT_CTRLS
+# define VIDIOC_TRY_EXT_CTRLS 0xc0185649
+#endif
+#ifdef VIDIOC_TRY_FMT
+# undef VIDIOC_TRY_FMT
+# define VIDIOC_TRY_FMT 0xc0cc5640
+#endif
+#ifdef ZATM_GETPOOL
+# undef ZATM_GETPOOL
+# define ZATM_GETPOOL 0x400c6161
+#endif
+#ifdef ZATM_GETPOOLZ
+# undef ZATM_GETPOOLZ
+# define ZATM_GETPOOLZ 0x400c6162
+#endif
+#ifdef ZATM_SETPOOL
+# undef ZATM_SETPOOL
+# define ZATM_SETPOOL 0x400c6163
+#endif
diff --git a/ioctlent0.h b/ioctlent0.h
index 7e542b15..a4d4e28d 100644
--- a/ioctlent0.h
+++ b/ioctlent0.h
@@ -169,7 +169,9 @@
{ "VFIO_IOMMU_SPAPR_TCE_GET_INFO", 0x00003b70 },
{ "VFIO_DEVICE_PCI_HOT_RESET", 0x00003b71 },
{ "VFIO_IOMMU_MAP_DMA", 0x00003b71 },
+{ "VFIO_DEVICE_QUERY_GFX_PLANE", 0x00003b72 },
{ "VFIO_IOMMU_UNMAP_DMA", 0x00003b72 },
+{ "VFIO_DEVICE_GET_GFX_DMABUF", 0x00003b73 },
{ "VFIO_IOMMU_ENABLE", 0x00003b73 },
{ "VFIO_IOMMU_DISABLE", 0x00003b74 },
{ "VFIO_IOMMU_SPAPR_REGISTER_MEMORY", 0x00003b75 },
@@ -862,6 +864,24 @@
{ "NBD_SET_FLAGS", 0x0000ab0a },
{ "RAW_SETBIND", 0x0000ac00 },
{ "RAW_GETBIND", 0x0000ac01 },
+{ "KVM_GET_API_VERSION", 0x0000ae00 },
+{ "KVM_CREATE_VM", 0x0000ae01 },
+{ "KVM_CHECK_EXTENSION", 0x0000ae03 },
+{ "KVM_GET_VCPU_MMAP_SIZE", 0x0000ae04 },
+{ "KVM_CREATE_VCPU", 0x0000ae41 },
+{ "KVM_SET_NR_MMU_PAGES", 0x0000ae44 },
+{ "KVM_GET_NR_MMU_PAGES", 0x0000ae45 },
+{ "KVM_SET_TSS_ADDR", 0x0000ae47 },
+{ "KVM_CREATE_IRQCHIP", 0x0000ae60 },
+{ "KVM_CREATE_PIT", 0x0000ae64 },
+{ "KVM_REINJECT_CONTROL", 0x0000ae71 },
+{ "KVM_SET_BOOT_CPU_ID", 0x0000ae78 },
+{ "KVM_RUN", 0x0000ae80 },
+{ "KVM_NMI", 0x0000ae9a },
+{ "KVM_SET_TSC_KHZ", 0x0000aea2 },
+{ "KVM_GET_TSC_KHZ", 0x0000aea3 },
+{ "KVM_KVMCLOCK_CTRL", 0x0000aead },
+{ "KVM_SMI", 0x0000aeb7 },
{ "VHOST_SET_OWNER", 0x0000af01 },
{ "VHOST_RESET_OWNER", 0x0000af02 },
{ "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 },
@@ -883,6 +903,8 @@
{ "IOCTL_GNTDEV_GRANT_COPY", 0x00104708 },
{ "IOCTL_GNTDEV_MAP_GRANT_REF", 0x00184700 },
{ "IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR", 0x00184702 },
+{ "KVM_SET_SREGS", 0x4000ae84 },
+{ "KVM_SET_FPU", 0x4000ae8d },
{ "MFB_SET_ALPHA", 0x40014d00 },
{ "MFB_SET_GAMMA", 0x40014d01 },
{ "MFB_SET_BRIGHTNESS", 0x40014d03 },
@@ -1146,6 +1168,9 @@
{ "BTRFS_IOC_CLONE", 0x40049409 },
{ "FICLONE", 0x40049409 },
{ "BTRFS_IOC_BALANCE_CTL", 0x40049421 },
+{ "KVM_INTERRUPT", 0x4004ae86 },
+{ "KVM_SET_SIGNAL_MASK", 0x4004ae8b },
+{ "KVM_SET_MP_STATE", 0x4004ae99 },
{ "VHOST_SET_LOG_FD", 0x4004af07 },
{ "VHOST_SCSI_GET_ABI_VERSION", 0x4004af42 },
{ "VHOST_SCSI_SET_EVENTS_MISSED", 0x4004af43 },
@@ -1287,6 +1312,11 @@
{ "BTRFS_IOC_DEFAULT_SUBVOL", 0x40089413 },
{ "BTRFS_IOC_WAIT_SYNC", 0x40089416 },
{ "BTRFS_IOC_SUBVOL_SETFLAGS", 0x4008941a },
+{ "KVM_SET_IDENTITY_MAP_ADDR", 0x4008ae48 },
+{ "KVM_IRQ_LINE", 0x4008ae61 },
+{ "KVM_SET_GSI_ROUTING", 0x4008ae6a },
+{ "KVM_ASSIGN_SET_MSIX_NR", 0x4008ae73 },
+{ "KVM_SET_VAPIC_ADDR", 0x4008ae93 },
{ "VHOST_SET_FEATURES", 0x4008af00 },
{ "VHOST_SET_MEM_TABLE", 0x4008af03 },
{ "VHOST_SET_LOG_BASE", 0x4008af04 },
@@ -1304,6 +1334,7 @@
{ "PPPOEIOCSFWD", 0x4008b100 },
{ "IOW_WRITE", 0x4008c001 },
{ "IOW_READ", 0x4008c002 },
+{ "OCXL_IOCTL_IRQ_FREE", 0x4008ca12 },
{ "REISERFS_IOC_UNPACK", 0x4008cd01 },
{ "SNDRV_DM_FM_IOCTL_SET_PARAMS", 0x40094824 },
{ "FDFMTTRK", 0x400c0248 },
@@ -1335,6 +1366,7 @@
{ "UBI_IOCRSVOL", 0x400c6f02 },
{ "AUDIO_SET_KARAOKE", 0x400c6f12 },
{ "MBXFB_IOCS_REG", 0x400cf404 },
+{ "LPSETTIMEOUT_NEW", 0x4010060f },
{ "BLKRESETZONE", 0x40101283 },
{ "FW_CDEV_IOC_START_ISO", 0x4010230a },
{ "FW_CDEV_IOC_SET_ISO_CHANNELS", 0x40102317 },
@@ -1433,7 +1465,16 @@
{ "GENWQE_WRITE_REG64", 0x4010a51f },
{ "GENWQE_WRITE_REG32", 0x4010a521 },
{ "GENWQE_WRITE_REG16", 0x4010a523 },
+{ "KVM_GET_DIRTY_LOG", 0x4010ae42 },
+{ "KVM_REGISTER_COALESCED_MMIO", 0x4010ae67 },
+{ "KVM_UNREGISTER_COALESCED_MMIO", 0x4010ae68 },
+{ "KVM_ASSIGN_SET_MSIX_ENTRY", 0x4010ae74 },
+{ "KVM_DIRTY_TLB", 0x4010aeaa },
+{ "KVM_ARM_SET_DEVICE_ADDR", 0x4010aeab },
+{ "KVM_GET_ONE_REG", 0x4010aeab },
+{ "KVM_SET_ONE_REG", 0x4010aeac },
{ "ASPEED_LPC_CTRL_IOCTL_MAP", 0x4010b201 },
+{ "OCXL_IOCTL_IRQ_SET_FD", 0x4010ca13 },
{ "SNDRV_DM_FM_IOCTL_SET_VOICE", 0x40124823 },
{ "FDSETMAXERRS", 0x4014024c },
{ "ADD_NEW_DISK", 0x40140921 },
@@ -1455,6 +1496,7 @@
{ "HIDIOCSUSAGE", 0x4018480c },
{ "HIDIOCGCOLLECTIONINDEX", 0x40184810 },
{ "AMDKFD_IOC_UPDATE_QUEUE", 0x40184b07 },
+{ "AMDKFD_IOC_SET_TRAP_HANDLER", 0x40184b13 },
{ "IVTVFB_IOC_DMA_FRAME", 0x401856c0 },
{ "DRM_IOCTL_UPDATE_DRAW", 0x4018643f },
{ "DRM_IOCTL_QXL_UPDATE_AREA", 0x40186443 },
@@ -1469,6 +1511,10 @@
{ "IOC_PR_PREEMPT", 0x401870cb },
{ "IOC_PR_PREEMPT_ABORT", 0x401870cc },
{ "BTRFS_IOC_QGROUP_ASSIGN", 0x40189429 },
+{ "KVM_SET_MEMORY_REGION", 0x4018ae40 },
+{ "KVM_SET_DEVICE_ATTR", 0x4018aee1 },
+{ "KVM_GET_DEVICE_ATTR", 0x4018aee2 },
+{ "KVM_HAS_DEVICE_ATTR", 0x4018aee3 },
{ "MBXFB_IOCS_ALPHA", 0x4018f402 },
{ "UI_ABS_SETUP", 0x401c5504 },
{ "FS_IOC_FSSETXATTR", 0x401c5820 },
@@ -1504,6 +1550,11 @@
{ "PPPIOCSXASYNCMAP", 0x4020744f },
{ "BTRFS_IOC_CLONE_RANGE", 0x4020940d },
{ "FICLONERANGE", 0x4020940d },
+{ "KVM_SET_USER_MEMORY_REGION", 0x4020ae46 },
+{ "KVM_IRQFD", 0x4020ae76 },
+{ "KVM_SIGNAL_MSI", 0x4020aea5 },
+{ "KVM_ARM_VCPU_INIT", 0x4020aeae },
+{ "OCXL_IOCTL_ATTACH", 0x4020ca10 },
{ "SNDRV_COMPRESS_SET_METADATA", 0x40244314 },
{ "NVM_DEV_REMOVE", 0x40244c23 },
{ "NVM_DEV_FACTORY", 0x40244c25 },
@@ -1543,6 +1594,7 @@
{ "MGSL_IOCSPARAMS", 0x40306d00 },
{ "BTRFS_IOC_DEFRAG_RANGE", 0x40309410 },
{ "BTRFS_IOC_SET_FEATURES", 0x40309439 },
+{ "KVM_SET_CLOCK", 0x4030ae7b },
{ "GSMIOC_ENABLE_NET", 0x40344702 },
{ "SNDRV_TIMER_IOCTL_SELECT", 0x40345410 },
{ "VIDIOC_S_AUDIO", 0x40345622 },
@@ -1562,6 +1614,12 @@
{ "DRM_IOCTL_I915_GEM_EXECBUFFER2", 0x40406469 },
{ "JSIOCSAXMAP", 0x40406a31 },
{ "BTRFS_IOC_QUOTA_RESCAN", 0x4040942c },
+{ "KVM_ASSIGN_DEV_IRQ", 0x4040ae70 },
+{ "KVM_DEASSIGN_PCI_DEVICE", 0x4040ae72 },
+{ "KVM_DEASSIGN_DEV_IRQ", 0x4040ae75 },
+{ "KVM_CREATE_PIT2", 0x4040ae77 },
+{ "KVM_IOEVENTFD", 0x4040ae79 },
+{ "KVM_ASSIGN_SET_INTX_MASK", 0x4040aea4 },
{ "CXL_IOCTL_START_WORK", 0x4040ca00 },
{ "CXL_IOCTL_DOWNLOAD_IMAGE", 0x4040ca0a },
{ "CXL_IOCTL_VALIDATE_IMAGE", 0x4040ca0b },
@@ -1590,6 +1648,7 @@
{ "SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER", 0x40605346 },
{ "DRM_IOCTL_SAVAGE_BCI_INIT", 0x40606440 },
{ "UI_END_FF_UPLOAD", 0x406855c9 },
+{ "KVM_ENABLE_CAP", 0x4068aea3 },
{ "CHIOGELEM", 0x406c6310 },
{ "HFI1_IOCTL_USER_INFO", 0x40781be3 },
{ "DRM_IOCTL_R128_INIT", 0x40786440 },
@@ -1625,8 +1684,10 @@
{ "IOC_OPAL_ADD_USR_TO_LR", 0x411870e4 },
{ "IOC_OPAL_LR_SETUP", 0x412870e3 },
{ "SNDRV_EMU10K1_IOCTL_CODE_POKE", 0x41b04811 },
+{ "KVM_SET_GUEST_DEBUG", 0x4208ae9b },
{ "IOC_OPAL_SET_PW", 0x422070e0 },
{ "PTP_SYS_OFFSET", 0x43403d05 },
+{ "KVM_SET_REGS", 0x4360ae82 },
{ "JSIOCSBTNMAP", 0x44006a33 },
{ "BTRFS_IOC_SNAP_CREATE", 0x50009401 },
{ "BTRFS_IOC_DEFRAG", 0x50009402 },
@@ -1643,6 +1704,8 @@
{ "HIDIOCSUSAGES", 0x501c4814 },
{ "UBI_IOCRNVOL", 0x51106f03 },
{ "SNDRV_SB_CSP_IOCTL_LOAD_CODE", 0x70124811 },
+{ "KVM_GET_SREGS", 0x8000ae83 },
+{ "KVM_GET_FPU", 0x8000ae8c },
{ "MFB_GET_ALPHA", 0x80014d00 },
{ "MFB_GET_GAMMA", 0x80014d01 },
{ "USBTMC488_IOCTL_GET_CAPS", 0x80015b11 },
@@ -1758,6 +1821,8 @@
{ "TUNGETVNETHDRSZ", 0x800454d7 },
{ "TUNGETVNETLE", 0x800454dd },
{ "TUNGETVNETBE", 0x800454df },
+{ "TUNSETSTEERINGEBPF", 0x800454e0 },
+{ "TUNSETFILTEREBPF", 0x800454e1 },
{ "SNDRV_CTL_IOCTL_PVERSION", 0x80045500 },
{ "USBDEVFS_RESETEP", 0x80045503 },
{ "USBDEVFS_SETCONFIGURATION", 0x80045505 },
@@ -1863,6 +1928,7 @@
{ "AUTOFS_IOC_ASKUMOUNT", 0x80049370 },
{ "TEE_IOC_CLOSE_SESSION", 0x8004a405 },
{ "GENWQE_GET_CARD_STATE", 0x8004a524 },
+{ "KVM_GET_MP_STATE", 0x8004ae98 },
{ "CXL_IOCTL_GET_PROCESS_ELEMENT", 0x8004ca01 },
{ "FUSE_DEV_IOC_CLONE", 0x8004e500 },
{ "SISFB_GET_INFO_SIZE", 0x8004f300 },
@@ -1948,6 +2014,7 @@
{ "BTRFS_IOC_SUBVOL_GETFLAGS", 0x80089419 },
{ "TEE_IOC_CANCEL", 0x8008a404 },
{ "VHOST_GET_FEATURES", 0x8008af00 },
+{ "OCXL_IOCTL_IRQ_ALLOC", 0x8008ca11 },
{ "FUNCTIONFS_ENDPOINT_DESC", 0x80096782 },
{ "DMX_GET_PES_PIDS", 0x800a6f2f },
{ "RAID_VERSION", 0x800c0910 },
@@ -2002,6 +2069,8 @@
{ "GENWQE_READ_REG16", 0x8010a522 },
{ "UFFDIO_UNREGISTER", 0x8010aa01 },
{ "UFFDIO_WAKE", 0x8010aa02 },
+{ "KVM_MEMORY_ENCRYPT_REG_REGION", 0x8010aebb },
+{ "KVM_MEMORY_ENCRYPT_UNREG_REGION", 0x8010aebc },
{ "FDGETMAXERRS", 0x8014020e },
{ "GET_DISK_INFO", 0x80140912 },
{ "SNDRV_COMPRESS_TSTAMP", 0x80144320 },
@@ -2040,6 +2109,7 @@
{ "VIDEO_GET_EVENT", 0x80206f1c },
{ "RTC_PLL_GET", 0x80207011 },
{ "PPPIOCGXASYNCMAP", 0x80207450 },
+{ "KVM_ARM_PREFERRED_TARGET", 0x8020aeaf },
{ "SNDRV_HDSP_IOCTL_GET_CONFIG_INFO", 0x80244841 },
{ "SNDRV_HDSPM_IOCTL_GET_VERSION", 0x80244848 },
{ "SONET_GETSTAT", 0x80246110 },
@@ -2068,6 +2138,7 @@
{ "RIO_MPORT_GET_PROPERTIES", 0x80306d04 },
{ "NILFS_IOCTL_GET_SUSTAT", 0x80306e85 },
{ "BTRFS_IOC_QGROUP_LIMIT", 0x8030942b },
+{ "KVM_GET_CLOCK", 0x8030ae7c },
{ "VIDIOC_G_AUDIO", 0x80345621 },
{ "VIDIOC_G_AUDOUT", 0x80345631 },
{ "USBDEVFS_SUBMITURB", 0x8038550a },
@@ -2079,6 +2150,7 @@
{ "BR_REPLY", 0x80407203 },
{ "PPPIOCGCOMPRESSORS", 0x80407486 },
{ "BTRFS_IOC_QUOTA_RESCAN_STATUS", 0x8040942d },
+{ "KVM_ASSIGN_PCI_DEVICE", 0x8040ae69 },
{ "CXL_IOCTL_GET_AFU_ID", 0x8040ca02 },
{ "GPIO_GET_CHIPINFO_IOCTL", 0x8044b401 },
{ "GET_ARRAY_INFO", 0x80480911 },
@@ -2097,6 +2169,7 @@
{ "SNDRV_COMPRESS_GET_PARAMS", 0x80784313 },
{ "FDGETDRVPRM", 0x80800211 },
{ "USBDEVFS_HUB_PORTINFO", 0x80805513 },
+{ "OCXL_IOCTL_GET_METADATA", 0x8080ca14 },
{ "VIDIOC_QUERY_DV_TIMINGS", 0x80845663 },
{ "VIDIOC_SUBDEV_QUERY_DV_TIMINGS", 0x80845663 },
{ "VIDIOC_DQEVENT", 0x80885659 },
@@ -2121,8 +2194,10 @@
{ "SNDRV_CTL_IOCTL_CARD_INFO", 0x81785501 },
{ "AMDKFD_IOC_GET_PROCESS_APERTURES", 0x81904b06 },
{ "SWITCHTEC_IOCTL_EVENT_SUMMARY", 0x81985742 },
+{ "KVM_SET_IRQCHIP", 0x8208ae63 },
{ "VFAT_IOCTL_READDIR_BOTH", 0x82307201 },
{ "VFAT_IOCTL_READDIR_SHORT", 0x82307202 },
+{ "KVM_GET_REGS", 0x8360ae81 },
{ "SNDRV_HDSP_IOCTL_GET_PEAK_RMS", 0x83b04840 },
{ "JSIOCGBTNMAP", 0x84006a34 },
{ "BTRFS_IOC_FS_INFO", 0x8400941f },
@@ -2137,6 +2212,7 @@
{ "NVM_GET_DEVICES", 0x90004c21 },
{ "BTRFS_IOC_DEVICES_READY", 0x90009427 },
{ "HIDIOCGRDESC", 0x90044802 },
+{ "VBG_IOCTL_VMMDEV_REQUEST_BIG", 0xc0005603 },
{ "GADGET_SET_PRINTER_STATUS", 0xc0016722 },
{ "RIO_CM_CHAN_CREATE", 0xc0026303 },
{ "CAPI_GET_MANUFACTURER", 0xc0044306 },
@@ -2199,6 +2275,7 @@
{ "AUTOFS_IOC_SETTIMEOUT32", 0xc0049364 },
{ "NET_ADD_IF", 0xc0066f34 },
{ "NET_GET_IF", 0xc0066f36 },
+{ "PERF_EVENT_IOC_QUERY_BPF", 0xc008240a },
{ "AGPIOC_ALLOCATE", 0xc0084106 },
{ "HDA_IOCTL_VERB_WRITE", 0xc0084811 },
{ "HDA_IOCTL_GET_WCAP", 0xc0084812 },
@@ -2239,7 +2316,6 @@
{ "DRM_IOCTL_RADEON_GEM_BUSY", 0xc008646a },
{ "DRM_IOCTL_I915_GEM_CONTEXT_CREATE", 0xc008646d },
{ "DRM_IOCTL_I915_GEM_GET_CACHING", 0xc0086470 },
-{ "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", 0xc0086473 },
{ "DRM_IOCTL_SYNCOBJ_CREATE", 0xc00864bf },
{ "DRM_IOCTL_SYNCOBJ_DESTROY", 0xc00864c0 },
{ "I8K_GET_SPEED", 0xc0086985 },
@@ -2247,6 +2323,7 @@
{ "I8K_SET_FAN", 0xc0086987 },
{ "UDF_RELOCATE_BLOCKS", 0xc0086c43 },
{ "MATROXFB_GET_OUTPUT_MODE", 0xc0086efa },
+{ "DMX_REQBUFS", 0xc0086f3c },
{ "PHN_GET_REG", 0xc0087000 },
{ "PHN_GET_REGS", 0xc0087002 },
{ "PHN_GETREG", 0xc0087005 },
@@ -2260,13 +2337,15 @@
{ "SCIF_ACCEPTREG", 0xc0087305 },
{ "PPPIOCGNPMODE", 0xc008744c },
{ "AUTOFS_IOC_SETTIMEOUT", 0xc0089364 },
+{ "KVM_IRQ_LINE_STATUS", 0xc008ae67 },
+{ "KVM_GET_REG_LIST", 0xc008aeb0 },
+{ "KVM_MEMORY_ENCRYPT_OP", 0xc008aeba },
{ "FSL_HV_IOCTL_PARTITION_RESTART", 0xc008af01 },
{ "FSL_HV_IOCTL_PARTITION_STOP", 0xc008af04 },
{ "FSL_HV_IOCTL_DOORBELL", 0xc008af06 },
{ "VHOST_GET_VRING_BASE", 0xc008af12 },
{ "MMC_IOC_MULTI_CMD", 0xc008b301 },
{ "HIDIOCGREPORTINFO", 0xc00c4809 },
-{ "ND_IOCTL_SMART_THRESHOLD", 0xc00c4e02 },
{ "ND_IOCTL_GET_CONFIG_SIZE", 0xc00c4e04 },
{ "ND_IOCTL_GET_CONFIG_DATA", 0xc00c4e05 },
{ "SNDCTL_SYNTH_REMOVESAMPLE", 0xc00c5116 },
@@ -2284,6 +2363,8 @@
{ "DRM_IOCTL_I915_GEM_MADVISE", 0xc00c6466 },
{ "DRM_IOCTL_RADEON_GEM_SET_TILING", 0xc00c6468 },
{ "DRM_IOCTL_RADEON_GEM_GET_TILING", 0xc00c6469 },
+{ "DMX_EXPBUF", 0xc00c6f3e },
+{ "KVM_CREATE_DEVICE", 0xc00caee0 },
{ "FSL_HV_IOCTL_PARTITION_GET_STATUS", 0xc00caf02 },
{ "MBXFB_IOCX_REG", 0xc00cf405 },
{ "BLKREPORTZONE", 0xc0101282 },
@@ -2301,6 +2382,7 @@
{ "MEMWRITEOOB", 0xc0104d03 },
{ "MEMREADOOB", 0xc0104d04 },
{ "MEMGETREGIONINFO", 0xc0104d08 },
+{ "SEV_ISSUE_CMD", 0xc0105300 },
{ "SNDRV_SEQ_IOCTL_RUNNING_MODE", 0xc0105303 },
{ "USBDEVFS_CONTROL32", 0xc0105500 },
{ "USBDEVFS_BULK32", 0xc0105502 },
@@ -2422,6 +2504,7 @@
{ "MEMREADOOB64", 0xc0184d16 },
{ "USBDEVFS_CONTROL", 0xc0185500 },
{ "USBDEVFS_BULK", 0xc0185502 },
+{ "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", 0xc018560b },
{ "PACKET_CTRL_CMD", 0xc0185801 },
{ "FITRIM", 0xc0185879 },
{ "BINDER_GET_NODE_DEBUG_INFO", 0xc018620b },
@@ -2461,6 +2544,9 @@
{ "NCP_IOC_GETOBJECTNAME", 0xc0186e09 },
{ "NILFS_IOCTL_GET_VINFO", 0xc0186e86 },
{ "NILFS_IOCTL_GET_BDESCS", 0xc0186e87 },
+{ "DMX_QUERYBUF", 0xc0186f3d },
+{ "DMX_QBUF", 0xc0186f3f },
+{ "DMX_DQBUF", 0xc0186f40 },
{ "SCIF_SEND", 0xc0187306 },
{ "SCIF_RECV", 0xc0187307 },
{ "SCIF_GET_NODEIDS", 0xc018730e },
@@ -2482,9 +2568,13 @@
{ "AUTOFS_DEV_IOCTL_ISMOUNTPOINT", 0xc018937e },
{ "BTRFS_IOC_FILE_EXTENT_SAME", 0xc0189436 },
{ "FIDEDUPERANGE", 0xc0189436 },
+{ "TEE_IOC_SHM_REGISTER", 0xc018a409 },
{ "UFFDIO_API", 0xc018aa3f },
+{ "KVM_TRANSLATE", 0xc018ae85 },
{ "IB_USER_MAD_REGISTER_AGENT", 0xc01c1b01 },
{ "HFI1_IOCTL_ASSIGN_CTXT", 0xc01c1be1 },
+{ "VBG_IOCTL_HGCM_DISCONNECT", 0xc01c5605 },
+{ "VBG_IOCTL_WRITE_CORE_DUMP", 0xc01c5613 },
{ "SI4713_IOC_MEASURE_RNL", 0xc01c56c0 },
{ "DRM_IOCTL_MODE_CURSOR", 0xc01c64a3 },
{ "DRM_IOCTL_MODE_GETFB", 0xc01c64ad },
@@ -2495,6 +2585,10 @@
{ "ND_IOCTL_ARS_CAP", 0xc0204e01 },
{ "ND_IOCTL_ARS_START", 0xc0204e02 },
{ "ND_IOCTL_CLEAR_ERROR", 0xc0204e04 },
+{ "VBG_IOCTL_WAIT_FOR_EVENTS", 0xc020560a },
+{ "VBG_IOCTL_CHANGE_FILTER_MASK", 0xc020560c },
+{ "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", 0xc020560e },
+{ "VBG_IOCTL_CHECK_BALLOON", 0xc0205611 },
{ "VIDIOC_G_EXT_CTRLS", 0xc0205647 },
{ "VIDIOC_S_EXT_CTRLS", 0xc0205648 },
{ "VIDIOC_TRY_EXT_CTRLS", 0xc0205649 },
@@ -2550,7 +2644,6 @@
{ "DRM_IOCTL_MSM_GEM_SUBMIT", 0xc0286446 },
{ "DRM_IOCTL_I915_GEM_MMAP", 0xc028645e },
{ "DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST", 0xc0286461 },
-{ "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", 0xc0286472 },
{ "DRM_IOCTL_NOUVEAU_GEM_INFO", 0xc0286484 },
{ "I2OPARMSET", 0xc0286903 },
{ "I2OPARMGET", 0xc0286904 },
@@ -2566,11 +2659,13 @@
{ "SCIF_FENCE_SIGNAL", 0xc0287311 },
{ "MEDIA_IOC_ENUM_LINKS", 0xc0287c02 },
{ "UFFDIO_COPY", 0xc028aa03 },
+{ "KVM_TPR_ACCESS_REPORTING", 0xc028ae92 },
{ "FSL_HV_IOCTL_MEMCPY", 0xc028af05 },
{ "FSL_HV_IOCTL_GETPROP", 0xc028af07 },
{ "FSL_HV_IOCTL_SETPROP", 0xc028af08 },
{ "NCP_IOC_GETCHARSETS", 0xc02a6e0b },
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO", 0xc02c5341 },
+{ "VBG_IOCTL_DRIVER_VERSION_INFO", 0xc02c5600 },
{ "VIDIOC_QUERYMENU", 0xc02c5625 },
{ "VIDIOC_G_FREQUENCY", 0xc02c5638 },
{ "VIDIOC_CROPCAP", 0xc02c563a },
@@ -2670,7 +2765,6 @@
{ "SNDRV_CTL_IOCTL_ELEM_LIST", 0xc0505510 },
{ "VIDIOC_ENUMINPUT", 0xc050561a },
{ "CEC_DQEVENT", 0xc0506107 },
-{ "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", 0xc0506470 },
{ "DRM_IOCTL_MODE_GETCONNECTOR", 0xc05064a7 },
{ "VIDIOC_G_TUNER", 0xc054561d },
{ "SISFB_COMMAND", 0xc054f305 },
@@ -2690,7 +2784,6 @@
{ "PTP_PIN_GETFUNC", 0xc0603d06 },
{ "CCISS_BIG_PASSTHRU", 0xc0604212 },
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER", 0xc0605345 },
-{ "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", 0xc0606471 },
{ "UVCIOC_CTRL_MAP", 0xc0607520 },
{ "DK_CXLFLASH_DETACH", 0xc060ca83 },
{ "FBIO_CURSOR", 0xc0684608 },
@@ -2711,7 +2804,6 @@
{ "DK_CXLFLASH_VLUN_RESIZE", 0xc078ca88 },
{ "HT_CXLFLASH_AFU_DEBUG", 0xc078cabe },
{ "SOUND_MIXER_ACCESS", 0xc0804d66 },
-{ "ND_IOCTL_SMART", 0xc0844e01 },
{ "VIDIOC_SUBDEV_S_DV_TIMINGS", 0xc0845657 },
{ "VIDIOC_S_DV_TIMINGS", 0xc0845657 },
{ "VIDIOC_G_DV_TIMINGS", 0xc0845658 },
@@ -2732,6 +2824,7 @@
{ "VIDIOC_ENUM_DV_TIMINGS", 0xc0945662 },
{ "VIDIOC_SUBDEV_ENUM_DV_TIMINGS", 0xc0945662 },
{ "SNDRV_PCM_IOCTL_STATUS_EXT", 0xc0984124 },
+{ "VBG_IOCTL_HGCM_CONNECT", 0xc09c5604 },
{ "DRM_IOCTL_VC4_SUBMIT_CL", 0xc0a06440 },
{ "DRM_IOCTL_VC4_GET_HANG_STATE", 0xc0a06446 },
{ "HT_CXLFLASH_LUN_PROVISION", 0xc0a0cabf },
@@ -2783,6 +2876,7 @@
{ "DM_DEV_ARM_POLL", 0xc138fd10 },
{ "GPIO_GET_LINEHANDLE_IOCTL", 0xc16cb403 },
{ "SNDRV_EMU10K1_IOCTL_CODE_PEEK", 0xc1b04812 },
+{ "KVM_GET_IRQCHIP", 0xc208ae62 },
{ "SNDRV_PCM_IOCTL_HW_REFINE", 0xc2604110 },
{ "SNDRV_PCM_IOCTL_HW_PARAMS", 0xc2604111 },
{ "BTRFS_IOC_SCRUB", 0xc400941b },
diff --git a/ioctlent1.h b/ioctlent1.h
index 6926aa3c..a28605ea 100644
--- a/ioctlent1.h
+++ b/ioctlent1.h
@@ -169,7 +169,9 @@
{ "VFIO_IOMMU_SPAPR_TCE_GET_INFO", 0x00003b70 },
{ "VFIO_DEVICE_PCI_HOT_RESET", 0x00003b71 },
{ "VFIO_IOMMU_MAP_DMA", 0x00003b71 },
+{ "VFIO_DEVICE_QUERY_GFX_PLANE", 0x00003b72 },
{ "VFIO_IOMMU_UNMAP_DMA", 0x00003b72 },
+{ "VFIO_DEVICE_GET_GFX_DMABUF", 0x00003b73 },
{ "VFIO_IOMMU_ENABLE", 0x00003b73 },
{ "VFIO_IOMMU_DISABLE", 0x00003b74 },
{ "VFIO_IOMMU_SPAPR_REGISTER_MEMORY", 0x00003b75 },
@@ -1353,6 +1355,7 @@
{ "VHOST_GET_VRING_BUSYLOOP_TIMEOUT", 0x4008af24 },
{ "VHOST_NET_SET_BACKEND", 0x4008af30 },
{ "VHOST_VSOCK_SET_GUEST_CID", 0x4008af60 },
+{ "OCXL_IOCTL_IRQ_FREE", 0x4008ca12 },
{ "SNDRV_DM_FM_IOCTL_SET_PARAMS", 0x40094824 },
{ "FDFMTTRK", 0x400c0248 },
{ "RUN_ARRAY", 0x400c0930 },
@@ -1417,6 +1420,7 @@
{ "AUDIO_SET_KARAOKE", 0x400c6f12 },
{ "PPPIOCSCOMPRESS", 0x400c744d },
{ "MBXFB_IOCS_REG", 0x400cf404 },
+{ "LPSETTIMEOUT_NEW", 0x4010060f },
{ "BLKRESETZONE", 0x40101283 },
{ "FW_CDEV_IOC_START_ISO", 0x4010230a },
{ "FW_CDEV_IOC_SET_ISO_CHANNELS", 0x40102317 },
@@ -1476,6 +1480,7 @@
{ "KVM_GET_ONE_REG", 0x4010aeab },
{ "KVM_SET_ONE_REG", 0x4010aeac },
{ "ASPEED_LPC_CTRL_IOCTL_MAP", 0x4010b201 },
+{ "OCXL_IOCTL_IRQ_SET_FD", 0x4010ca13 },
{ "SNDRV_DM_FM_IOCTL_SET_VOICE", 0x40124823 },
{ "FDSETMAXERRS", 0x4014024c },
{ "ADD_NEW_DISK", 0x40140921 },
@@ -1497,6 +1502,7 @@
{ "HIDIOCSUSAGE", 0x4018480c },
{ "HIDIOCGCOLLECTIONINDEX", 0x40184810 },
{ "AMDKFD_IOC_UPDATE_QUEUE", 0x40184b07 },
+{ "AMDKFD_IOC_SET_TRAP_HANDLER", 0x40184b13 },
{ "DRM_IOCTL_MARK_BUFS", 0x40186417 },
{ "DRM_IOCTL_RM_MAP", 0x4018641b },
{ "DRM_IOCTL_UPDATE_DRAW", 0x4018643f },
@@ -1551,6 +1557,7 @@
{ "KVM_IRQFD", 0x4020ae76 },
{ "KVM_SIGNAL_MSI", 0x4020aea5 },
{ "KVM_ARM_VCPU_INIT", 0x4020aeae },
+{ "OCXL_IOCTL_ATTACH", 0x4020ca10 },
{ "SNDRV_COMPRESS_SET_METADATA", 0x40244314 },
{ "NVM_DEV_REMOVE", 0x40244c23 },
{ "NVM_DEV_FACTORY", 0x40244c25 },
@@ -1825,6 +1832,8 @@
{ "TUNGETVNETHDRSZ", 0x800454d7 },
{ "TUNGETVNETLE", 0x800454dd },
{ "TUNGETVNETBE", 0x800454df },
+{ "TUNSETSTEERINGEBPF", 0x800454e0 },
+{ "TUNSETFILTEREBPF", 0x800454e1 },
{ "SNDRV_CTL_IOCTL_PVERSION", 0x80045500 },
{ "USBDEVFS_RESETEP", 0x80045503 },
{ "USBDEVFS_SETCONFIGURATION", 0x80045505 },
@@ -2011,6 +2020,7 @@
{ "BTRFS_IOC_SUBVOL_GETFLAGS", 0x80089419 },
{ "TEE_IOC_CANCEL", 0x8008a404 },
{ "VHOST_GET_FEATURES", 0x8008af00 },
+{ "OCXL_IOCTL_IRQ_ALLOC", 0x8008ca11 },
{ "FUNCTIONFS_ENDPOINT_DESC", 0x80096782 },
{ "DMX_GET_PES_PIDS", 0x800a6f2f },
{ "RAID_VERSION", 0x800c0910 },
@@ -2061,6 +2071,8 @@
{ "GENWQE_READ_REG16", 0x8010a522 },
{ "UFFDIO_UNREGISTER", 0x8010aa01 },
{ "UFFDIO_WAKE", 0x8010aa02 },
+{ "KVM_MEMORY_ENCRYPT_REG_REGION", 0x8010aebb },
+{ "KVM_MEMORY_ENCRYPT_UNREG_REGION", 0x8010aebc },
{ "FDGETMAXERRS", 0x8014020e },
{ "GET_DISK_INFO", 0x80140912 },
{ "SNDRV_COMPRESS_TSTAMP", 0x80144320 },
@@ -2156,6 +2168,7 @@
{ "DRM_IOCTL_GET_STATS", 0x807c6406 },
{ "USBDEVFS_HUB_PORTINFO", 0x80805513 },
{ "VIDIOC_DQEVENT", 0x80805659 },
+{ "OCXL_IOCTL_GET_METADATA", 0x8080ca14 },
{ "VIDIOC_QUERY_DV_TIMINGS", 0x80845663 },
{ "VIDIOC_SUBDEV_QUERY_DV_TIMINGS", 0x80845663 },
{ "VIDIOC_G_JPEGCOMP", 0x808c563d },
@@ -2195,8 +2208,10 @@
{ "NVM_GET_DEVICES", 0x90004c21 },
{ "BTRFS_IOC_DEVICES_READY", 0x90009427 },
{ "HIDIOCGRDESC", 0x90044802 },
+{ "VBG_IOCTL_VMMDEV_REQUEST_BIG", 0xc0005603 },
{ "GADGET_SET_PRINTER_STATUS", 0xc0016722 },
{ "RIO_CM_CHAN_CREATE", 0xc0026303 },
+{ "PERF_EVENT_IOC_QUERY_BPF", 0xc004240a },
{ "AGPIOC_ALLOCATE", 0xc0044106 },
{ "CAPI_GET_MANUFACTURER", 0xc0044306 },
{ "CAPI_GET_SERIAL", 0xc0044308 },
@@ -2273,6 +2288,7 @@
{ "PPPIOCNEWUNIT", 0xc004743e },
{ "MEYEIOC_SYNC", 0xc00476c3 },
{ "AUTOFS_IOC_SETTIMEOUT", 0xc0049364 },
+{ "KVM_MEMORY_ENCRYPT_OP", 0xc004aeba },
{ "NET_ADD_IF", 0xc0066f34 },
{ "NET_GET_IF", 0xc0066f36 },
{ "CAPI_MANUFACTURER_CMD", 0xc0084320 },
@@ -2320,10 +2336,10 @@
{ "DRM_IOCTL_RADEON_GEM_BUSY", 0xc008646a },
{ "DRM_IOCTL_I915_GEM_CONTEXT_CREATE", 0xc008646d },
{ "DRM_IOCTL_I915_GEM_GET_CACHING", 0xc0086470 },
-{ "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", 0xc0086473 },
{ "DRM_IOCTL_SYNCOBJ_CREATE", 0xc00864bf },
{ "DRM_IOCTL_SYNCOBJ_DESTROY", 0xc00864c0 },
{ "NCP_IOC_GETPRIVATEDATA", 0xc0086e0a },
+{ "DMX_REQBUFS", 0xc0086f3c },
{ "PHN_GETREG", 0xc0087005 },
{ "SCIF_BIND", 0xc0087301 },
{ "SCIF_CONNECT", 0xc0087303 },
@@ -2340,7 +2356,6 @@
{ "SNDRV_EMU10K1_IOCTL_TRAM_PEEK", 0xc00c4822 },
{ "MEMWRITEOOB", 0xc00c4d03 },
{ "MEMREADOOB", 0xc00c4d04 },
-{ "ND_IOCTL_SMART_THRESHOLD", 0xc00c4e02 },
{ "ND_IOCTL_GET_CONFIG_SIZE", 0xc00c4e04 },
{ "ND_IOCTL_GET_CONFIG_DATA", 0xc00c4e05 },
{ "SNDCTL_SYNTH_REMOVESAMPLE", 0xc00c5116 },
@@ -2363,6 +2378,7 @@
{ "I2OHRTGET", 0xc00c6901 },
{ "I2OLCTGET", 0xc00c6902 },
{ "NCP_IOC_GETOBJECTNAME", 0xc00c6e09 },
+{ "DMX_EXPBUF", 0xc00c6f3e },
{ "UVCIOC_CTRL_QUERY", 0xc00c7521 },
{ "KVM_CREATE_DEVICE", 0xc00caee0 },
{ "FSL_HV_IOCTL_PARTITION_GET_STATUS", 0xc00caf02 },
@@ -2378,6 +2394,7 @@
{ "SNDRV_EMUX_IOCTL_MISC_MODE", 0xc0104884 },
{ "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", 0xc0104b11 },
{ "MEMGETREGIONINFO", 0xc0104d08 },
+{ "SEV_ISSUE_CMD", 0xc0105300 },
{ "SNDRV_SEQ_IOCTL_RUNNING_MODE", 0xc0105303 },
{ "USBDEVFS_CONTROL", 0xc0105500 },
{ "USBDEVFS_BULK", 0xc0105502 },
@@ -2494,6 +2511,7 @@
{ "AMDKFD_IOC_WAIT_EVENTS", 0xc0184b0c },
{ "MEMWRITEOOB64", 0xc0184d15 },
{ "MEMREADOOB64", 0xc0184d16 },
+{ "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", 0xc018560b },
{ "VIDIOC_G_EXT_CTRLS", 0xc0185647 },
{ "VIDIOC_S_EXT_CTRLS", 0xc0185648 },
{ "VIDIOC_TRY_EXT_CTRLS", 0xc0185649 },
@@ -2537,6 +2555,9 @@
{ "RIO_TRANSFER", 0xc0186d15 },
{ "NILFS_IOCTL_GET_VINFO", 0xc0186e86 },
{ "NILFS_IOCTL_GET_BDESCS", 0xc0186e87 },
+{ "DMX_QUERYBUF", 0xc0186f3d },
+{ "DMX_QBUF", 0xc0186f3f },
+{ "DMX_DQBUF", 0xc0186f40 },
{ "SCIF_SEND", 0xc0187306 },
{ "SCIF_RECV", 0xc0187307 },
{ "SCIF_GET_NODEIDS", 0xc018730e },
@@ -2558,10 +2579,13 @@
{ "AUTOFS_DEV_IOCTL_ISMOUNTPOINT", 0xc018937e },
{ "BTRFS_IOC_FILE_EXTENT_SAME", 0xc0189436 },
{ "FIDEDUPERANGE", 0xc0189436 },
+{ "TEE_IOC_SHM_REGISTER", 0xc018a409 },
{ "UFFDIO_API", 0xc018aa3f },
{ "KVM_TRANSLATE", 0xc018ae85 },
{ "IB_USER_MAD_REGISTER_AGENT", 0xc01c1b01 },
{ "HFI1_IOCTL_ASSIGN_CTXT", 0xc01c1be1 },
+{ "VBG_IOCTL_HGCM_DISCONNECT", 0xc01c5605 },
+{ "VBG_IOCTL_WRITE_CORE_DUMP", 0xc01c5613 },
{ "SI4713_IOC_MEASURE_RNL", 0xc01c56c0 },
{ "DRM_IOCTL_MGA_DMA_BOOTSTRAP", 0xc01c644c },
{ "DRM_IOCTL_MODE_CURSOR", 0xc01c64a3 },
@@ -2578,6 +2602,10 @@
{ "ND_IOCTL_ARS_CAP", 0xc0204e01 },
{ "ND_IOCTL_ARS_START", 0xc0204e02 },
{ "ND_IOCTL_CLEAR_ERROR", 0xc0204e04 },
+{ "VBG_IOCTL_WAIT_FOR_EVENTS", 0xc020560a },
+{ "VBG_IOCTL_CHANGE_FILTER_MASK", 0xc020560c },
+{ "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", 0xc020560e },
+{ "VBG_IOCTL_CHECK_BALLOON", 0xc0205611 },
{ "VIDIOC_OMAP3ISP_CCDC_CFG", 0xc02056c1 },
{ "VIDIOC_OMAP3ISP_AEWB_CFG", 0xc02056c3 },
{ "SNDRV_RAWMIDI_IOCTL_PARAMS", 0xc0205710 },
@@ -2623,7 +2651,6 @@
{ "DRM_IOCTL_MSM_GEM_SUBMIT", 0xc0286446 },
{ "DRM_IOCTL_I915_GEM_MMAP", 0xc028645e },
{ "DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST", 0xc0286461 },
-{ "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", 0xc0286472 },
{ "DRM_IOCTL_NOUVEAU_GEM_INFO", 0xc0286484 },
{ "RIO_MAP_OUTBOUND", 0xc0286d0f },
{ "RIO_MAP_INBOUND", 0xc0286d11 },
@@ -2642,6 +2669,7 @@
{ "FSL_HV_IOCTL_SETPROP", 0xc028af08 },
{ "NCP_IOC_GETCHARSETS", 0xc02a6e0b },
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO", 0xc02c5341 },
+{ "VBG_IOCTL_DRIVER_VERSION_INFO", 0xc02c5600 },
{ "VIDIOC_QUERYMENU", 0xc02c5625 },
{ "VIDIOC_G_FREQUENCY", 0xc02c5638 },
{ "VIDIOC_CROPCAP", 0xc02c563a },
@@ -2735,7 +2763,6 @@
{ "SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 0xc0505350 },
{ "VIDIOC_ENUMINPUT", 0xc050561a },
{ "CEC_DQEVENT", 0xc0506107 },
-{ "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", 0xc0506470 },
{ "DRM_IOCTL_MODE_GETCONNECTOR", 0xc05064a7 },
{ "CCISS_PASSTHRU", 0xc054420b },
{ "VIDIOC_G_TUNER", 0xc054561d },
@@ -2753,7 +2780,6 @@
{ "PTP_PIN_GETFUNC", 0xc0603d06 },
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER", 0xc0605345 },
{ "UI_BEGIN_FF_UPLOAD", 0xc06055c8 },
-{ "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", 0xc0606471 },
{ "DK_CXLFLASH_DETACH", 0xc060ca83 },
{ "SNDRV_PCM_IOCTL_SW_PARAMS", 0xc0684113 },
{ "DRM_IOCTL_MODE_GETCRTC", 0xc06864a1 },
@@ -2773,7 +2799,6 @@
{ "HT_CXLFLASH_AFU_DEBUG", 0xc078cabe },
{ "SOUND_MIXER_ACCESS", 0xc0804d66 },
{ "SNDRV_PCM_IOCTL_SYNC_PTR", 0xc0844123 },
-{ "ND_IOCTL_SMART", 0xc0844e01 },
{ "VIDIOC_SUBDEV_S_DV_TIMINGS", 0xc0845657 },
{ "VIDIOC_S_DV_TIMINGS", 0xc0845657 },
{ "VIDIOC_G_DV_TIMINGS", 0xc0845658 },
@@ -2791,6 +2816,7 @@
{ "DK_CXLFLASH_VERIFY", 0xc090ca84 },
{ "VIDIOC_ENUM_DV_TIMINGS", 0xc0945662 },
{ "VIDIOC_SUBDEV_ENUM_DV_TIMINGS", 0xc0945662 },
+{ "VBG_IOCTL_HGCM_CONNECT", 0xc09c5604 },
{ "DRM_IOCTL_VC4_SUBMIT_CL", 0xc0a06440 },
{ "DRM_IOCTL_VC4_GET_HANG_STATE", 0xc0a06446 },
{ "HT_CXLFLASH_LUN_PROVISION", 0xc0a0cabf },
diff --git a/ioctlent2.h b/ioctlent2.h
index 4fb7d074..47d06a93 100644
--- a/ioctlent2.h
+++ b/ioctlent2.h
@@ -169,7 +169,9 @@
{ "VFIO_IOMMU_SPAPR_TCE_GET_INFO", 0x00003b70 },
{ "VFIO_DEVICE_PCI_HOT_RESET", 0x00003b71 },
{ "VFIO_IOMMU_MAP_DMA", 0x00003b71 },
+{ "VFIO_DEVICE_QUERY_GFX_PLANE", 0x00003b72 },
{ "VFIO_IOMMU_UNMAP_DMA", 0x00003b72 },
+{ "VFIO_DEVICE_GET_GFX_DMABUF", 0x00003b73 },
{ "VFIO_IOMMU_ENABLE", 0x00003b73 },
{ "VFIO_IOMMU_DISABLE", 0x00003b74 },
{ "VFIO_IOMMU_SPAPR_REGISTER_MEMORY", 0x00003b75 },
@@ -1091,6 +1093,7 @@
{ "DRM_IOCTL_MSM_GEM_CPU_FINI", 0x40046445 },
{ "DRM_IOCTL_RADEON_FULLSCREEN", 0x40046446 },
{ "DRM_IOCTL_MGA_SET_FENCE", 0x4004644a },
+{ "DRM_IOCTL_MSM_SUBMITQUEUE_CLOSE", 0x4004644b },
{ "DRM_IOCTL_I915_DESTROY_HEAP", 0x4004644c },
{ "DRM_IOCTL_RADEON_STIPPLE", 0x4004644c },
{ "DRM_IOCTL_I915_SET_VBLANK_PIPE", 0x4004644d },
@@ -1352,6 +1355,7 @@
{ "VHOST_GET_VRING_BUSYLOOP_TIMEOUT", 0x4008af24 },
{ "VHOST_NET_SET_BACKEND", 0x4008af30 },
{ "VHOST_VSOCK_SET_GUEST_CID", 0x4008af60 },
+{ "OCXL_IOCTL_IRQ_FREE", 0x4008ca12 },
{ "SNDRV_DM_FM_IOCTL_SET_PARAMS", 0x40094824 },
{ "FDFMTTRK", 0x400c0248 },
{ "RUN_ARRAY", 0x400c0930 },
@@ -1416,6 +1420,7 @@
{ "AUDIO_SET_KARAOKE", 0x400c6f12 },
{ "PPPIOCSCOMPRESS", 0x400c744d },
{ "MBXFB_IOCS_REG", 0x400cf404 },
+{ "LPSETTIMEOUT_NEW", 0x4010060f },
{ "BLKRESETZONE", 0x40101283 },
{ "FW_CDEV_IOC_START_ISO", 0x4010230a },
{ "FW_CDEV_IOC_SET_ISO_CHANNELS", 0x40102317 },
@@ -1453,6 +1458,7 @@
{ "DRM_IOCTL_RADEON_CMDBUF", 0x40106450 },
{ "DRM_IOCTL_I915_HWS_ADDR", 0x40106451 },
{ "DRM_IOCTL_I915_GEM_INIT", 0x40106453 },
+{ "DRM_IOCTL_AMDGPU_SCHED", 0x40106455 },
{ "DRM_IOCTL_SIS_AGP_FREE", 0x40106455 },
{ "DRM_IOCTL_RADEON_SETPARAM", 0x40106459 },
{ "DRM_IOCTL_I915_PERF_OPEN", 0x40106476 },
@@ -1482,6 +1488,7 @@
{ "KVM_GET_ONE_REG", 0x4010aeab },
{ "KVM_SET_ONE_REG", 0x4010aeac },
{ "ASPEED_LPC_CTRL_IOCTL_MAP", 0x4010b201 },
+{ "OCXL_IOCTL_IRQ_SET_FD", 0x4010ca13 },
{ "SNDRV_DM_FM_IOCTL_SET_VOICE", 0x40124823 },
{ "FDSETMAXERRS", 0x4014024c },
{ "ADD_NEW_DISK", 0x40140921 },
@@ -1503,6 +1510,7 @@
{ "HIDIOCSUSAGE", 0x4018480c },
{ "HIDIOCGCOLLECTIONINDEX", 0x40184810 },
{ "AMDKFD_IOC_UPDATE_QUEUE", 0x40184b07 },
+{ "AMDKFD_IOC_SET_TRAP_HANDLER", 0x40184b13 },
{ "DRM_IOCTL_MARK_BUFS", 0x40186417 },
{ "DRM_IOCTL_RM_MAP", 0x4018641b },
{ "DRM_IOCTL_UPDATE_DRAW", 0x4018643f },
@@ -1510,7 +1518,6 @@
{ "DRM_IOCTL_QXL_UPDATE_AREA", 0x40186443 },
{ "DRM_IOCTL_ETNAVIV_GEM_CPU_PREP", 0x40186444 },
{ "DRM_IOCTL_MSM_GEM_CPU_PREP", 0x40186444 },
-{ "DRM_IOCTL_MSM_WAIT_FENCE", 0x40186447 },
{ "DRM_IOCTL_RADEON_CLEAR", 0x40186448 },
{ "DRM_IOCTL_I915_CMDBUFFER", 0x4018644b },
{ "DRM_IOCTL_R128_BLIT", 0x4018644b },
@@ -1544,6 +1551,7 @@
{ "DRM_IOCTL_VIRTGPU_EXECBUFFER", 0x40206442 },
{ "DRM_IOCTL_AMDGPU_INFO", 0x40206445 },
{ "DRM_IOCTL_ETNAVIV_WAIT_FENCE", 0x40206447 },
+{ "DRM_IOCTL_MSM_WAIT_FENCE", 0x40206447 },
{ "DRM_IOCTL_ETNAVIV_GEM_WAIT", 0x40206449 },
{ "DRM_IOCTL_I915_GEM_PREAD", 0x4020645c },
{ "DRM_IOCTL_I915_GEM_PWRITE", 0x4020645d },
@@ -1557,6 +1565,7 @@
{ "KVM_SET_USER_MEMORY_REGION", 0x4020ae46 },
{ "KVM_IRQFD", 0x4020ae76 },
{ "KVM_SIGNAL_MSI", 0x4020aea5 },
+{ "OCXL_IOCTL_ATTACH", 0x4020ca10 },
{ "SNDRV_COMPRESS_SET_METADATA", 0x40244314 },
{ "NVM_DEV_REMOVE", 0x40244c23 },
{ "NVM_DEV_FACTORY", 0x40244c25 },
@@ -1843,6 +1852,8 @@
{ "TUNGETVNETHDRSZ", 0x800454d7 },
{ "TUNGETVNETLE", 0x800454dd },
{ "TUNGETVNETBE", 0x800454df },
+{ "TUNSETSTEERINGEBPF", 0x800454e0 },
+{ "TUNSETFILTEREBPF", 0x800454e1 },
{ "SNDRV_CTL_IOCTL_PVERSION", 0x80045500 },
{ "USBDEVFS_RESETEP", 0x80045503 },
{ "USBDEVFS_SETCONFIGURATION", 0x80045505 },
@@ -2028,6 +2039,7 @@
{ "TEE_IOC_CANCEL", 0x8008a404 },
{ "KVM_X86_GET_MCE_CAP_SUPPORTED", 0x8008ae9d },
{ "VHOST_GET_FEATURES", 0x8008af00 },
+{ "OCXL_IOCTL_IRQ_ALLOC", 0x8008ca11 },
{ "FUNCTIONFS_ENDPOINT_DESC", 0x80096782 },
{ "DMX_GET_PES_PIDS", 0x800a6f2f },
{ "RAID_VERSION", 0x800c0910 },
@@ -2079,6 +2091,8 @@
{ "GENWQE_READ_REG16", 0x8010a522 },
{ "UFFDIO_UNREGISTER", 0x8010aa01 },
{ "UFFDIO_WAKE", 0x8010aa02 },
+{ "KVM_MEMORY_ENCRYPT_REG_REGION", 0x8010aebb },
+{ "KVM_MEMORY_ENCRYPT_UNREG_REGION", 0x8010aebc },
{ "FDGETMAXERRS", 0x8014020e },
{ "GET_DISK_INFO", 0x80140912 },
{ "SNDRV_COMPRESS_TSTAMP", 0x80144320 },
@@ -2177,6 +2191,7 @@
{ "SNDRV_PCM_IOCTL_STATUS", 0x80804120 },
{ "USBDEVFS_HUB_PORTINFO", 0x80805513 },
{ "KVM_GET_DEBUGREGS", 0x8080aea1 },
+{ "OCXL_IOCTL_GET_METADATA", 0x8080ca14 },
{ "VIDIOC_QUERY_DV_TIMINGS", 0x80845663 },
{ "VIDIOC_SUBDEV_QUERY_DV_TIMINGS", 0x80845663 },
{ "VIDIOC_DQEVENT", 0x80885659 },
@@ -2222,8 +2237,10 @@
{ "BTRFS_IOC_DEVICES_READY", 0x90009427 },
{ "KVM_GET_XSAVE", 0x9000aea4 },
{ "HIDIOCGRDESC", 0x90044802 },
+{ "VBG_IOCTL_VMMDEV_REQUEST_BIG", 0xc0005603 },
{ "GADGET_SET_PRINTER_STATUS", 0xc0016722 },
{ "RIO_CM_CHAN_CREATE", 0xc0026303 },
+{ "PERF_EVENT_IOC_QUERY_BPF", 0xc004240a },
{ "AGPIOC_ALLOCATE", 0xc0044106 },
{ "CAPI_GET_MANUFACTURER", 0xc0044306 },
{ "CAPI_GET_SERIAL", 0xc0044308 },
@@ -2280,6 +2297,7 @@
{ "DRM_IOCTL_MODE_RMFB", 0xc00464af },
{ "DRM_IOCTL_MODE_DESTROY_DUMB", 0xc00464b4 },
{ "DRM_IOCTL_MODE_DESTROYPROPBLOB", 0xc00464be },
+{ "DRM_IOCTL_MODE_REVOKE_LEASE", 0xc00464c9 },
{ "I8K_GET_SPEED", 0xc0046985 },
{ "I8K_GET_FAN", 0xc0046986 },
{ "I8K_SET_FAN", 0xc0046987 },
@@ -2300,6 +2318,7 @@
{ "MEYEIOC_SYNC", 0xc00476c3 },
{ "AUTOFS_IOC_SETTIMEOUT", 0xc0049364 },
{ "KVM_GET_MSR_INDEX_LIST", 0xc004ae02 },
+{ "KVM_GET_MSR_FEATURE_INDEX_LIST", 0xc004ae0a },
{ "NET_ADD_IF", 0xc0066f34 },
{ "NET_GET_IF", 0xc0066f36 },
{ "CAPI_MANUFACTURER_CMD", 0xc0084320 },
@@ -2347,10 +2366,10 @@
{ "DRM_IOCTL_RADEON_GEM_BUSY", 0xc008646a },
{ "DRM_IOCTL_I915_GEM_CONTEXT_CREATE", 0xc008646d },
{ "DRM_IOCTL_I915_GEM_GET_CACHING", 0xc0086470 },
-{ "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", 0xc0086473 },
{ "DRM_IOCTL_SYNCOBJ_CREATE", 0xc00864bf },
{ "DRM_IOCTL_SYNCOBJ_DESTROY", 0xc00864c0 },
{ "NCP_IOC_GETPRIVATEDATA", 0xc0086e0a },
+{ "DMX_REQBUFS", 0xc0086f3c },
{ "PHN_GETREG", 0xc0087005 },
{ "SCIF_BIND", 0xc0087301 },
{ "SCIF_CONNECT", 0xc0087303 },
@@ -2362,6 +2381,7 @@
{ "KVM_GET_MSRS", 0xc008ae88 },
{ "KVM_GET_CPUID2", 0xc008ae91 },
{ "KVM_GET_REG_LIST", 0xc008aeb0 },
+{ "KVM_MEMORY_ENCRYPT_OP", 0xc008aeba },
{ "FSL_HV_IOCTL_PARTITION_RESTART", 0xc008af01 },
{ "FSL_HV_IOCTL_PARTITION_STOP", 0xc008af04 },
{ "FSL_HV_IOCTL_DOORBELL", 0xc008af06 },
@@ -2371,7 +2391,6 @@
{ "SNDRV_EMU10K1_IOCTL_TRAM_PEEK", 0xc00c4822 },
{ "MEMWRITEOOB", 0xc00c4d03 },
{ "MEMREADOOB", 0xc00c4d04 },
-{ "ND_IOCTL_SMART_THRESHOLD", 0xc00c4e02 },
{ "ND_IOCTL_GET_CONFIG_SIZE", 0xc00c4e04 },
{ "ND_IOCTL_GET_CONFIG_DATA", 0xc00c4e05 },
{ "SNDCTL_SYNTH_REMOVESAMPLE", 0xc00c5116 },
@@ -2384,6 +2403,7 @@
{ "DRM_IOCTL_PRIME_HANDLE_TO_FD", 0xc00c642d },
{ "DRM_IOCTL_PRIME_FD_TO_HANDLE", 0xc00c642e },
{ "DRM_IOCTL_MSM_GEM_MADVISE", 0xc00c6448 },
+{ "DRM_IOCTL_MSM_SUBMITQUEUE_NEW", 0xc00c644a },
{ "DRM_IOCTL_VIA_CMDBUF_SIZE", 0xc00c644b },
{ "DRM_IOCTL_I915_VBLANK_SWAP", 0xc00c644f },
{ "DRM_IOCTL_RADEON_GEM_SET_DOMAIN", 0xc00c6463 },
@@ -2393,6 +2413,7 @@
{ "I2OHRTGET", 0xc00c6901 },
{ "I2OLCTGET", 0xc00c6902 },
{ "NCP_IOC_GETOBJECTNAME", 0xc00c6e09 },
+{ "DMX_EXPBUF", 0xc00c6f3e },
{ "UVCIOC_CTRL_QUERY", 0xc00c7521 },
{ "KVM_CREATE_DEVICE", 0xc00caee0 },
{ "FSL_HV_IOCTL_PARTITION_GET_STATUS", 0xc00caf02 },
@@ -2408,6 +2429,7 @@
{ "SNDRV_EMUX_IOCTL_MISC_MODE", 0xc0104884 },
{ "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", 0xc0104b11 },
{ "MEMGETREGIONINFO", 0xc0104d08 },
+{ "SEV_ISSUE_CMD", 0xc0105300 },
{ "SNDRV_SEQ_IOCTL_RUNNING_MODE", 0xc0105303 },
{ "USBDEVFS_CONTROL", 0xc0105500 },
{ "USBDEVFS_BULK", 0xc0105502 },
@@ -2460,6 +2482,7 @@
{ "DRM_IOCTL_TEGRA_GEM_SET_TILING", 0xc010644a },
{ "DRM_IOCTL_VC4_LABEL_BO", 0xc010644a },
{ "DRM_IOCTL_TEGRA_GEM_GET_TILING", 0xc010644b },
+{ "DRM_IOCTL_VC4_GEM_MADVISE", 0xc010644b },
{ "DRM_IOCTL_RADEON_INDIRECT", 0xc010644d },
{ "DRM_IOCTL_VIA_WAIT_IRQ", 0xc010644d },
{ "DRM_IOCTL_R128_INDIRECT", 0xc010644f },
@@ -2483,6 +2506,8 @@
{ "DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE", 0xc01064c2 },
{ "DRM_IOCTL_SYNCOBJ_RESET", 0xc01064c4 },
{ "DRM_IOCTL_SYNCOBJ_SIGNAL", 0xc01064c5 },
+{ "DRM_IOCTL_MODE_LIST_LESSEES", 0xc01064c7 },
+{ "DRM_IOCTL_MODE_GET_LEASE", 0xc01064c8 },
{ "MGSL_IOCWAITGPIO", 0xc0106d12 },
{ "DMX_GET_STC", 0xc0106f32 },
{ "SCIF_ACCEPTREQ", 0xc0107304 },
@@ -2523,6 +2548,7 @@
{ "MTRRIOC_GET_PAGE_ENTRY", 0xc0184d08 },
{ "MEMWRITEOOB64", 0xc0184d15 },
{ "MEMREADOOB64", 0xc0184d16 },
+{ "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", 0xc018560b },
{ "VIDIOC_G_EXT_CTRLS", 0xc0185647 },
{ "VIDIOC_S_EXT_CTRLS", 0xc0185648 },
{ "VIDIOC_TRY_EXT_CTRLS", 0xc0185649 },
@@ -2533,6 +2559,8 @@
{ "DRM_IOCTL_GET_CLIENT", 0xc0186405 },
{ "DRM_IOCTL_ADD_MAP", 0xc0186415 },
{ "DRM_IOCTL_ADD_BUFS", 0xc0186416 },
+{ "DRM_IOCTL_CRTC_GET_SEQUENCE", 0xc018643b },
+{ "DRM_IOCTL_CRTC_QUEUE_SEQUENCE", 0xc018643c },
{ "DRM_IOCTL_AMDGPU_BO_LIST", 0xc0186443 },
{ "DRM_IOCTL_AMDGPU_CS", 0xc0186444 },
{ "DRM_IOCTL_VC4_CREATE_SHADER_BO", 0xc0186445 },
@@ -2554,6 +2582,7 @@
{ "DRM_IOCTL_MODE_PAGE_FLIP", 0xc01864b0 },
{ "DRM_IOCTL_MODE_DIRTYFB", 0xc01864b1 },
{ "DRM_IOCTL_MODE_OBJ_SETPROPERTY", 0xc01864ba },
+{ "DRM_IOCTL_MODE_CREATE_LEASE", 0xc01864c6 },
{ "I2OPARMSET", 0xc0186903 },
{ "I2OPARMGET", 0xc0186904 },
{ "IPMICTL_RECEIVE_MSG_TRUNC", 0xc018690b },
@@ -2562,6 +2591,9 @@
{ "RIO_TRANSFER", 0xc0186d15 },
{ "NILFS_IOCTL_GET_VINFO", 0xc0186e86 },
{ "NILFS_IOCTL_GET_BDESCS", 0xc0186e87 },
+{ "DMX_QUERYBUF", 0xc0186f3d },
+{ "DMX_QBUF", 0xc0186f3f },
+{ "DMX_DQBUF", 0xc0186f40 },
{ "SCIF_SEND", 0xc0187306 },
{ "SCIF_RECV", 0xc0187307 },
{ "SCIF_GET_NODEIDS", 0xc018730e },
@@ -2583,10 +2615,13 @@
{ "AUTOFS_DEV_IOCTL_ISMOUNTPOINT", 0xc018937e },
{ "BTRFS_IOC_FILE_EXTENT_SAME", 0xc0189436 },
{ "FIDEDUPERANGE", 0xc0189436 },
+{ "TEE_IOC_SHM_REGISTER", 0xc018a409 },
{ "UFFDIO_API", 0xc018aa3f },
{ "KVM_TRANSLATE", 0xc018ae85 },
{ "IB_USER_MAD_REGISTER_AGENT", 0xc01c1b01 },
{ "HFI1_IOCTL_ASSIGN_CTXT", 0xc01c1be1 },
+{ "VBG_IOCTL_HGCM_DISCONNECT", 0xc01c5605 },
+{ "VBG_IOCTL_WRITE_CORE_DUMP", 0xc01c5613 },
{ "SI4713_IOC_MEASURE_RNL", 0xc01c56c0 },
{ "DRM_IOCTL_MGA_DMA_BOOTSTRAP", 0xc01c644c },
{ "DRM_IOCTL_MODE_CURSOR", 0xc01c64a3 },
@@ -2603,6 +2638,10 @@
{ "ND_IOCTL_ARS_CAP", 0xc0204e01 },
{ "ND_IOCTL_ARS_START", 0xc0204e02 },
{ "ND_IOCTL_CLEAR_ERROR", 0xc0204e04 },
+{ "VBG_IOCTL_WAIT_FOR_EVENTS", 0xc020560a },
+{ "VBG_IOCTL_CHANGE_FILTER_MASK", 0xc020560c },
+{ "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", 0xc020560e },
+{ "VBG_IOCTL_CHECK_BALLOON", 0xc0205611 },
{ "VIDIOC_OMAP3ISP_CCDC_CFG", 0xc02056c1 },
{ "VIDIOC_OMAP3ISP_AEWB_CFG", 0xc02056c3 },
{ "VIDIOC_OMAP3ISP_STAT_REQ", 0xc02056c6 },
@@ -2611,6 +2650,7 @@
{ "X86_IOC_WRMSR_REGS", 0xc02063a1 },
{ "DRM_IOCTL_AMDGPU_GEM_CREATE", 0xc0206440 },
{ "DRM_IOCTL_AMDGPU_WAIT_CS", 0xc0206449 },
+{ "DRM_IOCTL_AMDGPU_FENCE_TO_HANDLE", 0xc0206454 },
{ "DRM_IOCTL_RADEON_GEM_CREATE", 0xc020645d },
{ "DRM_IOCTL_RADEON_GEM_MMAP", 0xc020645e },
{ "DRM_IOCTL_RADEON_GEM_PREAD", 0xc0206461 },
@@ -2649,7 +2689,6 @@
{ "DRM_IOCTL_MSM_GEM_SUBMIT", 0xc0286446 },
{ "DRM_IOCTL_I915_GEM_MMAP", 0xc028645e },
{ "DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST", 0xc0286461 },
-{ "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", 0xc0286472 },
{ "DRM_IOCTL_NOUVEAU_GEM_INFO", 0xc0286484 },
{ "RIO_MAP_OUTBOUND", 0xc0286d0f },
{ "RIO_MAP_INBOUND", 0xc0286d11 },
@@ -2668,6 +2707,7 @@
{ "FSL_HV_IOCTL_SETPROP", 0xc028af08 },
{ "NCP_IOC_GETCHARSETS", 0xc02a6e0b },
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO", 0xc02c5341 },
+{ "VBG_IOCTL_DRIVER_VERSION_INFO", 0xc02c5600 },
{ "VIDIOC_QUERYMENU", 0xc02c5625 },
{ "VIDIOC_G_FREQUENCY", 0xc02c5638 },
{ "VIDIOC_CROPCAP", 0xc02c563a },
@@ -2690,6 +2730,7 @@
{ "VIDIOC_ENUMAUDIO", 0xc0345641 },
{ "VIDIOC_ENUMAUDOUT", 0xc0345642 },
{ "VIDIOC_ENUM_FRAMEINTERVALS", 0xc034564b },
+{ "DELL_WMI_SMBIOS_CMD", 0xc0345700 },
{ "MEDIA_IOC_SETUP_LINK", 0xc0347c03 },
{ "SYNC_IOC_FILE_INFO", 0xc0383e04 },
{ "HIDIOCGFIELDINFO", 0xc038480a },
@@ -2699,10 +2740,10 @@
{ "CEC_TRANSMIT", 0xc0386105 },
{ "CEC_RECEIVE", 0xc0386106 },
{ "DRM_IOCTL_VIRTGPU_RESOURCE_CREATE", 0xc0386444 },
-{ "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", 0xc0386446 },
{ "DRM_IOCTL_MODE_ATOMIC", 0xc03864bc },
{ "BTRFS_IOC_INO_PATHS", 0xc0389423 },
{ "BTRFS_IOC_LOGICAL_INO", 0xc0389424 },
+{ "BTRFS_IOC_LOGICAL_INO_V2", 0xc038943b },
{ "GENWQE_SLU_UPDATE", 0xc038a550 },
{ "GENWQE_SLU_READ", 0xc038a551 },
{ "VIDIOC_OMAP3ISP_PRV_CFG", 0xc03c56c2 },
@@ -2739,6 +2780,8 @@
{ "VIDIOC_ENUMOUTPUT", 0xc0485630 },
{ "VIDIOC_DECODER_CMD", 0xc0485660 },
{ "VIDIOC_TRY_DECODER_CMD", 0xc0485661 },
+{ "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", 0xc0486446 },
+{ "DRM_IOCTL_ETNAVIV_PM_QUERY_DOM", 0xc048644a },
{ "DRM_IOCTL_MODE_ATTACHMODE", 0xc04864a8 },
{ "DRM_IOCTL_MODE_DETACHMODE", 0xc04864a9 },
{ "VIDEO_COMMAND", 0xc0486f3b },
@@ -2750,6 +2793,7 @@
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT", 0xc04c5349 },
{ "VIDIOC_OMAP3ISP_AF_CFG", 0xc04c56c5 },
{ "CEC_ADAP_G_CAPS", 0xc04c6100 },
+{ "DRM_IOCTL_ETNAVIV_PM_QUERY_SIG", 0xc04c644b },
{ "NVME_NVM_IOCTL_ADMIN_VIO", 0xc0504c41 },
{ "NVME_NVM_IOCTL_IO_VIO", 0xc0504c43 },
{ "SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 0xc0505350 },
@@ -2759,7 +2803,6 @@
{ "VIDIOC_ENUMINPUT", 0xc050561a },
{ "VIDIOC_PREPARE_BUF", 0xc050565d },
{ "CEC_DQEVENT", 0xc0506107 },
-{ "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", 0xc0506470 },
{ "DRM_IOCTL_MODE_GETCONNECTOR", 0xc05064a7 },
{ "CCISS_PASSTHRU", 0xc054420b },
{ "VIDIOC_G_TUNER", 0xc054561d },
@@ -2777,7 +2820,6 @@
{ "PTP_PIN_GETFUNC", 0xc0603d06 },
{ "SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER", 0xc0605345 },
{ "UI_BEGIN_FF_UPLOAD", 0xc06055c8 },
-{ "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", 0xc0606471 },
{ "DK_CXLFLASH_DETACH", 0xc060ca83 },
{ "SNDRV_PCM_IOCTL_SW_PARAMS", 0xc0684113 },
{ "DRM_IOCTL_MODE_GETCRTC", 0xc06864a1 },
@@ -2796,7 +2838,6 @@
{ "HT_CXLFLASH_AFU_DEBUG", 0xc078cabe },
{ "SNDRV_PCM_IOCTL_STATUS_EXT", 0xc0804124 },
{ "SOUND_MIXER_ACCESS", 0xc0804d66 },
-{ "ND_IOCTL_SMART", 0xc0844e01 },
{ "VIDIOC_SUBDEV_S_DV_TIMINGS", 0xc0845657 },
{ "VIDIOC_S_DV_TIMINGS", 0xc0845657 },
{ "VIDIOC_G_DV_TIMINGS", 0xc0845658 },
@@ -2815,6 +2856,7 @@
{ "DK_CXLFLASH_VERIFY", 0xc090ca84 },
{ "VIDIOC_ENUM_DV_TIMINGS", 0xc0945662 },
{ "VIDIOC_SUBDEV_ENUM_DV_TIMINGS", 0xc0945662 },
+{ "VBG_IOCTL_HGCM_CONNECT", 0xc09c5604 },
{ "DRM_IOCTL_VC4_SUBMIT_CL", 0xc0a06440 },
{ "DRM_IOCTL_VC4_GET_HANG_STATE", 0xc0a06446 },
{ "HT_CXLFLASH_LUN_PROVISION", 0xc0a0cabf },
diff --git a/largefile_wrappers.h b/largefile_wrappers.h
index 6bb11a3f..b5e49ad5 100644
--- a/largefile_wrappers.h
+++ b/largefile_wrappers.h
@@ -35,9 +35,9 @@
#ifdef _LARGEFILE64_SOURCE
# ifdef HAVE_FOPEN64
-# define fopen_for_output fopen64
+# define fopen_stream fopen64
# else
-# define fopen_for_output fopen
+# define fopen_stream fopen
# endif
# define struct_stat struct stat64
# define stat_file stat64
@@ -46,7 +46,7 @@
# define struct_rlimit struct rlimit64
# define set_rlimit setrlimit64
#else
-# define fopen_for_output fopen
+# define fopen_stream fopen
# define struct_stat struct stat
# define stat_file stat
# define struct_dirent struct dirent
diff --git a/ldt.c b/ldt.c
index 682847ed..104abc31 100644
--- a/ldt.c
+++ b/ldt.c
@@ -155,7 +155,7 @@ SYS_FUNC(modify_ldt)
tcp->u_error = -(unsigned int) tcp->u_rval;
- return RVAL_PRINT_ERR_VAL;
+ return 0;
}
SYS_FUNC(set_thread_area)
diff --git a/linux/32/ioctls_inc_align16.h b/linux/32/ioctls_inc_align16.h
index 1994589c..77ea9c37 100644
--- a/linux/32/ioctls_inc_align16.h
+++ b/linux/32/ioctls_inc_align16.h
@@ -216,10 +216,6 @@
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_CREATE", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_GET", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_MAP", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", _IOC_READ|_IOC_WRITE, 0x6473, 0x08 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6470, 0x50 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", _IOC_READ|_IOC_WRITE, 0x6472, 0x28 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6471, 0x60 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_VIDI_CONNECTION", _IOC_READ|_IOC_WRITE, 0x6447, 0x10 },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_CLEAR", _IOC_WRITE, 0x6442, 0x0c },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_COPY", _IOC_WRITE, 0x6447, 0x0c },
@@ -806,9 +802,14 @@
{ "linux/dvb/ca.h", "CA_SEND_MSG", _IOC_WRITE, 0x6f85, 0x10c },
{ "linux/dvb/ca.h", "CA_SET_DESCR", _IOC_WRITE, 0x6f86, 0x10 },
{ "linux/dvb/dmx.h", "DMX_ADD_PID", _IOC_WRITE, 0x6f33, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_DQBUF", _IOC_READ|_IOC_WRITE, 0x6f40, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_EXPBUF", _IOC_READ|_IOC_WRITE, 0x6f3e, 0x0c },
{ "linux/dvb/dmx.h", "DMX_GET_PES_PIDS", _IOC_READ, 0x6f2f, 0x0a },
{ "linux/dvb/dmx.h", "DMX_GET_STC", _IOC_READ|_IOC_WRITE, 0x6f32, 0x10 },
+{ "linux/dvb/dmx.h", "DMX_QBUF", _IOC_READ|_IOC_WRITE, 0x6f3f, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_QUERYBUF", _IOC_READ|_IOC_WRITE, 0x6f3d, 0x18 },
{ "linux/dvb/dmx.h", "DMX_REMOVE_PID", _IOC_WRITE, 0x6f34, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_REQBUFS", _IOC_READ|_IOC_WRITE, 0x6f3c, 0x08 },
{ "linux/dvb/dmx.h", "DMX_SET_BUFFER_SIZE", _IOC_NONE, 0x6f2d, 0x00 },
{ "linux/dvb/dmx.h", "DMX_SET_FILTER", _IOC_WRITE, 0x6f2b, 0x3a },
{ "linux/dvb/dmx.h", "DMX_SET_PES_FILTER", _IOC_WRITE, 0x6f2c, 0x12 },
@@ -1142,6 +1143,7 @@
{ "linux/if_tun.h", "TUNGETVNETHDRSZ", _IOC_READ, 0x54d7, 0x04 },
{ "linux/if_tun.h", "TUNGETVNETLE", _IOC_READ, 0x54dd, 0x04 },
{ "linux/if_tun.h", "TUNSETDEBUG", _IOC_WRITE, 0x54c9, 0x04 },
+{ "linux/if_tun.h", "TUNSETFILTEREBPF", _IOC_READ, 0x54e1, 0x04 },
{ "linux/if_tun.h", "TUNSETGROUP", _IOC_WRITE, 0x54ce, 0x04 },
{ "linux/if_tun.h", "TUNSETIFF", _IOC_WRITE, 0x54ca, 0x04 },
{ "linux/if_tun.h", "TUNSETIFINDEX", _IOC_WRITE, 0x54da, 0x04 },
@@ -1152,6 +1154,7 @@
{ "linux/if_tun.h", "TUNSETPERSIST", _IOC_WRITE, 0x54cb, 0x04 },
{ "linux/if_tun.h", "TUNSETQUEUE", _IOC_WRITE, 0x54d9, 0x04 },
{ "linux/if_tun.h", "TUNSETSNDBUF", _IOC_WRITE, 0x54d4, 0x04 },
+{ "linux/if_tun.h", "TUNSETSTEERINGEBPF", _IOC_READ, 0x54e0, 0x04 },
{ "linux/if_tun.h", "TUNSETTXFILTER", _IOC_WRITE, 0x54d1, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETBE", _IOC_WRITE, 0x54de, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 },
@@ -1351,6 +1354,7 @@
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_EVENT", _IOC_WRITE, 0x4b0a, 0x08 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", _IOC_READ|_IOC_WRITE, 0x4b11, 0x10 },
+{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_TRAP_HANDLER", _IOC_WRITE, 0x4b13, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
@@ -1393,6 +1397,7 @@
{ "linux/loop.h", "LOOP_SET_FD", 0, 0x4C00, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS", 0, 0x4C02, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS64", 0, 0x4C04, 0 },
+{ "linux/lp.h", "LPSETTIMEOUT_NEW", _IOC_WRITE, 0x060f, 0x10 },
{ "linux/mISDNif.h", "IMADDTIMER", _IOC_READ, 0x4940, 0x04 },
{ "linux/mISDNif.h", "IMCLEAR_L2", _IOC_READ, 0x4946, 0x04 },
{ "linux/mISDNif.h", "IMCTRLREQ", _IOC_READ, 0x4945, 0x04 },
@@ -1481,8 +1486,6 @@
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e05, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_SIZE", _IOC_READ|_IOC_WRITE, 0x4e04, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_SET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e06, 0x08 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART", _IOC_READ|_IOC_WRITE, 0x4e01, 0x84 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART_THRESHOLD", _IOC_READ|_IOC_WRITE, 0x4e02, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_VENDOR", _IOC_READ|_IOC_WRITE, 0x4e09, 0x08 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CHANGE_CPMODE", _IOC_WRITE, 0x6e80, 0x10 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CLEAN_SEGMENTS", _IOC_WRITE, 0x6e88, 0x78 },
@@ -1551,6 +1554,7 @@
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PAUSE_OUTPUT", _IOC_WRITE, 0x2409, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PERIOD", _IOC_WRITE, 0x2404, 0x08 },
+{ "linux/perf_event.h", "PERF_EVENT_IOC_QUERY_BPF", _IOC_READ|_IOC_WRITE, 0x240a, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_REFRESH", _IOC_NONE, 0x2402, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_RESET", _IOC_NONE, 0x2403, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_SET_BPF", _IOC_WRITE, 0x2408, 0x04 },
@@ -1638,6 +1642,7 @@
{ "linux/pr.h", "IOC_PR_REGISTER", _IOC_WRITE, 0x70c8, 0x18 },
{ "linux/pr.h", "IOC_PR_RELEASE", _IOC_WRITE, 0x70ca, 0x10 },
{ "linux/pr.h", "IOC_PR_RESERVE", _IOC_WRITE, 0x70c9, 0x10 },
+{ "linux/psp-sev.h", "SEV_ISSUE_CMD", _IOC_READ|_IOC_WRITE, 0x5300, 0x10 },
{ "linux/ptp_clock.h", "PTP_CLOCK_GETCAPS", _IOC_READ, 0x3d01, 0x50 },
{ "linux/ptp_clock.h", "PTP_ENABLE_PPS", _IOC_WRITE, 0x3d04, 0x04 },
{ "linux/ptp_clock.h", "PTP_EXTTS_REQUEST", _IOC_WRITE, 0x3d02, 0x10 },
@@ -2013,6 +2018,7 @@
{ "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_SHM_REGISTER", _IOC_READ|_IOC_WRITE, 0xa409, 0x18 },
{ "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 },
@@ -2177,12 +2183,24 @@
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FMT", _IOC_READ|_IOC_WRITE, 0x5605, 0x58 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FRAME_INTERVAL", _IOC_READ|_IOC_WRITE, 0x5616, 0x30 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_SELECTION", _IOC_READ|_IOC_WRITE, 0x563e, 0x40 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_FILTER_MASK", _IOC_READ|_IOC_WRITE, 0x560c, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", _IOC_READ|_IOC_WRITE, 0x560e, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHECK_BALLOON", _IOC_READ|_IOC_WRITE, 0x5611, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_DRIVER_VERSION_INFO", _IOC_READ|_IOC_WRITE, 0x5600, 0x2c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_CONNECT", _IOC_READ|_IOC_WRITE, 0x5604, 0x9c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_DISCONNECT", _IOC_READ|_IOC_WRITE, 0x5605, 0x1c },
+{ "linux/vboxguest.h", "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560b, 0x18 },
+{ "linux/vboxguest.h", "VBG_IOCTL_VMMDEV_REQUEST_BIG", _IOC_READ|_IOC_WRITE, 0x5603, 0x00 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560a, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WRITE_CORE_DUMP", _IOC_READ|_IOC_WRITE, 0x5613, 0x1c },
{ "linux/vfio.h", "VFIO_CHECK_EXTENSION", _IOC_NONE, 0x3b65, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_GET_GFX_DMABUF", _IOC_NONE, 0x3b73, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_INFO", _IOC_NONE, 0x3b6b, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_IRQ_INFO", _IOC_NONE, 0x3b6d, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_PCI_HOT_RESET_INFO", _IOC_NONE, 0x3b70, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_REGION_INFO", _IOC_NONE, 0x3b6c, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_PCI_HOT_RESET", _IOC_NONE, 0x3b71, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_QUERY_GFX_PLANE", _IOC_NONE, 0x3b72, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_RESET", _IOC_NONE, 0x3b6f, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_SET_IRQS", _IOC_NONE, 0x3b6e, 0x00 },
{ "linux/vfio.h", "VFIO_EEH_PE_OP", _IOC_NONE, 0x3b79, 0x00 },
@@ -2432,6 +2450,11 @@
{ "misc/cxl.h", "CXL_IOCTL_GET_PROCESS_ELEMENT", _IOC_READ, 0xca01, 0x04 },
{ "misc/cxl.h", "CXL_IOCTL_START_WORK", _IOC_WRITE, 0xca00, 0x40 },
{ "misc/cxl.h", "CXL_IOCTL_VALIDATE_IMAGE", _IOC_WRITE, 0xca0b, 0x40 },
+{ "misc/ocxl.h", "OCXL_IOCTL_ATTACH", _IOC_WRITE, 0xca10, 0x20 },
+{ "misc/ocxl.h", "OCXL_IOCTL_GET_METADATA", _IOC_READ, 0xca14, 0x80 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_ALLOC", _IOC_READ, 0xca11, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_FREE", _IOC_WRITE, 0xca12, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_SET_FD", _IOC_WRITE, 0xca13, 0x10 },
{ "mtd/mtd-abi.h", "ECCGETLAYOUT", _IOC_READ, 0x4d11, 0x148 },
{ "mtd/mtd-abi.h", "ECCGETSTATS", _IOC_READ, 0x4d12, 0x10 },
{ "mtd/mtd-abi.h", "MEMERASE", _IOC_WRITE, 0x4d02, 0x08 },
diff --git a/linux/32/ioctls_inc_align32.h b/linux/32/ioctls_inc_align32.h
index e8ee3f07..d2a33930 100644
--- a/linux/32/ioctls_inc_align32.h
+++ b/linux/32/ioctls_inc_align32.h
@@ -216,10 +216,6 @@
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_CREATE", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_GET", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_MAP", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", _IOC_READ|_IOC_WRITE, 0x6473, 0x08 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6470, 0x50 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", _IOC_READ|_IOC_WRITE, 0x6472, 0x28 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6471, 0x60 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_VIDI_CONNECTION", _IOC_READ|_IOC_WRITE, 0x6447, 0x10 },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_CLEAR", _IOC_WRITE, 0x6442, 0x0c },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_COPY", _IOC_WRITE, 0x6447, 0x0c },
@@ -806,9 +802,14 @@
{ "linux/dvb/ca.h", "CA_SEND_MSG", _IOC_WRITE, 0x6f85, 0x10c },
{ "linux/dvb/ca.h", "CA_SET_DESCR", _IOC_WRITE, 0x6f86, 0x10 },
{ "linux/dvb/dmx.h", "DMX_ADD_PID", _IOC_WRITE, 0x6f33, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_DQBUF", _IOC_READ|_IOC_WRITE, 0x6f40, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_EXPBUF", _IOC_READ|_IOC_WRITE, 0x6f3e, 0x0c },
{ "linux/dvb/dmx.h", "DMX_GET_PES_PIDS", _IOC_READ, 0x6f2f, 0x0a },
{ "linux/dvb/dmx.h", "DMX_GET_STC", _IOC_READ|_IOC_WRITE, 0x6f32, 0x10 },
+{ "linux/dvb/dmx.h", "DMX_QBUF", _IOC_READ|_IOC_WRITE, 0x6f3f, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_QUERYBUF", _IOC_READ|_IOC_WRITE, 0x6f3d, 0x18 },
{ "linux/dvb/dmx.h", "DMX_REMOVE_PID", _IOC_WRITE, 0x6f34, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_REQBUFS", _IOC_READ|_IOC_WRITE, 0x6f3c, 0x08 },
{ "linux/dvb/dmx.h", "DMX_SET_BUFFER_SIZE", _IOC_NONE, 0x6f2d, 0x00 },
{ "linux/dvb/dmx.h", "DMX_SET_FILTER", _IOC_WRITE, 0x6f2b, 0x3c },
{ "linux/dvb/dmx.h", "DMX_SET_PES_FILTER", _IOC_WRITE, 0x6f2c, 0x14 },
@@ -1142,6 +1143,7 @@
{ "linux/if_tun.h", "TUNGETVNETHDRSZ", _IOC_READ, 0x54d7, 0x04 },
{ "linux/if_tun.h", "TUNGETVNETLE", _IOC_READ, 0x54dd, 0x04 },
{ "linux/if_tun.h", "TUNSETDEBUG", _IOC_WRITE, 0x54c9, 0x04 },
+{ "linux/if_tun.h", "TUNSETFILTEREBPF", _IOC_READ, 0x54e1, 0x04 },
{ "linux/if_tun.h", "TUNSETGROUP", _IOC_WRITE, 0x54ce, 0x04 },
{ "linux/if_tun.h", "TUNSETIFF", _IOC_WRITE, 0x54ca, 0x04 },
{ "linux/if_tun.h", "TUNSETIFINDEX", _IOC_WRITE, 0x54da, 0x04 },
@@ -1152,6 +1154,7 @@
{ "linux/if_tun.h", "TUNSETPERSIST", _IOC_WRITE, 0x54cb, 0x04 },
{ "linux/if_tun.h", "TUNSETQUEUE", _IOC_WRITE, 0x54d9, 0x04 },
{ "linux/if_tun.h", "TUNSETSNDBUF", _IOC_WRITE, 0x54d4, 0x04 },
+{ "linux/if_tun.h", "TUNSETSTEERINGEBPF", _IOC_READ, 0x54e0, 0x04 },
{ "linux/if_tun.h", "TUNSETTXFILTER", _IOC_WRITE, 0x54d1, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETBE", _IOC_WRITE, 0x54de, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 },
@@ -1351,6 +1354,7 @@
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_EVENT", _IOC_WRITE, 0x4b0a, 0x08 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", _IOC_READ|_IOC_WRITE, 0x4b11, 0x10 },
+{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_TRAP_HANDLER", _IOC_WRITE, 0x4b13, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
@@ -1393,6 +1397,7 @@
{ "linux/loop.h", "LOOP_SET_FD", 0, 0x4C00, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS", 0, 0x4C02, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS64", 0, 0x4C04, 0 },
+{ "linux/lp.h", "LPSETTIMEOUT_NEW", _IOC_WRITE, 0x060f, 0x10 },
{ "linux/mISDNif.h", "IMADDTIMER", _IOC_READ, 0x4940, 0x04 },
{ "linux/mISDNif.h", "IMCLEAR_L2", _IOC_READ, 0x4946, 0x04 },
{ "linux/mISDNif.h", "IMCTRLREQ", _IOC_READ, 0x4945, 0x04 },
@@ -1481,8 +1486,6 @@
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e05, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_SIZE", _IOC_READ|_IOC_WRITE, 0x4e04, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_SET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e06, 0x08 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART", _IOC_READ|_IOC_WRITE, 0x4e01, 0x84 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART_THRESHOLD", _IOC_READ|_IOC_WRITE, 0x4e02, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_VENDOR", _IOC_READ|_IOC_WRITE, 0x4e09, 0x08 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CHANGE_CPMODE", _IOC_WRITE, 0x6e80, 0x10 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CLEAN_SEGMENTS", _IOC_WRITE, 0x6e88, 0x78 },
@@ -1551,6 +1554,7 @@
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PAUSE_OUTPUT", _IOC_WRITE, 0x2409, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PERIOD", _IOC_WRITE, 0x2404, 0x08 },
+{ "linux/perf_event.h", "PERF_EVENT_IOC_QUERY_BPF", _IOC_READ|_IOC_WRITE, 0x240a, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_REFRESH", _IOC_NONE, 0x2402, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_RESET", _IOC_NONE, 0x2403, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_SET_BPF", _IOC_WRITE, 0x2408, 0x04 },
@@ -1638,6 +1642,7 @@
{ "linux/pr.h", "IOC_PR_REGISTER", _IOC_WRITE, 0x70c8, 0x18 },
{ "linux/pr.h", "IOC_PR_RELEASE", _IOC_WRITE, 0x70ca, 0x10 },
{ "linux/pr.h", "IOC_PR_RESERVE", _IOC_WRITE, 0x70c9, 0x10 },
+{ "linux/psp-sev.h", "SEV_ISSUE_CMD", _IOC_READ|_IOC_WRITE, 0x5300, 0x10 },
{ "linux/ptp_clock.h", "PTP_CLOCK_GETCAPS", _IOC_READ, 0x3d01, 0x50 },
{ "linux/ptp_clock.h", "PTP_ENABLE_PPS", _IOC_WRITE, 0x3d04, 0x04 },
{ "linux/ptp_clock.h", "PTP_EXTTS_REQUEST", _IOC_WRITE, 0x3d02, 0x10 },
@@ -2013,6 +2018,7 @@
{ "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_SHM_REGISTER", _IOC_READ|_IOC_WRITE, 0xa409, 0x18 },
{ "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 },
@@ -2177,12 +2183,24 @@
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FMT", _IOC_READ|_IOC_WRITE, 0x5605, 0x58 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FRAME_INTERVAL", _IOC_READ|_IOC_WRITE, 0x5616, 0x30 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_SELECTION", _IOC_READ|_IOC_WRITE, 0x563e, 0x40 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_FILTER_MASK", _IOC_READ|_IOC_WRITE, 0x560c, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", _IOC_READ|_IOC_WRITE, 0x560e, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHECK_BALLOON", _IOC_READ|_IOC_WRITE, 0x5611, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_DRIVER_VERSION_INFO", _IOC_READ|_IOC_WRITE, 0x5600, 0x2c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_CONNECT", _IOC_READ|_IOC_WRITE, 0x5604, 0x9c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_DISCONNECT", _IOC_READ|_IOC_WRITE, 0x5605, 0x1c },
+{ "linux/vboxguest.h", "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560b, 0x18 },
+{ "linux/vboxguest.h", "VBG_IOCTL_VMMDEV_REQUEST_BIG", _IOC_READ|_IOC_WRITE, 0x5603, 0x00 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560a, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WRITE_CORE_DUMP", _IOC_READ|_IOC_WRITE, 0x5613, 0x1c },
{ "linux/vfio.h", "VFIO_CHECK_EXTENSION", _IOC_NONE, 0x3b65, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_GET_GFX_DMABUF", _IOC_NONE, 0x3b73, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_INFO", _IOC_NONE, 0x3b6b, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_IRQ_INFO", _IOC_NONE, 0x3b6d, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_PCI_HOT_RESET_INFO", _IOC_NONE, 0x3b70, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_REGION_INFO", _IOC_NONE, 0x3b6c, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_PCI_HOT_RESET", _IOC_NONE, 0x3b71, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_QUERY_GFX_PLANE", _IOC_NONE, 0x3b72, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_RESET", _IOC_NONE, 0x3b6f, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_SET_IRQS", _IOC_NONE, 0x3b6e, 0x00 },
{ "linux/vfio.h", "VFIO_EEH_PE_OP", _IOC_NONE, 0x3b79, 0x00 },
@@ -2432,6 +2450,11 @@
{ "misc/cxl.h", "CXL_IOCTL_GET_PROCESS_ELEMENT", _IOC_READ, 0xca01, 0x04 },
{ "misc/cxl.h", "CXL_IOCTL_START_WORK", _IOC_WRITE, 0xca00, 0x40 },
{ "misc/cxl.h", "CXL_IOCTL_VALIDATE_IMAGE", _IOC_WRITE, 0xca0b, 0x40 },
+{ "misc/ocxl.h", "OCXL_IOCTL_ATTACH", _IOC_WRITE, 0xca10, 0x20 },
+{ "misc/ocxl.h", "OCXL_IOCTL_GET_METADATA", _IOC_READ, 0xca14, 0x80 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_ALLOC", _IOC_READ, 0xca11, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_FREE", _IOC_WRITE, 0xca12, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_SET_FD", _IOC_WRITE, 0xca13, 0x10 },
{ "mtd/mtd-abi.h", "ECCGETLAYOUT", _IOC_READ, 0x4d11, 0x148 },
{ "mtd/mtd-abi.h", "ECCGETSTATS", _IOC_READ, 0x4d12, 0x10 },
{ "mtd/mtd-abi.h", "MEMERASE", _IOC_WRITE, 0x4d02, 0x08 },
diff --git a/linux/32/ioctls_inc_align64.h b/linux/32/ioctls_inc_align64.h
index fd8f575f..41c06d9c 100644
--- a/linux/32/ioctls_inc_align64.h
+++ b/linux/32/ioctls_inc_align64.h
@@ -216,10 +216,6 @@
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_CREATE", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_GET", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_MAP", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", _IOC_READ|_IOC_WRITE, 0x6473, 0x08 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6470, 0x50 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", _IOC_READ|_IOC_WRITE, 0x6472, 0x28 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6471, 0x60 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_VIDI_CONNECTION", _IOC_READ|_IOC_WRITE, 0x6447, 0x10 },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_CLEAR", _IOC_WRITE, 0x6442, 0x0c },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_COPY", _IOC_WRITE, 0x6447, 0x0c },
@@ -806,9 +802,14 @@
{ "linux/dvb/ca.h", "CA_SEND_MSG", _IOC_WRITE, 0x6f85, 0x10c },
{ "linux/dvb/ca.h", "CA_SET_DESCR", _IOC_WRITE, 0x6f86, 0x10 },
{ "linux/dvb/dmx.h", "DMX_ADD_PID", _IOC_WRITE, 0x6f33, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_DQBUF", _IOC_READ|_IOC_WRITE, 0x6f40, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_EXPBUF", _IOC_READ|_IOC_WRITE, 0x6f3e, 0x0c },
{ "linux/dvb/dmx.h", "DMX_GET_PES_PIDS", _IOC_READ, 0x6f2f, 0x0a },
{ "linux/dvb/dmx.h", "DMX_GET_STC", _IOC_READ|_IOC_WRITE, 0x6f32, 0x10 },
+{ "linux/dvb/dmx.h", "DMX_QBUF", _IOC_READ|_IOC_WRITE, 0x6f3f, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_QUERYBUF", _IOC_READ|_IOC_WRITE, 0x6f3d, 0x18 },
{ "linux/dvb/dmx.h", "DMX_REMOVE_PID", _IOC_WRITE, 0x6f34, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_REQBUFS", _IOC_READ|_IOC_WRITE, 0x6f3c, 0x08 },
{ "linux/dvb/dmx.h", "DMX_SET_BUFFER_SIZE", _IOC_NONE, 0x6f2d, 0x00 },
{ "linux/dvb/dmx.h", "DMX_SET_FILTER", _IOC_WRITE, 0x6f2b, 0x3c },
{ "linux/dvb/dmx.h", "DMX_SET_PES_FILTER", _IOC_WRITE, 0x6f2c, 0x14 },
@@ -1142,6 +1143,7 @@
{ "linux/if_tun.h", "TUNGETVNETHDRSZ", _IOC_READ, 0x54d7, 0x04 },
{ "linux/if_tun.h", "TUNGETVNETLE", _IOC_READ, 0x54dd, 0x04 },
{ "linux/if_tun.h", "TUNSETDEBUG", _IOC_WRITE, 0x54c9, 0x04 },
+{ "linux/if_tun.h", "TUNSETFILTEREBPF", _IOC_READ, 0x54e1, 0x04 },
{ "linux/if_tun.h", "TUNSETGROUP", _IOC_WRITE, 0x54ce, 0x04 },
{ "linux/if_tun.h", "TUNSETIFF", _IOC_WRITE, 0x54ca, 0x04 },
{ "linux/if_tun.h", "TUNSETIFINDEX", _IOC_WRITE, 0x54da, 0x04 },
@@ -1152,6 +1154,7 @@
{ "linux/if_tun.h", "TUNSETPERSIST", _IOC_WRITE, 0x54cb, 0x04 },
{ "linux/if_tun.h", "TUNSETQUEUE", _IOC_WRITE, 0x54d9, 0x04 },
{ "linux/if_tun.h", "TUNSETSNDBUF", _IOC_WRITE, 0x54d4, 0x04 },
+{ "linux/if_tun.h", "TUNSETSTEERINGEBPF", _IOC_READ, 0x54e0, 0x04 },
{ "linux/if_tun.h", "TUNSETTXFILTER", _IOC_WRITE, 0x54d1, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETBE", _IOC_WRITE, 0x54de, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 },
@@ -1351,6 +1354,7 @@
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_EVENT", _IOC_WRITE, 0x4b0a, 0x08 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", _IOC_READ|_IOC_WRITE, 0x4b11, 0x10 },
+{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_TRAP_HANDLER", _IOC_WRITE, 0x4b13, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
@@ -1393,6 +1397,7 @@
{ "linux/loop.h", "LOOP_SET_FD", 0, 0x4C00, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS", 0, 0x4C02, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS64", 0, 0x4C04, 0 },
+{ "linux/lp.h", "LPSETTIMEOUT_NEW", _IOC_WRITE, 0x060f, 0x10 },
{ "linux/mISDNif.h", "IMADDTIMER", _IOC_READ, 0x4940, 0x04 },
{ "linux/mISDNif.h", "IMCLEAR_L2", _IOC_READ, 0x4946, 0x04 },
{ "linux/mISDNif.h", "IMCTRLREQ", _IOC_READ, 0x4945, 0x04 },
@@ -1481,8 +1486,6 @@
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e05, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_SIZE", _IOC_READ|_IOC_WRITE, 0x4e04, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_SET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e06, 0x08 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART", _IOC_READ|_IOC_WRITE, 0x4e01, 0x84 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART_THRESHOLD", _IOC_READ|_IOC_WRITE, 0x4e02, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_VENDOR", _IOC_READ|_IOC_WRITE, 0x4e09, 0x08 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CHANGE_CPMODE", _IOC_WRITE, 0x6e80, 0x10 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CLEAN_SEGMENTS", _IOC_WRITE, 0x6e88, 0x78 },
@@ -1551,6 +1554,7 @@
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PAUSE_OUTPUT", _IOC_WRITE, 0x2409, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PERIOD", _IOC_WRITE, 0x2404, 0x08 },
+{ "linux/perf_event.h", "PERF_EVENT_IOC_QUERY_BPF", _IOC_READ|_IOC_WRITE, 0x240a, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_REFRESH", _IOC_NONE, 0x2402, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_RESET", _IOC_NONE, 0x2403, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_SET_BPF", _IOC_WRITE, 0x2408, 0x04 },
@@ -1638,6 +1642,7 @@
{ "linux/pr.h", "IOC_PR_REGISTER", _IOC_WRITE, 0x70c8, 0x18 },
{ "linux/pr.h", "IOC_PR_RELEASE", _IOC_WRITE, 0x70ca, 0x10 },
{ "linux/pr.h", "IOC_PR_RESERVE", _IOC_WRITE, 0x70c9, 0x10 },
+{ "linux/psp-sev.h", "SEV_ISSUE_CMD", _IOC_READ|_IOC_WRITE, 0x5300, 0x10 },
{ "linux/ptp_clock.h", "PTP_CLOCK_GETCAPS", _IOC_READ, 0x3d01, 0x50 },
{ "linux/ptp_clock.h", "PTP_ENABLE_PPS", _IOC_WRITE, 0x3d04, 0x04 },
{ "linux/ptp_clock.h", "PTP_EXTTS_REQUEST", _IOC_WRITE, 0x3d02, 0x10 },
@@ -2013,6 +2018,7 @@
{ "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_SHM_REGISTER", _IOC_READ|_IOC_WRITE, 0xa409, 0x18 },
{ "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 },
@@ -2177,12 +2183,24 @@
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FMT", _IOC_READ|_IOC_WRITE, 0x5605, 0x58 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FRAME_INTERVAL", _IOC_READ|_IOC_WRITE, 0x5616, 0x30 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_SELECTION", _IOC_READ|_IOC_WRITE, 0x563e, 0x40 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_FILTER_MASK", _IOC_READ|_IOC_WRITE, 0x560c, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", _IOC_READ|_IOC_WRITE, 0x560e, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHECK_BALLOON", _IOC_READ|_IOC_WRITE, 0x5611, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_DRIVER_VERSION_INFO", _IOC_READ|_IOC_WRITE, 0x5600, 0x2c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_CONNECT", _IOC_READ|_IOC_WRITE, 0x5604, 0x9c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_DISCONNECT", _IOC_READ|_IOC_WRITE, 0x5605, 0x1c },
+{ "linux/vboxguest.h", "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560b, 0x18 },
+{ "linux/vboxguest.h", "VBG_IOCTL_VMMDEV_REQUEST_BIG", _IOC_READ|_IOC_WRITE, 0x5603, 0x00 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560a, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WRITE_CORE_DUMP", _IOC_READ|_IOC_WRITE, 0x5613, 0x1c },
{ "linux/vfio.h", "VFIO_CHECK_EXTENSION", _IOC_NONE, 0x3b65, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_GET_GFX_DMABUF", _IOC_NONE, 0x3b73, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_INFO", _IOC_NONE, 0x3b6b, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_IRQ_INFO", _IOC_NONE, 0x3b6d, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_PCI_HOT_RESET_INFO", _IOC_NONE, 0x3b70, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_REGION_INFO", _IOC_NONE, 0x3b6c, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_PCI_HOT_RESET", _IOC_NONE, 0x3b71, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_QUERY_GFX_PLANE", _IOC_NONE, 0x3b72, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_RESET", _IOC_NONE, 0x3b6f, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_SET_IRQS", _IOC_NONE, 0x3b6e, 0x00 },
{ "linux/vfio.h", "VFIO_EEH_PE_OP", _IOC_NONE, 0x3b79, 0x00 },
@@ -2432,6 +2450,11 @@
{ "misc/cxl.h", "CXL_IOCTL_GET_PROCESS_ELEMENT", _IOC_READ, 0xca01, 0x04 },
{ "misc/cxl.h", "CXL_IOCTL_START_WORK", _IOC_WRITE, 0xca00, 0x40 },
{ "misc/cxl.h", "CXL_IOCTL_VALIDATE_IMAGE", _IOC_WRITE, 0xca0b, 0x40 },
+{ "misc/ocxl.h", "OCXL_IOCTL_ATTACH", _IOC_WRITE, 0xca10, 0x20 },
+{ "misc/ocxl.h", "OCXL_IOCTL_GET_METADATA", _IOC_READ, 0xca14, 0x80 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_ALLOC", _IOC_READ, 0xca11, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_FREE", _IOC_WRITE, 0xca12, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_SET_FD", _IOC_WRITE, 0xca13, 0x10 },
{ "mtd/mtd-abi.h", "ECCGETLAYOUT", _IOC_READ, 0x4d11, 0x148 },
{ "mtd/mtd-abi.h", "ECCGETSTATS", _IOC_READ, 0x4d12, 0x10 },
{ "mtd/mtd-abi.h", "MEMERASE", _IOC_WRITE, 0x4d02, 0x08 },
diff --git a/linux/64/ioctls_inc.h b/linux/64/ioctls_inc.h
index 0bc1c76f..b31b3216 100644
--- a/linux/64/ioctls_inc.h
+++ b/linux/64/ioctls_inc.h
@@ -216,10 +216,6 @@
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_CREATE", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_GET", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_MAP", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", _IOC_READ|_IOC_WRITE, 0x6473, 0x08 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6470, 0x50 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", _IOC_READ|_IOC_WRITE, 0x6472, 0x28 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6471, 0x60 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_VIDI_CONNECTION", _IOC_READ|_IOC_WRITE, 0x6447, 0x10 },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_CLEAR", _IOC_WRITE, 0x6442, 0x0c },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_COPY", _IOC_WRITE, 0x6447, 0x10 },
@@ -806,9 +802,14 @@
{ "linux/dvb/ca.h", "CA_SEND_MSG", _IOC_WRITE, 0x6f85, 0x10c },
{ "linux/dvb/ca.h", "CA_SET_DESCR", _IOC_WRITE, 0x6f86, 0x10 },
{ "linux/dvb/dmx.h", "DMX_ADD_PID", _IOC_WRITE, 0x6f33, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_DQBUF", _IOC_READ|_IOC_WRITE, 0x6f40, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_EXPBUF", _IOC_READ|_IOC_WRITE, 0x6f3e, 0x0c },
{ "linux/dvb/dmx.h", "DMX_GET_PES_PIDS", _IOC_READ, 0x6f2f, 0x0a },
{ "linux/dvb/dmx.h", "DMX_GET_STC", _IOC_READ|_IOC_WRITE, 0x6f32, 0x10 },
+{ "linux/dvb/dmx.h", "DMX_QBUF", _IOC_READ|_IOC_WRITE, 0x6f3f, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_QUERYBUF", _IOC_READ|_IOC_WRITE, 0x6f3d, 0x18 },
{ "linux/dvb/dmx.h", "DMX_REMOVE_PID", _IOC_WRITE, 0x6f34, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_REQBUFS", _IOC_READ|_IOC_WRITE, 0x6f3c, 0x08 },
{ "linux/dvb/dmx.h", "DMX_SET_BUFFER_SIZE", _IOC_NONE, 0x6f2d, 0x00 },
{ "linux/dvb/dmx.h", "DMX_SET_FILTER", _IOC_WRITE, 0x6f2b, 0x3c },
{ "linux/dvb/dmx.h", "DMX_SET_PES_FILTER", _IOC_WRITE, 0x6f2c, 0x14 },
@@ -1142,6 +1143,7 @@
{ "linux/if_tun.h", "TUNGETVNETHDRSZ", _IOC_READ, 0x54d7, 0x04 },
{ "linux/if_tun.h", "TUNGETVNETLE", _IOC_READ, 0x54dd, 0x04 },
{ "linux/if_tun.h", "TUNSETDEBUG", _IOC_WRITE, 0x54c9, 0x04 },
+{ "linux/if_tun.h", "TUNSETFILTEREBPF", _IOC_READ, 0x54e1, 0x04 },
{ "linux/if_tun.h", "TUNSETGROUP", _IOC_WRITE, 0x54ce, 0x04 },
{ "linux/if_tun.h", "TUNSETIFF", _IOC_WRITE, 0x54ca, 0x04 },
{ "linux/if_tun.h", "TUNSETIFINDEX", _IOC_WRITE, 0x54da, 0x04 },
@@ -1152,6 +1154,7 @@
{ "linux/if_tun.h", "TUNSETPERSIST", _IOC_WRITE, 0x54cb, 0x04 },
{ "linux/if_tun.h", "TUNSETQUEUE", _IOC_WRITE, 0x54d9, 0x04 },
{ "linux/if_tun.h", "TUNSETSNDBUF", _IOC_WRITE, 0x54d4, 0x04 },
+{ "linux/if_tun.h", "TUNSETSTEERINGEBPF", _IOC_READ, 0x54e0, 0x04 },
{ "linux/if_tun.h", "TUNSETTXFILTER", _IOC_WRITE, 0x54d1, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETBE", _IOC_WRITE, 0x54de, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 },
@@ -1351,6 +1354,7 @@
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_EVENT", _IOC_WRITE, 0x4b0a, 0x08 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", _IOC_READ|_IOC_WRITE, 0x4b11, 0x10 },
+{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_TRAP_HANDLER", _IOC_WRITE, 0x4b13, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
@@ -1393,6 +1397,7 @@
{ "linux/loop.h", "LOOP_SET_FD", 0, 0x4C00, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS", 0, 0x4C02, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS64", 0, 0x4C04, 0 },
+{ "linux/lp.h", "LPSETTIMEOUT_NEW", _IOC_WRITE, 0x060f, 0x10 },
{ "linux/mISDNif.h", "IMADDTIMER", _IOC_READ, 0x4940, 0x04 },
{ "linux/mISDNif.h", "IMCLEAR_L2", _IOC_READ, 0x4946, 0x04 },
{ "linux/mISDNif.h", "IMCTRLREQ", _IOC_READ, 0x4945, 0x04 },
@@ -1481,8 +1486,6 @@
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e05, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_SIZE", _IOC_READ|_IOC_WRITE, 0x4e04, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_SET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e06, 0x08 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART", _IOC_READ|_IOC_WRITE, 0x4e01, 0x84 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART_THRESHOLD", _IOC_READ|_IOC_WRITE, 0x4e02, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_VENDOR", _IOC_READ|_IOC_WRITE, 0x4e09, 0x08 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CHANGE_CPMODE", _IOC_WRITE, 0x6e80, 0x10 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CLEAN_SEGMENTS", _IOC_WRITE, 0x6e88, 0x78 },
@@ -1551,6 +1554,7 @@
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x08 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PAUSE_OUTPUT", _IOC_WRITE, 0x2409, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PERIOD", _IOC_WRITE, 0x2404, 0x08 },
+{ "linux/perf_event.h", "PERF_EVENT_IOC_QUERY_BPF", _IOC_READ|_IOC_WRITE, 0x240a, 0x08 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_REFRESH", _IOC_NONE, 0x2402, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_RESET", _IOC_NONE, 0x2403, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_SET_BPF", _IOC_WRITE, 0x2408, 0x04 },
@@ -1638,6 +1642,7 @@
{ "linux/pr.h", "IOC_PR_REGISTER", _IOC_WRITE, 0x70c8, 0x18 },
{ "linux/pr.h", "IOC_PR_RELEASE", _IOC_WRITE, 0x70ca, 0x10 },
{ "linux/pr.h", "IOC_PR_RESERVE", _IOC_WRITE, 0x70c9, 0x10 },
+{ "linux/psp-sev.h", "SEV_ISSUE_CMD", _IOC_READ|_IOC_WRITE, 0x5300, 0x10 },
{ "linux/ptp_clock.h", "PTP_CLOCK_GETCAPS", _IOC_READ, 0x3d01, 0x50 },
{ "linux/ptp_clock.h", "PTP_ENABLE_PPS", _IOC_WRITE, 0x3d04, 0x04 },
{ "linux/ptp_clock.h", "PTP_EXTTS_REQUEST", _IOC_WRITE, 0x3d02, 0x10 },
@@ -2013,6 +2018,7 @@
{ "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_SHM_REGISTER", _IOC_READ|_IOC_WRITE, 0xa409, 0x18 },
{ "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 },
@@ -2177,12 +2183,24 @@
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FMT", _IOC_READ|_IOC_WRITE, 0x5605, 0x58 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FRAME_INTERVAL", _IOC_READ|_IOC_WRITE, 0x5616, 0x30 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_SELECTION", _IOC_READ|_IOC_WRITE, 0x563e, 0x40 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_FILTER_MASK", _IOC_READ|_IOC_WRITE, 0x560c, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", _IOC_READ|_IOC_WRITE, 0x560e, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHECK_BALLOON", _IOC_READ|_IOC_WRITE, 0x5611, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_DRIVER_VERSION_INFO", _IOC_READ|_IOC_WRITE, 0x5600, 0x2c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_CONNECT", _IOC_READ|_IOC_WRITE, 0x5604, 0x9c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_DISCONNECT", _IOC_READ|_IOC_WRITE, 0x5605, 0x1c },
+{ "linux/vboxguest.h", "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560b, 0x18 },
+{ "linux/vboxguest.h", "VBG_IOCTL_VMMDEV_REQUEST_BIG", _IOC_READ|_IOC_WRITE, 0x5603, 0x00 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560a, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WRITE_CORE_DUMP", _IOC_READ|_IOC_WRITE, 0x5613, 0x1c },
{ "linux/vfio.h", "VFIO_CHECK_EXTENSION", _IOC_NONE, 0x3b65, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_GET_GFX_DMABUF", _IOC_NONE, 0x3b73, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_INFO", _IOC_NONE, 0x3b6b, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_IRQ_INFO", _IOC_NONE, 0x3b6d, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_PCI_HOT_RESET_INFO", _IOC_NONE, 0x3b70, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_REGION_INFO", _IOC_NONE, 0x3b6c, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_PCI_HOT_RESET", _IOC_NONE, 0x3b71, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_QUERY_GFX_PLANE", _IOC_NONE, 0x3b72, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_RESET", _IOC_NONE, 0x3b6f, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_SET_IRQS", _IOC_NONE, 0x3b6e, 0x00 },
{ "linux/vfio.h", "VFIO_EEH_PE_OP", _IOC_NONE, 0x3b79, 0x00 },
@@ -2432,6 +2450,11 @@
{ "misc/cxl.h", "CXL_IOCTL_GET_PROCESS_ELEMENT", _IOC_READ, 0xca01, 0x04 },
{ "misc/cxl.h", "CXL_IOCTL_START_WORK", _IOC_WRITE, 0xca00, 0x40 },
{ "misc/cxl.h", "CXL_IOCTL_VALIDATE_IMAGE", _IOC_WRITE, 0xca0b, 0x40 },
+{ "misc/ocxl.h", "OCXL_IOCTL_ATTACH", _IOC_WRITE, 0xca10, 0x20 },
+{ "misc/ocxl.h", "OCXL_IOCTL_GET_METADATA", _IOC_READ, 0xca14, 0x80 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_ALLOC", _IOC_READ, 0xca11, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_FREE", _IOC_WRITE, 0xca12, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_SET_FD", _IOC_WRITE, 0xca13, 0x10 },
{ "mtd/mtd-abi.h", "ECCGETLAYOUT", _IOC_READ, 0x4d11, 0x148 },
{ "mtd/mtd-abi.h", "ECCGETSTATS", _IOC_READ, 0x4d12, 0x10 },
{ "mtd/mtd-abi.h", "MEMERASE", _IOC_WRITE, 0x4d02, 0x08 },
diff --git a/linux/aarch64/ioctls_arch0.h b/linux/aarch64/ioctls_arch0.h
index 6a674ccd..36f0d854 100644
--- a/linux/aarch64/ioctls_arch0.h
+++ b/linux/aarch64/ioctls_arch0.h
@@ -1 +1,72 @@
/* Generated by ioctls_gen.sh from definitions found in $linux/arch/arm64/include/ tree. */
+{ "linux/kvm.h", "KVM_ARM_PREFERRED_TARGET", _IOC_READ, 0xaeaf, 0x20 },
+{ "linux/kvm.h", "KVM_ARM_SET_DEVICE_ADDR", _IOC_WRITE, 0xaeab, 0x10 },
+{ "linux/kvm.h", "KVM_ARM_VCPU_INIT", _IOC_WRITE, 0xaeae, 0x20 },
+{ "linux/kvm.h", "KVM_ASSIGN_DEV_IRQ", _IOC_WRITE, 0xae70, 0x40 },
+{ "linux/kvm.h", "KVM_ASSIGN_PCI_DEVICE", _IOC_READ, 0xae69, 0x40 },
+{ "linux/kvm.h", "KVM_ASSIGN_SET_INTX_MASK", _IOC_WRITE, 0xaea4, 0x40 },
+{ "linux/kvm.h", "KVM_ASSIGN_SET_MSIX_ENTRY", _IOC_WRITE, 0xae74, 0x10 },
+{ "linux/kvm.h", "KVM_ASSIGN_SET_MSIX_NR", _IOC_WRITE, 0xae73, 0x08 },
+{ "linux/kvm.h", "KVM_CHECK_EXTENSION", _IOC_NONE, 0xae03, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_DEVICE", _IOC_READ|_IOC_WRITE, 0xaee0, 0x0c },
+{ "linux/kvm.h", "KVM_CREATE_IRQCHIP", _IOC_NONE, 0xae60, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_PIT", _IOC_NONE, 0xae64, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_PIT2", _IOC_WRITE, 0xae77, 0x40 },
+{ "linux/kvm.h", "KVM_CREATE_VCPU", _IOC_NONE, 0xae41, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_VM", _IOC_NONE, 0xae01, 0x00 },
+{ "linux/kvm.h", "KVM_DEASSIGN_DEV_IRQ", _IOC_WRITE, 0xae75, 0x40 },
+{ "linux/kvm.h", "KVM_DEASSIGN_PCI_DEVICE", _IOC_WRITE, 0xae72, 0x40 },
+{ "linux/kvm.h", "KVM_DIRTY_TLB", _IOC_WRITE, 0xaeaa, 0x10 },
+{ "linux/kvm.h", "KVM_ENABLE_CAP", _IOC_WRITE, 0xaea3, 0x68 },
+{ "linux/kvm.h", "KVM_GET_API_VERSION", _IOC_NONE, 0xae00, 0x00 },
+{ "linux/kvm.h", "KVM_GET_CLOCK", _IOC_READ, 0xae7c, 0x30 },
+{ "linux/kvm.h", "KVM_GET_DEVICE_ATTR", _IOC_WRITE, 0xaee2, 0x18 },
+{ "linux/kvm.h", "KVM_GET_DIRTY_LOG", _IOC_WRITE, 0xae42, 0x10 },
+{ "linux/kvm.h", "KVM_GET_FPU", _IOC_READ, 0xae8c, 0x00 },
+{ "linux/kvm.h", "KVM_GET_IRQCHIP", _IOC_READ|_IOC_WRITE, 0xae62, 0x208 },
+{ "linux/kvm.h", "KVM_GET_MP_STATE", _IOC_READ, 0xae98, 0x04 },
+{ "linux/kvm.h", "KVM_GET_NR_MMU_PAGES", _IOC_NONE, 0xae45, 0x00 },
+{ "linux/kvm.h", "KVM_GET_ONE_REG", _IOC_WRITE, 0xaeab, 0x10 },
+{ "linux/kvm.h", "KVM_GET_REGS", _IOC_READ, 0xae81, 0x360 },
+{ "linux/kvm.h", "KVM_GET_REG_LIST", _IOC_READ|_IOC_WRITE, 0xaeb0, 0x08 },
+{ "linux/kvm.h", "KVM_GET_SREGS", _IOC_READ, 0xae83, 0x00 },
+{ "linux/kvm.h", "KVM_GET_TSC_KHZ", _IOC_NONE, 0xaea3, 0x00 },
+{ "linux/kvm.h", "KVM_GET_VCPU_MMAP_SIZE", _IOC_NONE, 0xae04, 0x00 },
+{ "linux/kvm.h", "KVM_HAS_DEVICE_ATTR", _IOC_WRITE, 0xaee3, 0x18 },
+{ "linux/kvm.h", "KVM_INTERRUPT", _IOC_WRITE, 0xae86, 0x04 },
+{ "linux/kvm.h", "KVM_IOEVENTFD", _IOC_WRITE, 0xae79, 0x40 },
+{ "linux/kvm.h", "KVM_IRQFD", _IOC_WRITE, 0xae76, 0x20 },
+{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
+{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
+{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x08 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
+{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
+{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
+{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
+{ "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
+{ "linux/kvm.h", "KVM_SET_BOOT_CPU_ID", _IOC_NONE, 0xae78, 0x00 },
+{ "linux/kvm.h", "KVM_SET_CLOCK", _IOC_WRITE, 0xae7b, 0x30 },
+{ "linux/kvm.h", "KVM_SET_DEVICE_ATTR", _IOC_WRITE, 0xaee1, 0x18 },
+{ "linux/kvm.h", "KVM_SET_FPU", _IOC_WRITE, 0xae8d, 0x00 },
+{ "linux/kvm.h", "KVM_SET_GSI_ROUTING", _IOC_WRITE, 0xae6a, 0x08 },
+{ "linux/kvm.h", "KVM_SET_GUEST_DEBUG", _IOC_WRITE, 0xae9b, 0x208 },
+{ "linux/kvm.h", "KVM_SET_IDENTITY_MAP_ADDR", _IOC_WRITE, 0xae48, 0x08 },
+{ "linux/kvm.h", "KVM_SET_IRQCHIP", _IOC_READ, 0xae63, 0x208 },
+{ "linux/kvm.h", "KVM_SET_MEMORY_REGION", _IOC_WRITE, 0xae40, 0x18 },
+{ "linux/kvm.h", "KVM_SET_MP_STATE", _IOC_WRITE, 0xae99, 0x04 },
+{ "linux/kvm.h", "KVM_SET_NR_MMU_PAGES", _IOC_NONE, 0xae44, 0x00 },
+{ "linux/kvm.h", "KVM_SET_ONE_REG", _IOC_WRITE, 0xaeac, 0x10 },
+{ "linux/kvm.h", "KVM_SET_REGS", _IOC_WRITE, 0xae82, 0x360 },
+{ "linux/kvm.h", "KVM_SET_SIGNAL_MASK", _IOC_WRITE, 0xae8b, 0x04 },
+{ "linux/kvm.h", "KVM_SET_SREGS", _IOC_WRITE, 0xae84, 0x00 },
+{ "linux/kvm.h", "KVM_SET_TSC_KHZ", _IOC_NONE, 0xaea2, 0x00 },
+{ "linux/kvm.h", "KVM_SET_TSS_ADDR", _IOC_NONE, 0xae47, 0x00 },
+{ "linux/kvm.h", "KVM_SET_USER_MEMORY_REGION", _IOC_WRITE, 0xae46, 0x20 },
+{ "linux/kvm.h", "KVM_SET_VAPIC_ADDR", _IOC_WRITE, 0xae93, 0x08 },
+{ "linux/kvm.h", "KVM_SIGNAL_MSI", _IOC_WRITE, 0xaea5, 0x20 },
+{ "linux/kvm.h", "KVM_SMI", _IOC_NONE, 0xaeb7, 0x00 },
+{ "linux/kvm.h", "KVM_TPR_ACCESS_REPORTING", _IOC_READ|_IOC_WRITE, 0xae92, 0x28 },
+{ "linux/kvm.h", "KVM_TRANSLATE", _IOC_READ|_IOC_WRITE, 0xae85, 0x18 },
+{ "linux/kvm.h", "KVM_UNREGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae68, 0x10 },
diff --git a/linux/aarch64/raw_syscall.h b/linux/aarch64/raw_syscall.h
new file mode 100644
index 00000000..751c7804
--- /dev/null
+++ b/linux/aarch64/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t x8 __asm__("x8") = nr;
+ register kernel_ulong_t x0 __asm__("x0");
+ __asm__ __volatile__("svc 0"
+ : "=r"(x0)
+ : "r"(x8)
+ : "memory");
+ return x0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/alpha/errnoent.h b/linux/alpha/errnoent.h
index b9157cfe..9a3f0d67 100644
--- a/linux/alpha/errnoent.h
+++ b/linux/alpha/errnoent.h
@@ -146,3 +146,4 @@
[527] = "EBADTYPE",
[528] = "EJUKEBOX",
[529] = "EIOCBQUEUED",
+[530] = "ERECALLCONFLICT",
diff --git a/linux/alpha/raw_syscall.h b/linux/alpha/raw_syscall.h
new file mode 100644
index 00000000..1daed140
--- /dev/null
+++ b/linux/alpha/raw_syscall.h
@@ -0,0 +1,51 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ kernel_ulong_t sc_0 = nr;
+ register kernel_ulong_t sc_19 __asm__("$19");
+ __asm__ __volatile__("callsys"
+ : "+v"(sc_0), "=r"(sc_19)
+ :
+ : "memory", "$1", "$2", "$3", "$4", "$5", "$6",
+ "$7", "$8", "$16", "$17", "$18", "$20", "$21",
+ "$22", "$23", "$24", "$25", "$27", "$28");
+ *err = sc_19;
+ return sc_0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/arc/raw_syscall.h b/linux/arc/raw_syscall.h
new file mode 100644
index 00000000..65bce81c
--- /dev/null
+++ b/linux/arc/raw_syscall.h
@@ -0,0 +1,61 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r8 __asm__("r8") = nr;
+ register kernel_ulong_t r0 __asm__("r0");
+
+# ifdef __A7__
+# define ARC_TRAP_INSN "trap0"
+# elif defined __HS__
+# define ARC_TRAP_INSN "trap_s 0 "
+# else
+# error unrecognized arc
+# endif
+
+ __asm__ __volatile__(ARC_TRAP_INSN
+ : "=r"(r0)
+ : "r"(r8)
+ : "memory");
+
+# undef ARC_TRAP_INSN
+
+ return r0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/arch_defs_.h b/linux/arch_defs_.h
index a66be262..87e20063 100644
--- a/linux/arch_defs_.h
+++ b/linux/arch_defs_.h
@@ -31,3 +31,7 @@
#ifndef HAVE_ARCH_DEDICATED_ERR_REG
# define HAVE_ARCH_DEDICATED_ERR_REG 0
#endif
+
+#ifndef CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL
+# define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 0
+#endif
diff --git a/linux/arm/arch_defs_.h b/linux/arm/arch_defs_.h
index a8e961f3..1a7e176f 100644
--- a/linux/arm/arch_defs_.h
+++ b/linux/arm/arch_defs_.h
@@ -1,3 +1,4 @@
#define HAVE_ARCH_OLD_MMAP 1
#define HAVE_ARCH_OLD_SELECT 1
#define HAVE_ARCH_UID16_SYSCALLS 1
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/arm/ioctls_arch0.h b/linux/arm/ioctls_arch0.h
index f80398eb..19750f31 100644
--- a/linux/arm/ioctls_arch0.h
+++ b/linux/arm/ioctls_arch0.h
@@ -40,6 +40,9 @@
{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x04 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
diff --git a/linux/arm/raw_syscall.h b/linux/arm/raw_syscall.h
new file mode 100644
index 00000000..69c7e238
--- /dev/null
+++ b/linux/arm/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r7 __asm__("r7") = nr;
+ register kernel_ulong_t r0 __asm__("r0");
+ __asm__ __volatile__("swi 0x0"
+ : "=r"(r0)
+ : "r"(r7)
+ : "memory");
+ return r0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/avr32/raw_syscall.h b/linux/avr32/raw_syscall.h
new file mode 100644
index 00000000..772f4132
--- /dev/null
+++ b/linux/avr32/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r8 __asm__("r8") = nr;
+ register kernel_ulong_t r12 __asm__("r12");
+ __asm__ __volatile__("scall"
+ : "=r"(r12)
+ : "r"(r8)
+ : "memory", "cc");
+ return r12;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/bfin/raw_syscall.h b/linux/bfin/raw_syscall.h
new file mode 100644
index 00000000..0af50f09
--- /dev/null
+++ b/linux/bfin/raw_syscall.h
@@ -0,0 +1,48 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t ret;
+ __asm__ __volatile__("excpt 0"
+ : "=q0"(ret)
+ : "qA"(nr)
+ : "memory", "cc");
+ return ret;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/errnoent.h b/linux/errnoent.h
index 012f0999..1400c280 100644
--- a/linux/errnoent.h
+++ b/linux/errnoent.h
@@ -145,3 +145,4 @@
[527] = "EBADTYPE",
[528] = "EJUKEBOX",
[529] = "EIOCBQUEUED",
+[530] = "ERECALLCONFLICT",
diff --git a/linux/hppa/errnoent.h b/linux/hppa/errnoent.h
index 896980be..68a53c51 100644
--- a/linux/hppa/errnoent.h
+++ b/linux/hppa/errnoent.h
@@ -149,3 +149,4 @@
[527] = "EBADTYPE",
[528] = "EJUKEBOX",
[529] = "EIOCBQUEUED",
+[530] = "ERECALLCONFLICT",
diff --git a/linux/hppa/raw_syscall.h b/linux/hppa/raw_syscall.h
new file mode 100644
index 00000000..7388c4aa
--- /dev/null
+++ b/linux/hppa/raw_syscall.h
@@ -0,0 +1,52 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r28 __asm__("r28");
+ __asm__ __volatile__("copy %%r19, %%r4\n\t"
+ "ble 0x100(%%sr2, %%r0)\n\t"
+ "copy %1, %%r20\n\t"
+ "copy %%r4, %%r19\n\t"
+ : "=r"(r28)
+ : "r"(nr)
+ : "memory", "%r1", "%r2", "%r4",
+ "%r21", "%r22", "%r23", "%r24", "%r25", "%r26" );
+ return r28;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/i386/arch_defs_.h b/linux/i386/arch_defs_.h
index a8e961f3..1a7e176f 100644
--- a/linux/i386/arch_defs_.h
+++ b/linux/i386/arch_defs_.h
@@ -1,3 +1,4 @@
#define HAVE_ARCH_OLD_MMAP 1
#define HAVE_ARCH_OLD_SELECT 1
#define HAVE_ARCH_UID16_SYSCALLS 1
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/i386/ioctls_arch0.h b/linux/i386/ioctls_arch0.h
index 697e2505..28df19df 100644
--- a/linux/i386/ioctls_arch0.h
+++ b/linux/i386/ioctls_arch0.h
@@ -42,6 +42,7 @@
{ "linux/kvm.h", "KVM_GET_LAPIC", _IOC_READ, 0xae8e, 0x400 },
{ "linux/kvm.h", "KVM_GET_MP_STATE", _IOC_READ, 0xae98, 0x04 },
{ "linux/kvm.h", "KVM_GET_MSRS", _IOC_READ|_IOC_WRITE, 0xae88, 0x08 },
+{ "linux/kvm.h", "KVM_GET_MSR_FEATURE_INDEX_LIST", _IOC_READ|_IOC_WRITE, 0xae0a, 0x04 },
{ "linux/kvm.h", "KVM_GET_MSR_INDEX_LIST", _IOC_READ|_IOC_WRITE, 0xae02, 0x04 },
{ "linux/kvm.h", "KVM_GET_NR_MMU_PAGES", _IOC_NONE, 0xae45, 0x00 },
{ "linux/kvm.h", "KVM_GET_ONE_REG", _IOC_WRITE, 0xaeab, 0x10 },
@@ -63,6 +64,9 @@
{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x04 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
diff --git a/linux/i386/raw_syscall.h b/linux/i386/raw_syscall.h
new file mode 100644
index 00000000..74f911d5
--- /dev/null
+++ b/linux/i386/raw_syscall.h
@@ -0,0 +1,48 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ kernel_ulong_t ret;
+ __asm__ __volatile__("int $0x80"
+ : "=a"(ret)
+ : "a"(nr)
+ : "memory", "cc");
+ return ret;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/ia64/raw_syscall.h b/linux/ia64/raw_syscall.h
new file mode 100644
index 00000000..cb98a95d
--- /dev/null
+++ b/linux/ia64/raw_syscall.h
@@ -0,0 +1,61 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ register kernel_ulong_t r15 __asm__("r15") = nr;
+ register kernel_ulong_t r8 __asm__("r8");
+ register kernel_ulong_t r10 __asm__("r10");
+ __asm__ __volatile__("break 0x100000"
+ : "=r"(r8), "=r"(r10), "+r"(r15)
+ :
+ : "memory", "out0", "out1", "out2",
+ "out3", "out4", "out5", "out6", "out7",
+ "r2", "r3", "r9", "r11", "r12", "r13",
+ "r14", "r16", "r17", "r18", "r19", "r20",
+ "r21", "r22", "r23", "r24", "r25", "r26",
+ "r27", "r28", "r29", "r30", "r31",
+ "p6", "p7", "p8", "p9", "p10",
+ "p11", "p12", "p13", "p14", "p15",
+ "f6", "f7", "f8", "f9", "f10",
+ "f11", "f12", "f13", "f14", "f15",
+ "f5", "f6", "f7", "f8", "f9", "f10", "f11",
+ "b6", "b7");
+ *err = !!r10;
+ return r8;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/inet_diag.h b/linux/inet_diag.h
index d2eec2ce..f01b75a7 100644
--- a/linux/inet_diag.h
+++ b/linux/inet_diag.h
@@ -57,6 +57,8 @@ enum {
INET_DIAG_BC_D_COND,
INET_DIAG_BC_DEV_COND, /* u32 ifindex */
INET_DIAG_BC_MARK_COND,
+ INET_DIAG_BC_S_EQ,
+ INET_DIAG_BC_D_EQ,
};
struct inet_diag_hostcond {
diff --git a/linux/m68k/raw_syscall.h b/linux/m68k/raw_syscall.h
new file mode 100644
index 00000000..5ed0cde3
--- /dev/null
+++ b/linux/m68k/raw_syscall.h
@@ -0,0 +1,48 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t d0 __asm__("%d0") = nr;
+ __asm__ __volatile__("trap #0"
+ : "=d"(d0)
+ : "0"(d0)
+ : "memory");
+ return d0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/metag/raw_syscall.h b/linux/metag/raw_syscall.h
new file mode 100644
index 00000000..332aa06d
--- /dev/null
+++ b/linux/metag/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t num __asm__("D1Re0") = nr;
+ register kernel_ulong_t ret __asm__("D0Re0");
+ __asm__ __volatile__("SWITCH #0x440001"
+ : "=r"(ret)
+ : "d"(num)
+ : "memory");
+ return ret;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/microblaze/raw_syscall.h b/linux/microblaze/raw_syscall.h
new file mode 100644
index 00000000..db53623d
--- /dev/null
+++ b/linux/microblaze/raw_syscall.h
@@ -0,0 +1,50 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r12 __asm__("r12") = nr;
+ register kernel_ulong_t r3 __asm__("r3");
+ __asm__ __volatile__("brki r14, 8"
+ : "=r"(r3)
+ : "r"(r12)
+ : "memory", "r4", "r5", "r6", "r7",
+ "r8", "r9", "r10", "r11");
+ return r3;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/mips/arch_defs_.h b/linux/mips/arch_defs_.h
index f6fe59e5..1f20dab0 100644
--- a/linux/mips/arch_defs_.h
+++ b/linux/mips/arch_defs_.h
@@ -1,2 +1,3 @@
#define HAVE_ARCH_GETRVAL2 1
#define HAVE_ARCH_DEDICATED_ERR_REG 1
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/mips/errnoent.h b/linux/mips/errnoent.h
index a82f9c62..0e49f058 100644
--- a/linux/mips/errnoent.h
+++ b/linux/mips/errnoent.h
@@ -147,4 +147,5 @@
[527] = "EBADTYPE",
[528] = "EJUKEBOX",
[529] = "EIOCBQUEUED",
+[530] = "ERECALLCONFLICT",
[1133] = "EDQUOT",
diff --git a/linux/mips/ioctls_arch0.h b/linux/mips/ioctls_arch0.h
index 966e9ae5..aaac9ae9 100644
--- a/linux/mips/ioctls_arch0.h
+++ b/linux/mips/ioctls_arch0.h
@@ -35,6 +35,7 @@
{ "asm/ioctls.h", "TIOCGPKT", _IOC_READ, 0x5438, 0x04 },
{ "asm/ioctls.h", "TIOCGPTLCK", _IOC_READ, 0x5439, 0x04 },
{ "asm/ioctls.h", "TIOCGPTN", _IOC_READ, 0x5430, 0x04 },
+{ "asm/ioctls.h", "TIOCGPTPEER", _IOC_NONE, 0x5441, 0x00 },
{ "asm/ioctls.h", "TIOCGRS485", _IOC_READ, 0x542e, 0x20 },
{ "asm/ioctls.h", "TIOCGSERIAL", 0, 0x5484, 0 },
{ "asm/ioctls.h", "TIOCGSID", 0, 0x7416, 0 },
@@ -80,3 +81,71 @@
{ "asm/sockios.h", "SIOCGSTAMP", 0, 0x8906, 0 },
{ "asm/sockios.h", "SIOCGSTAMPNS", 0, 0x8907, 0 },
{ "asm/sockios.h", "SIOCSPGRP", _IOC_WRITE, 0x7308, 0x04 },
+{ "linux/kvm.h", "KVM_ASSIGN_DEV_IRQ", _IOC_WRITE, 0xae70, 0x40 },
+{ "linux/kvm.h", "KVM_ASSIGN_PCI_DEVICE", _IOC_READ, 0xae69, 0x40 },
+{ "linux/kvm.h", "KVM_ASSIGN_SET_INTX_MASK", _IOC_WRITE, 0xaea4, 0x40 },
+{ "linux/kvm.h", "KVM_ASSIGN_SET_MSIX_ENTRY", _IOC_WRITE, 0xae74, 0x10 },
+{ "linux/kvm.h", "KVM_ASSIGN_SET_MSIX_NR", _IOC_WRITE, 0xae73, 0x08 },
+{ "linux/kvm.h", "KVM_CHECK_EXTENSION", _IOC_NONE, 0xae03, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_DEVICE", _IOC_READ|_IOC_WRITE, 0xaee0, 0x0c },
+{ "linux/kvm.h", "KVM_CREATE_IRQCHIP", _IOC_NONE, 0xae60, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_PIT", _IOC_NONE, 0xae64, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_PIT2", _IOC_WRITE, 0xae77, 0x40 },
+{ "linux/kvm.h", "KVM_CREATE_VCPU", _IOC_NONE, 0xae41, 0x00 },
+{ "linux/kvm.h", "KVM_CREATE_VM", _IOC_NONE, 0xae01, 0x00 },
+{ "linux/kvm.h", "KVM_DEASSIGN_DEV_IRQ", _IOC_WRITE, 0xae75, 0x40 },
+{ "linux/kvm.h", "KVM_DEASSIGN_PCI_DEVICE", _IOC_WRITE, 0xae72, 0x40 },
+{ "linux/kvm.h", "KVM_DIRTY_TLB", _IOC_WRITE, 0xaeaa, 0x10 },
+{ "linux/kvm.h", "KVM_ENABLE_CAP", _IOC_WRITE, 0xaea3, 0x68 },
+{ "linux/kvm.h", "KVM_GET_API_VERSION", _IOC_NONE, 0xae00, 0x00 },
+{ "linux/kvm.h", "KVM_GET_CLOCK", _IOC_READ, 0xae7c, 0x30 },
+{ "linux/kvm.h", "KVM_GET_DEVICE_ATTR", _IOC_WRITE, 0xaee2, 0x18 },
+{ "linux/kvm.h", "KVM_GET_DIRTY_LOG", _IOC_WRITE, 0xae42, 0x10 },
+{ "linux/kvm.h", "KVM_GET_FPU", _IOC_READ, 0xae8c, 0x00 },
+{ "linux/kvm.h", "KVM_GET_IRQCHIP", _IOC_READ|_IOC_WRITE, 0xae62, 0x208 },
+{ "linux/kvm.h", "KVM_GET_MP_STATE", _IOC_READ, 0xae98, 0x04 },
+{ "linux/kvm.h", "KVM_GET_NR_MMU_PAGES", _IOC_NONE, 0xae45, 0x00 },
+{ "linux/kvm.h", "KVM_GET_ONE_REG", _IOC_WRITE, 0xaeab, 0x10 },
+{ "linux/kvm.h", "KVM_GET_REGS", _IOC_READ, 0xae81, 0x118 },
+{ "linux/kvm.h", "KVM_GET_REG_LIST", _IOC_READ|_IOC_WRITE, 0xaeb0, 0x08 },
+{ "linux/kvm.h", "KVM_GET_SREGS", _IOC_READ, 0xae83, 0x00 },
+{ "linux/kvm.h", "KVM_GET_TSC_KHZ", _IOC_NONE, 0xaea3, 0x00 },
+{ "linux/kvm.h", "KVM_GET_VCPU_MMAP_SIZE", _IOC_NONE, 0xae04, 0x00 },
+{ "linux/kvm.h", "KVM_HAS_DEVICE_ATTR", _IOC_WRITE, 0xaee3, 0x18 },
+{ "linux/kvm.h", "KVM_INTERRUPT", _IOC_WRITE, 0xae86, 0x04 },
+{ "linux/kvm.h", "KVM_IOEVENTFD", _IOC_WRITE, 0xae79, 0x40 },
+{ "linux/kvm.h", "KVM_IRQFD", _IOC_WRITE, 0xae76, 0x20 },
+{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
+{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
+{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x08 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
+{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
+{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
+{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
+{ "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
+{ "linux/kvm.h", "KVM_SET_BOOT_CPU_ID", _IOC_NONE, 0xae78, 0x00 },
+{ "linux/kvm.h", "KVM_SET_CLOCK", _IOC_WRITE, 0xae7b, 0x30 },
+{ "linux/kvm.h", "KVM_SET_DEVICE_ATTR", _IOC_WRITE, 0xaee1, 0x18 },
+{ "linux/kvm.h", "KVM_SET_FPU", _IOC_WRITE, 0xae8d, 0x00 },
+{ "linux/kvm.h", "KVM_SET_GSI_ROUTING", _IOC_WRITE, 0xae6a, 0x08 },
+{ "linux/kvm.h", "KVM_SET_GUEST_DEBUG", _IOC_WRITE, 0xae9b, 0x08 },
+{ "linux/kvm.h", "KVM_SET_IDENTITY_MAP_ADDR", _IOC_WRITE, 0xae48, 0x08 },
+{ "linux/kvm.h", "KVM_SET_IRQCHIP", _IOC_READ, 0xae63, 0x208 },
+{ "linux/kvm.h", "KVM_SET_MEMORY_REGION", _IOC_WRITE, 0xae40, 0x18 },
+{ "linux/kvm.h", "KVM_SET_MP_STATE", _IOC_WRITE, 0xae99, 0x04 },
+{ "linux/kvm.h", "KVM_SET_NR_MMU_PAGES", _IOC_NONE, 0xae44, 0x00 },
+{ "linux/kvm.h", "KVM_SET_ONE_REG", _IOC_WRITE, 0xaeac, 0x10 },
+{ "linux/kvm.h", "KVM_SET_REGS", _IOC_WRITE, 0xae82, 0x118 },
+{ "linux/kvm.h", "KVM_SET_SIGNAL_MASK", _IOC_WRITE, 0xae8b, 0x04 },
+{ "linux/kvm.h", "KVM_SET_SREGS", _IOC_WRITE, 0xae84, 0x00 },
+{ "linux/kvm.h", "KVM_SET_TSC_KHZ", _IOC_NONE, 0xaea2, 0x00 },
+{ "linux/kvm.h", "KVM_SET_TSS_ADDR", _IOC_NONE, 0xae47, 0x00 },
+{ "linux/kvm.h", "KVM_SET_USER_MEMORY_REGION", _IOC_WRITE, 0xae46, 0x20 },
+{ "linux/kvm.h", "KVM_SET_VAPIC_ADDR", _IOC_WRITE, 0xae93, 0x08 },
+{ "linux/kvm.h", "KVM_SIGNAL_MSI", _IOC_WRITE, 0xaea5, 0x20 },
+{ "linux/kvm.h", "KVM_SMI", _IOC_NONE, 0xaeb7, 0x00 },
+{ "linux/kvm.h", "KVM_TPR_ACCESS_REPORTING", _IOC_READ|_IOC_WRITE, 0xae92, 0x28 },
+{ "linux/kvm.h", "KVM_TRANSLATE", _IOC_READ|_IOC_WRITE, 0xae85, 0x18 },
+{ "linux/kvm.h", "KVM_UNREGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae68, 0x10 },
diff --git a/linux/mips/raw_syscall.h b/linux/mips/raw_syscall.h
new file mode 100644
index 00000000..fedb530f
--- /dev/null
+++ b/linux/mips/raw_syscall.h
@@ -0,0 +1,55 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ register kernel_ulong_t s0 __asm__("$16") = nr;
+ register kernel_ulong_t v0 __asm__("$2");
+ register kernel_ulong_t a3 __asm__("$7");
+ __asm__ __volatile__(".set noreorder\n\t"
+ "move %0, %2\n\t"
+ "syscall\n\t"
+ ".set reorder"
+ : "=r"(v0), "=r"(a3)
+ : "r"(s0)
+ : "memory", "hi", "lo", "$1", "$3", "$8", "$9",
+ "$10", "$11", "$12", "$13", "$14", "$15",
+ "$24", "$25");
+ *err = a3;
+ return v0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/nios2/raw_syscall.h b/linux/nios2/raw_syscall.h
new file mode 100644
index 00000000..21c287df
--- /dev/null
+++ b/linux/nios2/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ register kernel_ulong_t r2 __asm__("r2") = nr;
+ register kernel_ulong_t r7 __asm__("r7");
+ __asm__ __volatile__("trap"
+ : "+r"(r2), "=r"(r7)
+ :
+ : "memory");
+ *err = r7;
+ return r2;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/or1k/raw_syscall.h b/linux/or1k/raw_syscall.h
new file mode 100644
index 00000000..79a1d3f6
--- /dev/null
+++ b/linux/or1k/raw_syscall.h
@@ -0,0 +1,50 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r11 __asm__("r11") = nr;
+ __asm__ __volatile__("l.sys 1"
+ : "+r"(r11)
+ :
+ : "memory", "r3", "r4", "r5", "r6", "r7", "r8",
+ "r12", "r13", "r15", "r17", "r19", "r21",
+ "r23", "r25", "r27", "r29", "r31");
+ return r11;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/powerpc/arch_defs_.h b/linux/powerpc/arch_defs_.h
index ef3f342e..06b6da95 100644
--- a/linux/powerpc/arch_defs_.h
+++ b/linux/powerpc/arch_defs_.h
@@ -1,2 +1,3 @@
#define HAVE_ARCH_OLD_SELECT 1
#define HAVE_ARCH_DEDICATED_ERR_REG 1
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/powerpc/ioctls_arch0.h b/linux/powerpc/ioctls_arch0.h
index f6f3b266..72a755e6 100644
--- a/linux/powerpc/ioctls_arch0.h
+++ b/linux/powerpc/ioctls_arch0.h
@@ -127,6 +127,9 @@
{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x08 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
{ "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
{ "linux/kvm.h", "KVM_PPC_CONFIGURE_V3_MMU", _IOC_WRITE, 0xaeaf, 0x10 },
diff --git a/linux/powerpc/raw_syscall.h b/linux/powerpc/raw_syscall.h
new file mode 100644
index 00000000..931dfe54
--- /dev/null
+++ b/linux/powerpc/raw_syscall.h
@@ -0,0 +1,52 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ register kernel_ulong_t r0 __asm__("r0") = nr;
+ register kernel_ulong_t r3 __asm__("r3");
+ __asm__ __volatile__("sc\n\t"
+ "mfcr %0"
+ : "+r"(r0), "=r"(r3)
+ :
+ : "memory", "cr0", "ctr", "lr",
+ "r4", "r5", "r6", "r7", "r8",
+ "r9", "r10", "r11", "r12");
+ *err = !!(r0 & 0x10000000);
+ return r3;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/powerpc64/raw_syscall.h b/linux/powerpc64/raw_syscall.h
new file mode 100644
index 00000000..05577ee9
--- /dev/null
+++ b/linux/powerpc64/raw_syscall.h
@@ -0,0 +1 @@
+#include "powerpc/raw_syscall.h"
diff --git a/linux/raw_syscall.h b/linux/raw_syscall.h
new file mode 100644
index 00000000..da84fa5f
--- /dev/null
+++ b/linux/raw_syscall.h
@@ -0,0 +1 @@
+/* nothing */
diff --git a/linux/riscv/arch_defs_.h b/linux/riscv/arch_defs_.h
index 33494f5d..b223c48c 100644
--- a/linux/riscv/arch_defs_.h
+++ b/linux/riscv/arch_defs_.h
@@ -1,2 +1,3 @@
#define HAVE_ARCH_UID16_SYSCALLS 1
#define SUPPORTED_PERSONALITIES 2
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/riscv/raw_syscall.h b/linux/riscv/raw_syscall.h
new file mode 100644
index 00000000..4a789873
--- /dev/null
+++ b/linux/riscv/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t a7 __asm__("a7") = nr;
+ register kernel_ulong_t a0 __asm__("a0");
+ __asm__ __volatile__("scall"
+ : "=r"(a0)
+ : "r"(a7)
+ : "memory");
+ return a0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/s390/arch_defs_.h b/linux/s390/arch_defs_.h
index 59fee837..d739fd02 100644
--- a/linux/s390/arch_defs_.h
+++ b/linux/s390/arch_defs_.h
@@ -1,3 +1,4 @@
#define HAVE_ARCH_OLD_MMAP 1
#define HAVE_ARCH_OLD_MMAP_PGOFF 1
#define HAVE_ARCH_UID16_SYSCALLS 1
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/s390/ioctls_arch0.h b/linux/s390/ioctls_arch0.h
index 66b26ae4..d7d2dde9 100644
--- a/linux/s390/ioctls_arch0.h
+++ b/linux/s390/ioctls_arch0.h
@@ -109,6 +109,9 @@
{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x04 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
diff --git a/linux/s390/raw_syscall.h b/linux/s390/raw_syscall.h
new file mode 100644
index 00000000..82382071
--- /dev/null
+++ b/linux/s390/raw_syscall.h
@@ -0,0 +1,49 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r1 __asm__("r1") = nr;
+ register kernel_ulong_t r2 __asm__("r2");
+ __asm__ __volatile__("svc 0"
+ : "=r"(r2)
+ : "r"(r1)
+ : "memory");
+ return r2;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/s390x/ioctls_arch0.h b/linux/s390x/ioctls_arch0.h
index c544f00d..1b8cd803 100644
--- a/linux/s390x/ioctls_arch0.h
+++ b/linux/s390x/ioctls_arch0.h
@@ -109,6 +109,9 @@
{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x08 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
diff --git a/linux/s390x/raw_syscall.h b/linux/s390x/raw_syscall.h
new file mode 100644
index 00000000..05789ce1
--- /dev/null
+++ b/linux/s390x/raw_syscall.h
@@ -0,0 +1 @@
+#include "s390/raw_syscall.h"
diff --git a/linux/sh/raw_syscall.h b/linux/sh/raw_syscall.h
new file mode 100644
index 00000000..1a954c01
--- /dev/null
+++ b/linux/sh/raw_syscall.h
@@ -0,0 +1,54 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t r3 __asm__("%r3") = nr;
+ register kernel_ulong_t r0 __asm__("%r0");
+ __asm__ __volatile__("trapa #0x10\n\t"
+ "or r0,r0\n\t"
+ "or r0,r0\n\t"
+ "or r0,r0\n\t"
+ "or r0,r0\n\t"
+ "or r0,r0\n\t"
+ : "=r"(r0)
+ : "r"(r3)
+ : "memory", "t");
+ return r0;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/sh64/raw_syscall.h b/linux/sh64/raw_syscall.h
new file mode 100644
index 00000000..2477b323
--- /dev/null
+++ b/linux/sh64/raw_syscall.h
@@ -0,0 +1 @@
+#include "sh/raw_syscall.h"
diff --git a/linux/sparc/arch_defs_.h b/linux/sparc/arch_defs_.h
index e30336ab..94f6e2bd 100644
--- a/linux/sparc/arch_defs_.h
+++ b/linux/sparc/arch_defs_.h
@@ -2,3 +2,4 @@
#define HAVE_ARCH_UID16_SYSCALLS 1
#define HAVE_ARCH_SA_RESTORER 1
#define HAVE_ARCH_DEDICATED_ERR_REG 1
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
diff --git a/linux/sparc/errnoent.h b/linux/sparc/errnoent.h
index fe5ff07d..cd9c8e36 100644
--- a/linux/sparc/errnoent.h
+++ b/linux/sparc/errnoent.h
@@ -149,3 +149,4 @@
[527] = "EBADTYPE",
[528] = "EJUKEBOX",
[529] = "EIOCBQUEUED",
+[530] = "ERECALLCONFLICT",
diff --git a/linux/sparc/raw_syscall.h b/linux/sparc/raw_syscall.h
new file mode 100644
index 00000000..f1fa0173
--- /dev/null
+++ b/linux/sparc/raw_syscall.h
@@ -0,0 +1,58 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ register kernel_ulong_t g1 __asm__("g1") = nr;
+ register kernel_ulong_t rval __asm__("o0");
+ __asm__ __volatile__("ta 0x10\n\t"
+ "bcc 1f\n\t"
+ "mov 0, %0\n\t"
+ "mov 1, %0\n\t"
+ "1:"
+ : "+r"(g1), "=r"(rval)
+ :
+ : "memory", "cc", "f0", "f1", "f2", "f3", "f4",
+ "f5", "f6", "f7", "f8", "f9", "f10", "f11",
+ "f12", "f13", "f14", "f15", "f16", "f17",
+ "f18", "f19", "f20", "f21", "f22", "f23",
+ "f24", "f25", "f26", "f27", "f28", "f29",
+ "f30", "f31");
+ *err = g1;
+ return rval;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h
index a1974c2d..b6a378a8 100644
--- a/linux/sparc/syscallent.h
+++ b/linux/sparc/syscallent.h
@@ -338,7 +338,7 @@
[337] = { 2, TD, SEN(setns), "setns" },
[338] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
[339] = { 6, 0, SEN(process_vm_writev), "process_vm_writev" },
-[340] = { 0, PU|NF, SEN(printargs), "kern_features" },
+[340] = { 0, PU, SEN(kern_features), "kern_features" },
[341] = { 5, 0, SEN(kcmp), "kcmp" },
[342] = { 3, TD, SEN(finit_module), "finit_module" },
[343] = { 3, 0, SEN(sched_setattr), "sched_setattr" },
diff --git a/linux/sparc64/raw_syscall.h b/linux/sparc64/raw_syscall.h
new file mode 100644
index 00000000..559d9539
--- /dev/null
+++ b/linux/sparc64/raw_syscall.h
@@ -0,0 +1,60 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ register kernel_ulong_t g1 __asm__("g1") = nr;
+ register kernel_ulong_t rval __asm__("o0");
+ __asm__ __volatile__("ta 0x6d\n\t"
+ "bcc,pt %%xcc, 1f\n\t"
+ "mov 0, %0\n\t"
+ "mov 1, %0\n\t"
+ "1:"
+ : "+r"(g1), "=r"(rval)
+ :
+ : "memory", "cc", "f0", "f1", "f2", "f3", "f4",
+ "f5", "f6", "f7", "f8", "f9", "f10", "f11",
+ "f12", "f13", "f14", "f15", "f16", "f17",
+ "f18", "f19", "f20", "f21", "f22", "f23",
+ "f24", "f25", "f26", "f27", "f28", "f29",
+ "f30", "f31", "f32", "f34", "f36", "f38",
+ "f40", "f42", "f44", "f46", "f48", "f50",
+ "f52", "f54", "f56", "f58", "f60", "f62");
+ *err = g1;
+ return rval;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h
index 0b3530e3..fc2e921f 100644
--- a/linux/sparc64/syscallent.h
+++ b/linux/sparc64/syscallent.h
@@ -336,7 +336,7 @@
[337] = { 2, TD, SEN(setns), "setns" },
[338] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
[339] = { 6, 0, SEN(process_vm_writev), "process_vm_writev" },
-[340] = { 0, PU|NF, SEN(printargs), "kern_features" },
+[340] = { 0, PU, SEN(kern_features), "kern_features" },
[341] = { 5, 0, SEN(kcmp), "kcmp" },
[342] = { 3, TD, SEN(finit_module), "finit_module" },
[343] = { 3, 0, SEN(sched_setattr), "sched_setattr" },
diff --git a/linux/tile/arch_defs_.h b/linux/tile/arch_defs_.h
index 34a56248..b9265979 100644
--- a/linux/tile/arch_defs_.h
+++ b/linux/tile/arch_defs_.h
@@ -1,4 +1,5 @@
#define SUPPORTED_PERSONALITIES 2
+#define CAN_ARCH_BE_COMPAT_ON_64BIT_KERNEL 1
#ifdef __tilepro__
# define DEFAULT_PERSONALITY 1
diff --git a/linux/tile/raw_syscall.h b/linux/tile/raw_syscall.h
new file mode 100644
index 00000000..c46bf157
--- /dev/null
+++ b/linux/tile/raw_syscall.h
@@ -0,0 +1,53 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ kernel_ulong_t r, e, c2, c3, c4, c5, c10;
+ __asm__ __volatile__("swint1"
+ : "=R00"(r), "=R01"(e),
+ "=R02"(c2), "=R03"(c3), "=R04"(c4),
+ "=R05"(c5), "=R10"(c10)
+ : "R10"(nr)
+ : "memory", "r6", "r7", "r8", "r9", "r11",
+ "r12", "r13", "r14", "r15", "r16", "r17",
+ "r18", "r19", "r20", "r21", "r22", "r23",
+ "r24", "r25", "r26", "r27", "r28", "r29");
+ *err = e;
+ return r;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/x32/ioctls_inc0.h b/linux/x32/ioctls_inc0.h
index 87870e66..73566814 100644
--- a/linux/x32/ioctls_inc0.h
+++ b/linux/x32/ioctls_inc0.h
@@ -216,10 +216,6 @@
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_CREATE", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_GET", _IOC_READ|_IOC_WRITE, 0x6444, 0x10 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_GEM_MAP", _IOC_READ|_IOC_WRITE, 0x6441, 0x10 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_CMD_CTRL", _IOC_READ|_IOC_WRITE, 0x6473, 0x08 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6470, 0x50 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF", _IOC_READ|_IOC_WRITE, 0x6472, 0x28 },
-{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY", _IOC_READ|_IOC_WRITE, 0x6471, 0x60 },
{ "drm/exynos_drm.h", "DRM_IOCTL_EXYNOS_VIDI_CONNECTION", _IOC_READ|_IOC_WRITE, 0x6447, 0x10 },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_CLEAR", _IOC_WRITE, 0x6442, 0x0c },
{ "drm/i810_drm.h", "DRM_IOCTL_I810_COPY", _IOC_WRITE, 0x6447, 0x0c },
@@ -806,9 +802,14 @@
{ "linux/dvb/ca.h", "CA_SEND_MSG", _IOC_WRITE, 0x6f85, 0x10c },
{ "linux/dvb/ca.h", "CA_SET_DESCR", _IOC_WRITE, 0x6f86, 0x10 },
{ "linux/dvb/dmx.h", "DMX_ADD_PID", _IOC_WRITE, 0x6f33, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_DQBUF", _IOC_READ|_IOC_WRITE, 0x6f40, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_EXPBUF", _IOC_READ|_IOC_WRITE, 0x6f3e, 0x0c },
{ "linux/dvb/dmx.h", "DMX_GET_PES_PIDS", _IOC_READ, 0x6f2f, 0x0a },
{ "linux/dvb/dmx.h", "DMX_GET_STC", _IOC_READ|_IOC_WRITE, 0x6f32, 0x10 },
+{ "linux/dvb/dmx.h", "DMX_QBUF", _IOC_READ|_IOC_WRITE, 0x6f3f, 0x18 },
+{ "linux/dvb/dmx.h", "DMX_QUERYBUF", _IOC_READ|_IOC_WRITE, 0x6f3d, 0x18 },
{ "linux/dvb/dmx.h", "DMX_REMOVE_PID", _IOC_WRITE, 0x6f34, 0x02 },
+{ "linux/dvb/dmx.h", "DMX_REQBUFS", _IOC_READ|_IOC_WRITE, 0x6f3c, 0x08 },
{ "linux/dvb/dmx.h", "DMX_SET_BUFFER_SIZE", _IOC_NONE, 0x6f2d, 0x00 },
{ "linux/dvb/dmx.h", "DMX_SET_FILTER", _IOC_WRITE, 0x6f2b, 0x3c },
{ "linux/dvb/dmx.h", "DMX_SET_PES_FILTER", _IOC_WRITE, 0x6f2c, 0x14 },
@@ -1142,6 +1143,7 @@
{ "linux/if_tun.h", "TUNGETVNETHDRSZ", _IOC_READ, 0x54d7, 0x04 },
{ "linux/if_tun.h", "TUNGETVNETLE", _IOC_READ, 0x54dd, 0x04 },
{ "linux/if_tun.h", "TUNSETDEBUG", _IOC_WRITE, 0x54c9, 0x04 },
+{ "linux/if_tun.h", "TUNSETFILTEREBPF", _IOC_READ, 0x54e1, 0x04 },
{ "linux/if_tun.h", "TUNSETGROUP", _IOC_WRITE, 0x54ce, 0x04 },
{ "linux/if_tun.h", "TUNSETIFF", _IOC_WRITE, 0x54ca, 0x04 },
{ "linux/if_tun.h", "TUNSETIFINDEX", _IOC_WRITE, 0x54da, 0x04 },
@@ -1152,6 +1154,7 @@
{ "linux/if_tun.h", "TUNSETPERSIST", _IOC_WRITE, 0x54cb, 0x04 },
{ "linux/if_tun.h", "TUNSETQUEUE", _IOC_WRITE, 0x54d9, 0x04 },
{ "linux/if_tun.h", "TUNSETSNDBUF", _IOC_WRITE, 0x54d4, 0x04 },
+{ "linux/if_tun.h", "TUNSETSTEERINGEBPF", _IOC_READ, 0x54e0, 0x04 },
{ "linux/if_tun.h", "TUNSETTXFILTER", _IOC_WRITE, 0x54d1, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETBE", _IOC_WRITE, 0x54de, 0x04 },
{ "linux/if_tun.h", "TUNSETVNETHDRSZ", _IOC_WRITE, 0x54d8, 0x04 },
@@ -1351,6 +1354,7 @@
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_EVENT", _IOC_WRITE, 0x4b0a, 0x08 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_SCRATCH_BACKING_VA", _IOC_READ|_IOC_WRITE, 0x4b11, 0x10 },
+{ "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_TRAP_HANDLER", _IOC_WRITE, 0x4b13, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
{ "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
@@ -1393,6 +1397,7 @@
{ "linux/loop.h", "LOOP_SET_FD", 0, 0x4C00, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS", 0, 0x4C02, 0 },
{ "linux/loop.h", "LOOP_SET_STATUS64", 0, 0x4C04, 0 },
+{ "linux/lp.h", "LPSETTIMEOUT_NEW", _IOC_WRITE, 0x060f, 0x10 },
{ "linux/mISDNif.h", "IMADDTIMER", _IOC_READ, 0x4940, 0x04 },
{ "linux/mISDNif.h", "IMCLEAR_L2", _IOC_READ, 0x4946, 0x04 },
{ "linux/mISDNif.h", "IMCTRLREQ", _IOC_READ, 0x4945, 0x04 },
@@ -1481,8 +1486,6 @@
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e05, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_GET_CONFIG_SIZE", _IOC_READ|_IOC_WRITE, 0x4e04, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_SET_CONFIG_DATA", _IOC_READ|_IOC_WRITE, 0x4e06, 0x08 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART", _IOC_READ|_IOC_WRITE, 0x4e01, 0x84 },
-{ "linux/ndctl.h", "ND_IOCTL_SMART_THRESHOLD", _IOC_READ|_IOC_WRITE, 0x4e02, 0x0c },
{ "linux/ndctl.h", "ND_IOCTL_VENDOR", _IOC_READ|_IOC_WRITE, 0x4e09, 0x08 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CHANGE_CPMODE", _IOC_WRITE, 0x6e80, 0x10 },
{ "linux/nilfs2_api.h", "NILFS_IOCTL_CLEAN_SEGMENTS", _IOC_WRITE, 0x6e88, 0x78 },
@@ -1551,6 +1554,7 @@
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PAUSE_OUTPUT", _IOC_WRITE, 0x2409, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_PERIOD", _IOC_WRITE, 0x2404, 0x08 },
+{ "linux/perf_event.h", "PERF_EVENT_IOC_QUERY_BPF", _IOC_READ|_IOC_WRITE, 0x240a, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_REFRESH", _IOC_NONE, 0x2402, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_RESET", _IOC_NONE, 0x2403, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_SET_BPF", _IOC_WRITE, 0x2408, 0x04 },
@@ -1638,6 +1642,7 @@
{ "linux/pr.h", "IOC_PR_REGISTER", _IOC_WRITE, 0x70c8, 0x18 },
{ "linux/pr.h", "IOC_PR_RELEASE", _IOC_WRITE, 0x70ca, 0x10 },
{ "linux/pr.h", "IOC_PR_RESERVE", _IOC_WRITE, 0x70c9, 0x10 },
+{ "linux/psp-sev.h", "SEV_ISSUE_CMD", _IOC_READ|_IOC_WRITE, 0x5300, 0x10 },
{ "linux/ptp_clock.h", "PTP_CLOCK_GETCAPS", _IOC_READ, 0x3d01, 0x50 },
{ "linux/ptp_clock.h", "PTP_ENABLE_PPS", _IOC_WRITE, 0x3d04, 0x04 },
{ "linux/ptp_clock.h", "PTP_EXTTS_REQUEST", _IOC_WRITE, 0x3d02, 0x10 },
@@ -2013,6 +2018,7 @@
{ "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_SHM_REGISTER", _IOC_READ|_IOC_WRITE, 0xa409, 0x18 },
{ "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 },
@@ -2177,12 +2183,24 @@
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FMT", _IOC_READ|_IOC_WRITE, 0x5605, 0x58 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_FRAME_INTERVAL", _IOC_READ|_IOC_WRITE, 0x5616, 0x30 },
{ "linux/v4l2-subdev.h", "VIDIOC_SUBDEV_S_SELECTION", _IOC_READ|_IOC_WRITE, 0x563e, 0x40 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_FILTER_MASK", _IOC_READ|_IOC_WRITE, 0x560c, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHANGE_GUEST_CAPABILITIES", _IOC_READ|_IOC_WRITE, 0x560e, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_CHECK_BALLOON", _IOC_READ|_IOC_WRITE, 0x5611, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_DRIVER_VERSION_INFO", _IOC_READ|_IOC_WRITE, 0x5600, 0x2c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_CONNECT", _IOC_READ|_IOC_WRITE, 0x5604, 0x9c },
+{ "linux/vboxguest.h", "VBG_IOCTL_HGCM_DISCONNECT", _IOC_READ|_IOC_WRITE, 0x5605, 0x1c },
+{ "linux/vboxguest.h", "VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560b, 0x18 },
+{ "linux/vboxguest.h", "VBG_IOCTL_VMMDEV_REQUEST_BIG", _IOC_READ|_IOC_WRITE, 0x5603, 0x00 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WAIT_FOR_EVENTS", _IOC_READ|_IOC_WRITE, 0x560a, 0x20 },
+{ "linux/vboxguest.h", "VBG_IOCTL_WRITE_CORE_DUMP", _IOC_READ|_IOC_WRITE, 0x5613, 0x1c },
{ "linux/vfio.h", "VFIO_CHECK_EXTENSION", _IOC_NONE, 0x3b65, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_GET_GFX_DMABUF", _IOC_NONE, 0x3b73, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_INFO", _IOC_NONE, 0x3b6b, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_IRQ_INFO", _IOC_NONE, 0x3b6d, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_PCI_HOT_RESET_INFO", _IOC_NONE, 0x3b70, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_GET_REGION_INFO", _IOC_NONE, 0x3b6c, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_PCI_HOT_RESET", _IOC_NONE, 0x3b71, 0x00 },
+{ "linux/vfio.h", "VFIO_DEVICE_QUERY_GFX_PLANE", _IOC_NONE, 0x3b72, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_RESET", _IOC_NONE, 0x3b6f, 0x00 },
{ "linux/vfio.h", "VFIO_DEVICE_SET_IRQS", _IOC_NONE, 0x3b6e, 0x00 },
{ "linux/vfio.h", "VFIO_EEH_PE_OP", _IOC_NONE, 0x3b79, 0x00 },
@@ -2432,6 +2450,11 @@
{ "misc/cxl.h", "CXL_IOCTL_GET_PROCESS_ELEMENT", _IOC_READ, 0xca01, 0x04 },
{ "misc/cxl.h", "CXL_IOCTL_START_WORK", _IOC_WRITE, 0xca00, 0x40 },
{ "misc/cxl.h", "CXL_IOCTL_VALIDATE_IMAGE", _IOC_WRITE, 0xca0b, 0x40 },
+{ "misc/ocxl.h", "OCXL_IOCTL_ATTACH", _IOC_WRITE, 0xca10, 0x20 },
+{ "misc/ocxl.h", "OCXL_IOCTL_GET_METADATA", _IOC_READ, 0xca14, 0x80 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_ALLOC", _IOC_READ, 0xca11, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_FREE", _IOC_WRITE, 0xca12, 0x08 },
+{ "misc/ocxl.h", "OCXL_IOCTL_IRQ_SET_FD", _IOC_WRITE, 0xca13, 0x10 },
{ "mtd/mtd-abi.h", "ECCGETLAYOUT", _IOC_READ, 0x4d11, 0x148 },
{ "mtd/mtd-abi.h", "ECCGETSTATS", _IOC_READ, 0x4d12, 0x10 },
{ "mtd/mtd-abi.h", "MEMERASE", _IOC_WRITE, 0x4d02, 0x08 },
diff --git a/linux/x32/raw_syscall.h b/linux/x32/raw_syscall.h
new file mode 100644
index 00000000..6582aa8f
--- /dev/null
+++ b/linux/x32/raw_syscall.h
@@ -0,0 +1 @@
+#include "x86_64/raw_syscall.h"
diff --git a/linux/x86_64/arch_regs.h b/linux/x86_64/arch_regs.h
index c2ccee67..d502ca4b 100644
--- a/linux/x86_64/arch_regs.h
+++ b/linux/x86_64/arch_regs.h
@@ -1,2 +1,31 @@
extern uint32_t *const i386_esp_ptr;
extern uint64_t *const x86_64_rsp_ptr;
+
+/* <asm/ptrace.h> does not provide these definitions. */
+#define R15 0
+#define R14 1
+#define R13 2
+#define R12 3
+#define RBP 4
+#define RBX 5
+#define R11 6
+#define R10 7
+#define R9 8
+#define R8 9
+#define RAX 10
+#define RCX 11
+#define RDX 12
+#define RSI 13
+#define RDI 14
+#define ORIG_RAX 15
+#define RIP 16
+#define CS 17
+#define EFLAGS 18
+#define RSP 19
+#define SS 20
+#define FS_BASE 21
+#define GS_BASE 22
+#define DS 23
+#define ES 24
+#define FS 25
+#define GS 26
diff --git a/linux/x86_64/getregs_old.c b/linux/x86_64/getregs_old.c
index b96a0d54..60281dde 100644
--- a/linux/x86_64/getregs_old.c
+++ b/linux/x86_64/getregs_old.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2013 Denys Vlasenko <vda.linux@googlemail.com>
* Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/linux/x86_64/ioctls_arch0.h b/linux/x86_64/ioctls_arch0.h
index 3e5c7cb2..8d6ababd 100644
--- a/linux/x86_64/ioctls_arch0.h
+++ b/linux/x86_64/ioctls_arch0.h
@@ -42,6 +42,7 @@
{ "linux/kvm.h", "KVM_GET_LAPIC", _IOC_READ, 0xae8e, 0x400 },
{ "linux/kvm.h", "KVM_GET_MP_STATE", _IOC_READ, 0xae98, 0x04 },
{ "linux/kvm.h", "KVM_GET_MSRS", _IOC_READ|_IOC_WRITE, 0xae88, 0x08 },
+{ "linux/kvm.h", "KVM_GET_MSR_FEATURE_INDEX_LIST", _IOC_READ|_IOC_WRITE, 0xae0a, 0x04 },
{ "linux/kvm.h", "KVM_GET_MSR_INDEX_LIST", _IOC_READ|_IOC_WRITE, 0xae02, 0x04 },
{ "linux/kvm.h", "KVM_GET_NR_MMU_PAGES", _IOC_NONE, 0xae45, 0x00 },
{ "linux/kvm.h", "KVM_GET_ONE_REG", _IOC_WRITE, 0xaeab, 0x10 },
@@ -63,6 +64,9 @@
{ "linux/kvm.h", "KVM_IRQ_LINE", _IOC_WRITE, 0xae61, 0x08 },
{ "linux/kvm.h", "KVM_IRQ_LINE_STATUS", _IOC_READ|_IOC_WRITE, 0xae67, 0x08 },
{ "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_OP", _IOC_READ|_IOC_WRITE, 0xaeba, 0x08 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_REG_REGION", _IOC_READ, 0xaebb, 0x10 },
+{ "linux/kvm.h", "KVM_MEMORY_ENCRYPT_UNREG_REGION", _IOC_READ, 0xaebc, 0x10 },
{ "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
{ "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
{ "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
diff --git a/linux/x86_64/raw_syscall.h b/linux/x86_64/raw_syscall.h
new file mode 100644
index 00000000..a22e64c4
--- /dev/null
+++ b/linux/x86_64/raw_syscall.h
@@ -0,0 +1,48 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ kernel_ulong_t ret;
+ __asm__ __volatile__("syscall"
+ : "=a"(ret)
+ : "a"(nr)
+ : "memory", "cc", "rcx", "r11");
+ return ret;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/linux/xtensa/raw_syscall.h b/linux/xtensa/raw_syscall.h
new file mode 100644
index 00000000..b36dd534
--- /dev/null
+++ b/linux/xtensa/raw_syscall.h
@@ -0,0 +1,48 @@
+/*
+ * Raw syscalls.
+ *
+ * Copyright (c) 2018 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_RAW_SYSCALL_H
+#define STRACE_RAW_SYSCALL_H
+
+# include "kernel_types.h"
+
+static inline kernel_ulong_t
+raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err)
+{
+ *err = 0;
+ register kernel_ulong_t a2 __asm__("a2") = nr;
+ __asm__ __volatile__("syscall"
+ : "=a"(a2)
+ : "r"(a2)
+ : "memory");
+ return a2;
+}
+# define raw_syscall_0 raw_syscall_0
+
+#endif /* !STRACE_RAW_SYSCALL_H */
diff --git a/loop.c b/loop.c
index 33bd0385..ad60770f 100644
--- a/loop.c
+++ b/loop.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2012 The Chromium OS Authors.
- * Copyright (c) 2012-2017 The strace developers.
+ * Copyright (c) 2012-2018 The strace developers.
* Written by Mike Frysinger <vapier@gentoo.org>.
*
* Redistribution and use in source and binary forms, with or without
@@ -156,7 +156,7 @@ MPERS_PRINTER_DECL(int, loop_ioctl,
case LOOP_GET_STATUS:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case LOOP_SET_STATUS:
decode_loop_info(tcp, arg);
break;
@@ -164,7 +164,7 @@ MPERS_PRINTER_DECL(int, loop_ioctl,
case LOOP_GET_STATUS64:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case LOOP_SET_STATUS64:
decode_loop_info64(tcp, arg);
break;
diff --git a/lseek.c b/lseek.c
index 18d847b6..fbc99cc4 100644
--- a/lseek.c
+++ b/lseek.c
@@ -8,6 +8,7 @@
* Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
* Copyright (c) 2013 Denys Vlasenko <vda.linux@googlemail.com>
* Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -62,7 +63,7 @@ SYS_FUNC(lseek)
printxval(whence_codes, tcp->u_arg[2], "SEEK_???");
- return RVAL_DECODED | RVAL_UDECIMAL;
+ return RVAL_DECODED;
}
/* llseek syscall takes explicitly two ulong arguments hi, lo,
diff --git a/m32_funcs.h b/m32_funcs.h
new file mode 100644
index 00000000..e96342bc
--- /dev/null
+++ b/m32_funcs.h
@@ -0,0 +1,23 @@
+#undef sys_readdir
+#define sys_readdir m32_sys_readdir
+#undef sys_getdents
+#define sys_getdents m32_sys_getdents
+#undef sys_msgctl
+#define sys_msgctl m32_sys_msgctl
+#undef sys_shmctl
+#define sys_shmctl m32_sys_shmctl
+#undef sys_time
+#define sys_time m32_sys_time
+#undef sys_rt_sigreturn
+#define sys_rt_sigreturn m32_sys_rt_sigreturn
+#undef sys_sigaltstack
+#define sys_sigaltstack m32_sys_sigaltstack
+#undef sys_sysinfo
+#define sys_sysinfo m32_sys_sysinfo
+#undef sys_times
+#define sys_times m32_sys_times
+#undef sys_ustat
+#define sys_ustat m32_sys_ustat
+#undef sys_utime
+#define sys_utime m32_sys_utime
+#include "sys_func.h"
diff --git a/m32_printer_decls.h b/m32_printer_decls.h
new file mode 100644
index 00000000..bd1dee35
--- /dev/null
+++ b/m32_printer_decls.h
@@ -0,0 +1,44 @@
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev_mpers.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+extern int m32_block_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int m32_btrfs_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int m32_evdev_write_ioctl_mpers(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern unsigned int m32_get_sock_fprog_size(void);
+extern _Bool m32_fetch_bpf_fprog(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
+extern _Bool m32_fetch_struct_flock(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
+extern _Bool m32_fetch_struct_flock64(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
+extern int m32_fetch_keyctl_kdf_params(struct tcb *const tcp, kernel_ulong_t addr, struct strace_keyctl_kdf_params *p);
+extern int m32_fetch_struct_mmsghdr(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
+extern unsigned int m32_sizeof_struct_mmsghdr(void);
+extern int m32_fetch_struct_msghdr(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
+extern _Bool m32_fetch_struct_stat(struct tcb *const tcp, const kernel_ulong_t addr, struct strace_stat *const dst);
+extern _Bool m32_fetch_struct_stat64(struct tcb *const tcp, const kernel_ulong_t addr, struct strace_stat *const dst);
+extern _Bool m32_fetch_struct_statfs(struct tcb *const tcp, const kernel_ulong_t addr, struct strace_statfs *const p);
+extern _Bool m32_fetch_struct_statfs64(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t size, struct strace_statfs *const p);
+extern int m32_hdio_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int m32_loop_ioctl(struct tcb *tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int m32_mtd_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern void m32_print_group_req(struct tcb *const tcp, const kernel_ulong_t addr, const int len);
+extern void m32_printmqattr(struct tcb *const tcp, const kernel_ulong_t addr, const _Bool decode_flags);
+extern void m32_tprint_msgbuf(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t count);
+extern int m32_decode_sg_req_info(struct tcb *const tcp, const kernel_ulong_t arg);
+extern void m32_print_sigevent(struct tcb *const tcp, const kernel_ulong_t addr);
+extern _Bool m32_print_struct_timespec_data_size(const void *arg, const size_t size);
+extern _Bool m32_print_struct_timespec_array_data_size(const void *arg, const unsigned int nmemb, const size_t size);
+extern void m32_print_timespec(struct tcb *const tcp, const kernel_ulong_t addr);
+extern const char * m32_sprint_timespec(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_timespec_utime_pair(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_itimerspec(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_struct_timeval(const void *arg);
+extern _Bool m32_print_struct_timeval_data_size(const void *arg, const size_t size);
+extern void m32_print_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_timeval_utimes(struct tcb *const tcp, const kernel_ulong_t addr);
+extern const char * m32_sprint_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_itimerval(struct tcb *const tcp, const kernel_ulong_t addr);
+extern int m32_print_timex(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_printrusage(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_printsiginfo_at(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_siginfo_array(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t len);
+extern int m32_rtc_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int m32_decode_sg_io_v3(struct tcb *const tcp, const kernel_ulong_t arg);
+extern int m32_sock_ioctl(struct tcb *tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int m32_v4l2_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
diff --git a/m32_printer_defs.h b/m32_printer_defs.h
new file mode 100644
index 00000000..9551ea9d
--- /dev/null
+++ b/m32_printer_defs.h
@@ -0,0 +1,44 @@
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev_mpers.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+.block_ioctl = m32_block_ioctl,
+.btrfs_ioctl = m32_btrfs_ioctl,
+.evdev_write_ioctl_mpers = m32_evdev_write_ioctl_mpers,
+.get_sock_fprog_size = m32_get_sock_fprog_size,
+.fetch_bpf_fprog = m32_fetch_bpf_fprog,
+.fetch_struct_flock = m32_fetch_struct_flock,
+.fetch_struct_flock64 = m32_fetch_struct_flock64,
+.fetch_keyctl_kdf_params = m32_fetch_keyctl_kdf_params,
+.fetch_struct_mmsghdr = m32_fetch_struct_mmsghdr,
+.sizeof_struct_mmsghdr = m32_sizeof_struct_mmsghdr,
+.fetch_struct_msghdr = m32_fetch_struct_msghdr,
+.fetch_struct_stat = m32_fetch_struct_stat,
+.fetch_struct_stat64 = m32_fetch_struct_stat64,
+.fetch_struct_statfs = m32_fetch_struct_statfs,
+.fetch_struct_statfs64 = m32_fetch_struct_statfs64,
+.hdio_ioctl = m32_hdio_ioctl,
+.loop_ioctl = m32_loop_ioctl,
+.mtd_ioctl = m32_mtd_ioctl,
+.print_group_req = m32_print_group_req,
+.printmqattr = m32_printmqattr,
+.tprint_msgbuf = m32_tprint_msgbuf,
+.decode_sg_req_info = m32_decode_sg_req_info,
+.print_sigevent = m32_print_sigevent,
+.print_struct_timespec_data_size = m32_print_struct_timespec_data_size,
+.print_struct_timespec_array_data_size = m32_print_struct_timespec_array_data_size,
+.print_timespec = m32_print_timespec,
+.sprint_timespec = m32_sprint_timespec,
+.print_timespec_utime_pair = m32_print_timespec_utime_pair,
+.print_itimerspec = m32_print_itimerspec,
+.print_struct_timeval = m32_print_struct_timeval,
+.print_struct_timeval_data_size = m32_print_struct_timeval_data_size,
+.print_timeval = m32_print_timeval,
+.print_timeval_utimes = m32_print_timeval_utimes,
+.sprint_timeval = m32_sprint_timeval,
+.print_itimerval = m32_print_itimerval,
+.print_timex = m32_print_timex,
+.printrusage = m32_printrusage,
+.printsiginfo_at = m32_printsiginfo_at,
+.print_siginfo_array = m32_print_siginfo_array,
+.rtc_ioctl = m32_rtc_ioctl,
+.decode_sg_io_v3 = m32_decode_sg_io_v3,
+.sock_ioctl = m32_sock_ioctl,
+.v4l2_ioctl = m32_v4l2_ioctl,
diff --git a/m32_type_defs.h b/m32_type_defs.h
new file mode 100644
index 00000000..d379ecd7
--- /dev/null
+++ b/m32_type_defs.h
@@ -0,0 +1,166 @@
+#ifdef MPERS_m32_struct_blk_user_trace_setup
+# define struct_blk_user_trace_setup MPERS_m32_struct_blk_user_trace_setup
+#endif
+#ifdef MPERS_m32_struct_blkpg_ioctl_arg
+# define struct_blkpg_ioctl_arg MPERS_m32_struct_blkpg_ioctl_arg
+#endif
+#ifdef MPERS_m32_struct_blkpg_partition
+# define struct_blkpg_partition MPERS_m32_struct_blkpg_partition
+#endif
+#ifdef MPERS_m32_struct_btrfs_ioctl_dev_replace_args
+# define struct_btrfs_ioctl_dev_replace_args MPERS_m32_struct_btrfs_ioctl_dev_replace_args
+#endif
+#ifdef MPERS_m32_struct_btrfs_ioctl_send_args
+# define struct_btrfs_ioctl_send_args MPERS_m32_struct_btrfs_ioctl_send_args
+#endif
+#ifdef MPERS_m32_struct_btrfs_ioctl_received_subvol_args
+# define struct_btrfs_ioctl_received_subvol_args MPERS_m32_struct_btrfs_ioctl_received_subvol_args
+#endif
+#ifdef MPERS_m32_struct_btrfs_ioctl_vol_args_v2
+# define struct_btrfs_ioctl_vol_args_v2 MPERS_m32_struct_btrfs_ioctl_vol_args_v2
+#endif
+#ifdef MPERS_m32_kernel_dirent
+# define kernel_dirent MPERS_m32_kernel_dirent
+#endif
+#ifdef MPERS_m32_struct_ff_effect
+# define struct_ff_effect MPERS_m32_struct_ff_effect
+#endif
+#ifdef MPERS_m32_struct_sock_fprog
+# define struct_sock_fprog MPERS_m32_struct_sock_fprog
+#endif
+#ifdef MPERS_m32_struct_flock
+# define struct_flock MPERS_m32_struct_flock
+#endif
+#ifdef MPERS_m32_struct_flock64
+# define struct_flock64 MPERS_m32_struct_flock64
+#endif
+#ifdef MPERS_m32_struct_keyctl_kdf_params
+# define struct_keyctl_kdf_params MPERS_m32_struct_keyctl_kdf_params
+#endif
+#ifdef MPERS_m32_struct_mmsghdr
+# define struct_mmsghdr MPERS_m32_struct_mmsghdr
+#endif
+#ifdef MPERS_m32_struct_msghdr
+# define struct_msghdr MPERS_m32_struct_msghdr
+#endif
+#ifdef MPERS_m32_struct_stat
+# define struct_stat MPERS_m32_struct_stat
+#endif
+#ifdef MPERS_m32_struct_stat64
+# define struct_stat64 MPERS_m32_struct_stat64
+#endif
+#ifdef MPERS_m32_struct_statfs
+# define struct_statfs MPERS_m32_struct_statfs
+#endif
+#ifdef MPERS_m32_struct_statfs64
+# define struct_statfs64 MPERS_m32_struct_statfs64
+#endif
+#ifdef MPERS_m32_struct_hd_geometry
+# define struct_hd_geometry MPERS_m32_struct_hd_geometry
+#endif
+#ifdef MPERS_m32_msqid_ds_t
+# define msqid_ds_t MPERS_m32_msqid_ds_t
+#endif
+#ifdef MPERS_m32_shmid_ds_t
+# define shmid_ds_t MPERS_m32_shmid_ds_t
+#endif
+#ifdef MPERS_m32_struct_loop_info
+# define struct_loop_info MPERS_m32_struct_loop_info
+#endif
+#ifdef MPERS_m32_struct_mtd_oob_buf
+# define struct_mtd_oob_buf MPERS_m32_struct_mtd_oob_buf
+#endif
+#ifdef MPERS_m32_struct_group_req
+# define struct_group_req MPERS_m32_struct_group_req
+#endif
+#ifdef MPERS_m32_mq_attr_t
+# define mq_attr_t MPERS_m32_mq_attr_t
+#endif
+#ifdef MPERS_m32_msgbuf_t
+# define msgbuf_t MPERS_m32_msgbuf_t
+#endif
+#ifdef MPERS_m32_struct_sg_req_info
+# define struct_sg_req_info MPERS_m32_struct_sg_req_info
+#endif
+#ifdef MPERS_m32_struct_sigevent
+# define struct_sigevent MPERS_m32_struct_sigevent
+#endif
+#ifdef MPERS_m32_time_t
+# define time_t MPERS_m32_time_t
+#endif
+#ifdef MPERS_m32_timespec_t
+# define timespec_t MPERS_m32_timespec_t
+#endif
+#ifdef MPERS_m32_timeval_t
+# define timeval_t MPERS_m32_timeval_t
+#endif
+#ifdef MPERS_m32_struct_timex
+# define struct_timex MPERS_m32_struct_timex
+#endif
+#ifdef MPERS_m32_rusage_t
+# define rusage_t MPERS_m32_rusage_t
+#endif
+#ifdef MPERS_m32_siginfo_t
+# define siginfo_t MPERS_m32_siginfo_t
+#endif
+#ifdef MPERS_m32_struct_rt_sigframe
+# define struct_rt_sigframe MPERS_m32_struct_rt_sigframe
+#endif
+#ifdef MPERS_m32_struct_rtc_pll_info
+# define struct_rtc_pll_info MPERS_m32_struct_rtc_pll_info
+#endif
+#ifdef MPERS_m32_struct_sg_io_hdr
+# define struct_sg_io_hdr MPERS_m32_struct_sg_io_hdr
+#endif
+#ifdef MPERS_m32_stack_t
+# define stack_t MPERS_m32_stack_t
+#endif
+#ifdef MPERS_m32_struct_ifconf
+# define struct_ifconf MPERS_m32_struct_ifconf
+#endif
+#ifdef MPERS_m32_struct_ifreq
+# define struct_ifreq MPERS_m32_struct_ifreq
+#endif
+#ifdef MPERS_m32_sysinfo_t
+# define sysinfo_t MPERS_m32_sysinfo_t
+#endif
+#ifdef MPERS_m32_tms_t
+# define tms_t MPERS_m32_tms_t
+#endif
+#ifdef MPERS_m32_struct_ustat
+# define struct_ustat MPERS_m32_struct_ustat
+#endif
+#ifdef MPERS_m32_utimbuf_t
+# define utimbuf_t MPERS_m32_utimbuf_t
+#endif
+#ifdef MPERS_m32_struct_v4l2_buffer
+# define struct_v4l2_buffer MPERS_m32_struct_v4l2_buffer
+#endif
+#ifdef MPERS_m32_struct_v4l2_clip
+# define struct_v4l2_clip MPERS_m32_struct_v4l2_clip
+#endif
+#ifdef MPERS_m32_struct_v4l2_create_buffers
+# define struct_v4l2_create_buffers MPERS_m32_struct_v4l2_create_buffers
+#endif
+#ifdef MPERS_m32_struct_v4l2_ext_control
+# define struct_v4l2_ext_control MPERS_m32_struct_v4l2_ext_control
+#endif
+#ifdef MPERS_m32_struct_v4l2_ext_controls
+# define struct_v4l2_ext_controls MPERS_m32_struct_v4l2_ext_controls
+#endif
+#ifdef MPERS_m32_struct_v4l2_format
+# define struct_v4l2_format MPERS_m32_struct_v4l2_format
+#endif
+#ifdef MPERS_m32_struct_v4l2_framebuffer
+# define struct_v4l2_framebuffer MPERS_m32_struct_v4l2_framebuffer
+#endif
+#ifdef MPERS_m32_struct_v4l2_input
+# define struct_v4l2_input MPERS_m32_struct_v4l2_input
+#endif
+#ifdef MPERS_m32_struct_v4l2_standard
+# define struct_v4l2_standard MPERS_m32_struct_v4l2_standard
+#endif
+#undef MPERS_PRINTER_NAME
+#define MPERS_PRINTER_NAME(printer_name) printer_name
+#include "m32_printer_decls.h"
+#include MPERS_m32_IOCTL_MACROS
diff --git a/m4/bpf_attr.m4 b/m4/bpf_attr.m4
new file mode 100644
index 00000000..a90373b7
--- /dev/null
+++ b/m4/bpf_attr.m4
@@ -0,0 +1,51 @@
+dnl Generated by ./m4/gen_bpf_attr_m4.sh from bpf_attr.h; do not edit.
+AC_DEFUN([st_BPF_ATTR], [dnl
+ AC_CHECK_MEMBERS(m4_normalize([
+ union bpf_attr.attach_bpf_fd,
+ union bpf_attr.attach_flags,
+ union bpf_attr.attach_type,
+ union bpf_attr.bpf_fd,
+ union bpf_attr.dummy,
+ union bpf_attr.file_flags,
+ union bpf_attr.flags,
+ union bpf_attr.inner_map_fd,
+ union bpf_attr.insn_cnt,
+ union bpf_attr.insns,
+ union bpf_attr.kern_version,
+ union bpf_attr.key,
+ union bpf_attr.key_size,
+ union bpf_attr.license,
+ union bpf_attr.log_buf,
+ union bpf_attr.log_level,
+ union bpf_attr.log_size,
+ union bpf_attr.map_fd,
+ union bpf_attr.map_flags,
+ union bpf_attr.map_id,
+ union bpf_attr.map_type,
+ union bpf_attr.max_entries,
+ union bpf_attr.next_id,
+ union bpf_attr.next_key,
+ union bpf_attr.numa_node,
+ union bpf_attr.open_flags,
+ union bpf_attr.pathname,
+ union bpf_attr.prog_flags,
+ union bpf_attr.prog_id,
+ union bpf_attr.prog_type,
+ union bpf_attr.start_id,
+ union bpf_attr.target_fd,
+ union bpf_attr.value,
+ union bpf_attr.value_size,
+ union bpf_attr.test.data_in,
+ union bpf_attr.test.data_out,
+ union bpf_attr.test.data_size_in,
+ union bpf_attr.test.data_size_out,
+ union bpf_attr.test.duration,
+ union bpf_attr.test.prog_fd,
+ union bpf_attr.test.repeat,
+ union bpf_attr.test.retval,
+ union bpf_attr.info.bpf_fd,
+ union bpf_attr.info.info,
+ union bpf_attr.info.info_len,
+ union bpf_attr.dummy
+ ]),,, [#include <linux/bpf.h>])
+])
diff --git a/m4/mpers.m4 b/m4/mpers.m4
index 6b471853..78598773 100644
--- a/m4/mpers.m4
+++ b/m4/mpers.m4
@@ -62,7 +62,7 @@ AC_DEFUN([st_MPERS_STRUCT_STAT], [
st_MPERS_LOAD_AC_CV([type_struct_stat$1])
AC_CHECK_TYPE([struct stat$1],
AC_DEFINE([HAVE_]MPERS_NAME[_STRUCT_STAT$1], [1],
- [Define to 1 if MPERS_NAME has the type 'struct stat$1'.]),,
+ [Define to 1 if ]mpers_name[ has the type 'struct stat$1'.]),,
[#include <sys/types.h>
#include <asm/stat.h>])
st_MPERS_SAVE_AC_CV([type_struct_stat$1])
@@ -70,7 +70,7 @@ st_MPERS_SAVE_AC_CV([type_struct_stat$1])
st_MPERS_LOAD_AC_CV([member_struct_stat$1_st_mtime_nsec])
AC_CHECK_MEMBER([struct stat$1.st_mtime_nsec],
AC_DEFINE([HAVE_]MPERS_NAME[_STRUCT_STAT$1_ST_MTIME_NSEC], [1],
- [Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat$1'.]),,
+ [Define to 1 if 'st_mtime_nsec' is a member of ]mpers_name[ 'struct stat$1'.]),,
[#include <sys/types.h>
#include <asm/stat.h>])
st_MPERS_SAVE_AC_CV([member_struct_stat$1_st_mtime_nsec])
@@ -122,7 +122,7 @@ case "$arch" in
AC_CACHE_CHECK([whether mpers.sh mpers_name MPERS_CFLAGS works],
[st_cv_mpers],
[if READELF="$READELF" \
- CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS" \
+ CC="$CC" CPP="$CPP" CPPFLAGS="$CPPFLAGS $IFLAG" \
$srcdir/mpers_test.sh [$1] MPERS_CFLAGS; then
st_cv_mpers=yes
else
diff --git a/m4/st_warn_cflags.m4 b/m4/st_warn_cflags.m4
index 04d45442..35f40b58 100644
--- a/m4/st_warn_cflags.m4
+++ b/m4/st_warn_cflags.m4
@@ -3,6 +3,7 @@ gl_WARN_ADD([-Wall])
gl_WARN_ADD([-Wempty-body])
gl_WARN_ADD([-Wformat-security])
gl_WARN_ADD([-Wignored-qualifiers])
+gl_WARN_ADD([-Wimplicit-fallthrough=5])
gl_WARN_ADD([-Winit-self])
gl_WARN_ADD([-Wlogical-op])
gl_WARN_ADD([-Wmissing-parameter-type])
diff --git a/macros.h b/macros.h
index 222a852d..d7e116ee 100644
--- a/macros.h
+++ b/macros.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001-2017 The strace developers.
+ * Copyright (c) 2001-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,9 @@
#ifndef STRACE_MACROS_H
#define STRACE_MACROS_H
+#include <stdbool.h>
+#include <sys/types.h>
+
#include "gcc_compat.h"
#define ARRAY_SIZE(a_) (sizeof(a_) / sizeof((a_)[0]) + MUST_BE_ARRAY(a_))
@@ -48,4 +51,17 @@
(offsetof(type_, member_) + sizeof(((type_ *)0)->member_))
#endif
+static inline bool
+is_filled(const char *ptr, char fill, size_t size)
+{
+ while (size--)
+ if (*ptr++ != fill)
+ return false;
+
+ return true;
+}
+
+#define IS_ARRAY_ZERO(arr_) \
+ is_filled((const char *) (arr_), 0, sizeof(arr_) + MUST_BE_ARRAY(arr_))
+
#endif /* !STRACE_MACROS_H */
diff --git a/mem.c b/mem.c
index aeb4cae2..f79d67cd 100644
--- a/mem.c
+++ b/mem.c
@@ -73,7 +73,10 @@ print_mmap_flags(kernel_ulong_t flags)
const unsigned int hugetlb_value = flags & mask;
flags &= ~mask;
- addflags(mmap_flags, flags);
+ if (flags) {
+ tprints("|");
+ printflags64(mmap_flags, flags, NULL);
+ }
if (hugetlb_value)
tprintf("|%u<<MAP_HUGE_SHIFT",
diff --git a/mmap_cache.c b/mmap_cache.c
new file mode 100644
index 00000000..19f88abe
--- /dev/null
+++ b/mmap_cache.c
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2013 Luca Clementi <luca.clementi@gmail.com>
+ * Copyright (c) 2013-2018 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"
+#include <limits.h>
+
+#include "largefile_wrappers.h"
+#include "mmap_cache.h"
+#include "xstring.h"
+
+static unsigned int mmap_cache_generation;
+static bool use_mmap_cache;
+
+extern void mmap_cache_enable(void)
+{
+ use_mmap_cache = true;
+}
+
+extern bool mmap_cache_is_enabled(void)
+{
+ return use_mmap_cache;
+}
+
+/*
+ * caching of /proc/ID/maps for each process to speed up stack tracing
+ *
+ * The cache must be refreshed after syscalls that affect memory mappings,
+ * e.g. mmap, mprotect, munmap, execve.
+ */
+static void
+build_mmap_cache(struct tcb *tcp)
+{
+ FILE *fp;
+ struct mmap_cache_t *cache_head = NULL;
+ /* start with a small dynamically-allocated array and then expand it */
+ size_t cur_array_size = 0;
+ char filename[sizeof("/proc/4294967296/maps")];
+ char buffer[PATH_MAX + 80];
+
+ xsprintf(filename, "/proc/%u/maps", tcp->pid);
+ fp = fopen_stream(filename, "r");
+ if (!fp) {
+ perror_msg("fopen: %s", filename);
+ return;
+ }
+
+ while (fgets(buffer, sizeof(buffer), fp) != NULL) {
+ struct mmap_cache_t *entry;
+ unsigned long start_addr, end_addr, mmap_offset;
+ char read_bit;
+ char write_bit;
+ char exec_bit;
+ char shared_bit;
+ unsigned long major, minor;
+ char binary_path[sizeof(buffer)];
+
+ if (sscanf(buffer, "%lx-%lx %c%c%c%c %lx %lx:%lx %*d %[^\n]",
+ &start_addr, &end_addr,
+ &read_bit, &write_bit, &exec_bit, &shared_bit,
+ &mmap_offset,
+ &major, &minor,
+ binary_path) != 10)
+ continue;
+
+ /* skip mappings that have unknown protection */
+ if (!(read_bit == '-' || read_bit == 'r'))
+ continue;
+ if (!(write_bit == '-' || write_bit == 'w'))
+ continue;
+ if (!(exec_bit == '-' || exec_bit == 'x'))
+ continue;
+ if (!(shared_bit == 'p' || shared_bit == 's'))
+ continue;
+
+ if (end_addr < start_addr) {
+ error_msg("%s: unrecognized file format", filename);
+ break;
+ }
+
+ /*
+ * sanity check to make sure that we're storing
+ * non-overlapping regions in ascending order
+ */
+ if (tcp->mmap_cache_size > 0) {
+ entry = &cache_head[tcp->mmap_cache_size - 1];
+ if (entry->start_addr == start_addr &&
+ entry->end_addr == end_addr) {
+ /* duplicate entry, e.g. [vsyscall] */
+ continue;
+ }
+ if (start_addr <= entry->start_addr ||
+ start_addr < entry->end_addr) {
+ debug_msg("%s: overlapping memory region: "
+ "\"%s\" [%08lx-%08lx] overlaps with "
+ "\"%s\" [%08lx-%08lx]",
+ filename, binary_path, start_addr,
+ end_addr, entry->binary_filename,
+ entry->start_addr, entry->end_addr);
+ continue;
+ }
+ }
+
+ if (tcp->mmap_cache_size >= cur_array_size)
+ cache_head = xgrowarray(cache_head, &cur_array_size,
+ sizeof(*cache_head));
+
+ entry = &cache_head[tcp->mmap_cache_size];
+ entry->start_addr = start_addr;
+ entry->end_addr = end_addr;
+ entry->mmap_offset = mmap_offset;
+ entry->protections = (
+ 0
+ | ((read_bit == 'r')? MMAP_CACHE_PROT_READABLE : 0)
+ | ((write_bit == 'w')? MMAP_CACHE_PROT_WRITABLE : 0)
+ | ((exec_bit == 'x')? MMAP_CACHE_PROT_EXECUTABLE: 0)
+ | ((shared_bit == 's')? MMAP_CACHE_PROT_SHARED : 0)
+ );
+ entry->major = major;
+ entry->minor = minor;
+ entry->binary_filename = xstrdup(binary_path);
+ tcp->mmap_cache_size++;
+ }
+ fclose(fp);
+ tcp->mmap_cache = cache_head;
+ tcp->mmap_cache_generation = mmap_cache_generation;
+
+ debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p",
+ tcp->mmap_cache_generation,
+ mmap_cache_generation,
+ tcp, tcp->mmap_cache);
+}
+
+/* deleting the cache */
+extern void
+mmap_cache_delete(struct tcb *tcp, const char *caller)
+{
+ unsigned int i;
+
+ debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p, caller=%s",
+ tcp->mmap_cache_generation,
+ mmap_cache_generation,
+ tcp, tcp->mmap_cache, caller);
+
+ for (i = 0; i < tcp->mmap_cache_size; i++) {
+ free(tcp->mmap_cache[i].binary_filename);
+ tcp->mmap_cache[i].binary_filename = NULL;
+ }
+ free(tcp->mmap_cache);
+ tcp->mmap_cache = NULL;
+ tcp->mmap_cache_size = 0;
+}
+
+extern enum mmap_cache_rebuild_result
+mmap_cache_rebuild_if_invalid(struct tcb *tcp, const char *caller)
+{
+ enum mmap_cache_rebuild_result r = MMAP_CACHE_REBUILD_READY;
+ if ((tcp->mmap_cache_generation != mmap_cache_generation)
+ && tcp->mmap_cache)
+ mmap_cache_delete(tcp, caller);
+
+ if (!tcp->mmap_cache) {
+ r = MMAP_CACHE_REBUILD_RENEWED;
+ build_mmap_cache(tcp);
+ }
+
+ if (!(tcp->mmap_cache && tcp->mmap_cache_size))
+ r = MMAP_CACHE_REBUILD_NOCACHE;
+
+ return r;
+}
+
+void
+mmap_cache_invalidate(struct tcb *tcp)
+{
+#if SUPPORTED_PERSONALITIES > 1
+ if (tcp->currpers != DEFAULT_PERSONALITY) {
+ /* disable stack trace */
+ return;
+ }
+#endif
+ mmap_cache_generation++;
+ debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p",
+ tcp->mmap_cache_generation,
+ mmap_cache_generation,
+ tcp, tcp->mmap_cache);
+}
+
+struct mmap_cache_t *
+mmap_cache_search(struct tcb *tcp, unsigned long ip)
+{
+ int lower = 0;
+ int upper = (int) tcp->mmap_cache_size - 1;
+
+ while (lower <= upper) {
+ struct mmap_cache_t *cur_mmap_cache;
+ int mid = (upper + lower) / 2;
+
+ cur_mmap_cache = &tcp->mmap_cache[mid];
+
+ if (ip >= cur_mmap_cache->start_addr &&
+ ip < cur_mmap_cache->end_addr)
+ return cur_mmap_cache;
+ else if (ip < cur_mmap_cache->start_addr)
+ upper = mid - 1;
+ else
+ lower = mid + 1;
+ }
+ return NULL;
+}
diff --git a/mmap_cache.h b/mmap_cache.h
new file mode 100644
index 00000000..265f8ec2
--- /dev/null
+++ b/mmap_cache.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2013-2018 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.
+ */
+
+#ifndef STRACE_MMAP_CACHE_H
+#define STRACE_MMAP_CACHE_H
+
+/*
+ * Keep a sorted array of cache entries,
+ * so that we can binary search through it.
+ */
+struct mmap_cache_t {
+ /**
+ * example entry:
+ * 7fabbb09b000-7fabbb09f000 r-xp 00179000 fc:00 1180246 /lib/libc-2.11.1.so
+ *
+ * start_addr is 0x7fabbb09b000
+ * end_addr is 0x7fabbb09f000
+ * mmap_offset is 0x179000
+ * protections is MMAP_CACHE_PROT_READABLE|MMAP_CACHE_PROT_EXECUTABLE
+ * major is 0xfc
+ * minor is 0x00
+ * binary_filename is "/lib/libc-2.11.1.so"
+ */
+ unsigned long start_addr;
+ unsigned long end_addr;
+ unsigned long mmap_offset;
+ unsigned char protections;
+ unsigned long major, minor;
+ char *binary_filename;
+};
+
+enum mmap_cache_protection {
+ MMAP_CACHE_PROT_READABLE = 1 << 0,
+ MMAP_CACHE_PROT_WRITABLE = 1 << 1,
+ MMAP_CACHE_PROT_EXECUTABLE = 1 << 2,
+ MMAP_CACHE_PROT_SHARED = 1 << 3,
+};
+
+enum mmap_cache_rebuild_result {
+ MMAP_CACHE_REBUILD_NOCACHE,
+ MMAP_CACHE_REBUILD_READY,
+ MMAP_CACHE_REBUILD_RENEWED,
+};
+
+extern void
+mmap_cache_enable(void);
+
+extern bool
+mmap_cache_is_enabled(void);
+
+extern void
+mmap_cache_invalidate(struct tcb *);
+
+extern void
+mmap_cache_delete(struct tcb *, const char *caller);
+
+extern enum mmap_cache_rebuild_result
+mmap_cache_rebuild_if_invalid(struct tcb *, const char *caller);
+
+extern struct mmap_cache_t *
+mmap_cache_search(struct tcb *, unsigned long ip);
+
+#endif /* !STRACE_MMAP_CACHE_H */
diff --git a/mpers-m32.stamp b/mpers-m32.stamp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/mpers-m32.stamp
diff --git a/mpers-m32/kernel_dirent.c b/mpers-m32/kernel_dirent.c
new file mode 100644
index 00000000..9ad17aa0
--- /dev/null
+++ b/mpers-m32/kernel_dirent.c
@@ -0,0 +1,36 @@
+/*
+ * 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) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-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"
+
+
+kernel_dirent mpers_target_var;
diff --git a/mpers-m32/kernel_dirent.d1 b/mpers-m32/kernel_dirent.d1
new file mode 100644
index 00000000..a7e2a712
--- /dev/null
+++ b/mpers-m32/kernel_dirent.d1
@@ -0,0 +1,89 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xb4 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/kernel_dirent.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x57): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 36
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x10e): kernel_dirent
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 56
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_byte_size : 12
+ <3d> DW_AT_decl_file : 2
+ <3e> DW_AT_decl_line : 51
+ <2><3f>: Abbrev Number: 5 (DW_TAG_member)
+ <40> DW_AT_name : (indirect string, offset: 0xa3): d_ino
+ <44> DW_AT_type : <0x78>
+ <48> DW_AT_decl_file : 2
+ <49> DW_AT_decl_line : 52
+ <4a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4d>: Abbrev Number: 5 (DW_TAG_member)
+ <4e> DW_AT_name : (indirect string, offset: 0xdb): d_off
+ <52> DW_AT_type : <0x78>
+ <56> DW_AT_decl_file : 2
+ <57> DW_AT_decl_line : 53
+ <58> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5b>: Abbrev Number: 5 (DW_TAG_member)
+ <5c> DW_AT_name : (indirect string, offset: 0xe1): d_reclen
+ <60> DW_AT_type : <0x95>
+ <64> DW_AT_decl_file : 2
+ <65> DW_AT_decl_line : 54
+ <66> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><69>: Abbrev Number: 5 (DW_TAG_member)
+ <6a> DW_AT_name : (indirect string, offset: 0xf9): d_name
+ <6e> DW_AT_type : <0x9c>
+ <72> DW_AT_decl_file : 2
+ <73> DW_AT_decl_line : 55
+ <74> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><77>: Abbrev Number: 0
+ <1><78>: Abbrev Number: 3 (DW_TAG_typedef)
+ <79> DW_AT_type : <0x83>
+ <7d> DW_AT_name : (indirect string, offset: 0xcc): kernel_ulong_t
+ <81> DW_AT_decl_file : 2
+ <82> DW_AT_decl_line : 37
+ <1><83>: Abbrev Number: 3 (DW_TAG_typedef)
+ <84> DW_AT_type : <0x8e>
+ <88> DW_AT_name : (indirect string, offset: 0xbb): __kernel_ulong_t
+ <8c> DW_AT_decl_file : 1
+ <8d> DW_AT_decl_line : 24
+ <1><8e>: Abbrev Number: 6 (DW_TAG_base_type)
+ <8f> DW_AT_name : (indirect string, offset: 0xa9): long unsigned int
+ <93> DW_AT_encoding : 7 (unsigned)
+ <94> DW_AT_byte_size : 4
+ <1><95>: Abbrev Number: 6 (DW_TAG_base_type)
+ <96> DW_AT_name : (indirect string, offset: 0xea): unsigned short
+ <9a> DW_AT_encoding : 7 (unsigned)
+ <9b> DW_AT_byte_size : 2
+ <1><9c>: Abbrev Number: 7 (DW_TAG_array_type)
+ <9d> DW_AT_type : <0xa9>
+ <2><a1>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <a2> DW_AT_type : <0xb0>
+ <a6> DW_AT_lower_bound : 0
+ <a7> DW_AT_count : 1
+ <2><a8>: Abbrev Number: 0
+ <1><a9>: Abbrev Number: 6 (DW_TAG_base_type)
+ <aa> DW_AT_name : (indirect string, offset: 0x100): char
+ <ae> DW_AT_encoding : 8 (unsigned char)
+ <af> DW_AT_byte_size : 1
+ <1><b0>: Abbrev Number: 9 (DW_TAG_base_type)
+ <b1> DW_AT_name : (indirect string, offset: 0x105): sizetype
+ <b5> DW_AT_byte_size : 8
+ <b6> DW_AT_encoding : 7 (unsigned)
+ <1><b7>: Abbrev Number: 0
+
diff --git a/mpers-m32/kernel_dirent.d2 b/mpers-m32/kernel_dirent.d2
new file mode 100644
index 00000000..906d78a7
--- /dev/null
+++ b/mpers-m32/kernel_dirent.d2
@@ -0,0 +1,87 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 36
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x10e): kernel_dirent
+DW_AT_decl_file : 2
+DW_AT_decl_line : 56
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 2
+DW_AT_decl_line : 51
+<2><3f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa3): d_ino
+DW_AT_type : <0x78>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 52
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdb): d_off
+DW_AT_type : <0x78>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 53
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): d_reclen
+DW_AT_type : <0x95>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><69>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf9): d_name
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<1><78>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x83>
+DW_AT_name : (indirect string, offset: 0xcc): kernel_ulong_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 37
+<1><83>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x8e>
+DW_AT_name : (indirect string, offset: 0xbb): __kernel_ulong_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><8e>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa9): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><95>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xea): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><9c>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0xa9>
+<2><a1>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0xb0>
+DW_AT_lower_bound : 0
+DW_AT_count : 1
+<1><a9>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x100): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><b0>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x105): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/kernel_dirent.h b/mpers-m32/kernel_dirent.h
new file mode 100644
index 00000000..63725a61
--- /dev/null
+++ b/mpers-m32/kernel_dirent.h
@@ -0,0 +1,10 @@
+#include <stdint.h>
+typedef
+struct {
+uint32_t d_ino;
+uint32_t d_off;
+uint16_t d_reclen;
+char d_name[1];
+unsigned char mpers_end_filler_1[1];
+} ATTRIBUTE_PACKED m32_kernel_dirent;
+#define MPERS_m32_kernel_dirent m32_kernel_dirent
diff --git a/supported_personalities.h b/mpers-m32/mq_attr_t.c
index 6f18ed37..9f0ec7a8 100644
--- a/supported_personalities.h
+++ b/mpers-m32/mq_attr_t.c
@@ -1,5 +1,7 @@
/*
- * Copyright (c) 2001-2017 The strace developers.
+ * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
+ * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,26 +27,17 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef STRACE_SUPPORTED_PERSONALITIES_H
-#define STRACE_SUPPORTED_PERSONALITIES_H
+#include "defs.h"
-#if defined X86_64
-# define SUPPORTED_PERSONALITIES 3
-#elif defined AARCH64 \
- || defined POWERPC64 \
- || defined RISCV \
- || defined SPARC64 \
- || defined TILE \
- || defined X32
-# define SUPPORTED_PERSONALITIES 2
-#else
-# define SUPPORTED_PERSONALITIES 1
-#endif
-#if defined TILE && defined __tilepro__
-# define DEFAULT_PERSONALITY 1
-#else
-# define DEFAULT_PERSONALITY 0
+#ifdef HAVE_MQUEUE_H
+# include <mqueue.h>
+typedef struct mq_attr mq_attr_t;
+#elif defined HAVE_LINUX_MQUEUE_H
+# include <linux/types.h>
+# include <linux/mqueue.h>
+typedef struct mq_attr mq_attr_t;
#endif
-#endif /* !STRACE_SUPPORTED_PERSONALITIES_H */
+
+mq_attr_t mpers_target_var;
diff --git a/mpers-m32/mq_attr_t.d1 b/mpers-m32/mq_attr_t.d1
new file mode 100644
index 00000000..192ce5c9
--- /dev/null
+++ b/mpers-m32/mq_attr_t.d1
@@ -0,0 +1,83 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xad (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/mq_attr_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x53): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 43
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xfd): mq_attr_t
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 39
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xf5): mq_attr
+ <40> DW_AT_byte_size : 32
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 24
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9f): mq_flags
+ <48> DW_AT_type : <0x8a>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 25
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc1): mq_maxmsg
+ <56> DW_AT_type : <0x8a>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 26
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xcb): mq_msgsize
+ <64> DW_AT_type : <0x8a>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 27
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xd6): mq_curmsgs
+ <72> DW_AT_type : <0x8a>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 28
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xe1): __reserved
+ <80> DW_AT_type : <0x9c>
+ <84> DW_AT_decl_file : 2
+ <85> DW_AT_decl_line : 29
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 0
+ <1><8a>: Abbrev Number: 3 (DW_TAG_typedef)
+ <8b> DW_AT_type : <0x95>
+ <8f> DW_AT_name : (indirect string, offset: 0xb1): __kernel_long_t
+ <93> DW_AT_decl_file : 1
+ <94> DW_AT_decl_line : 23
+ <1><95>: Abbrev Number: 6 (DW_TAG_base_type)
+ <96> DW_AT_name : (indirect string, offset: 0xa8): long int
+ <9a> DW_AT_encoding : 5 (signed)
+ <9b> DW_AT_byte_size : 4
+ <1><9c>: Abbrev Number: 7 (DW_TAG_array_type)
+ <9d> DW_AT_type : <0x8a>
+ <2><a1>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <a2> DW_AT_type : <0xa9>
+ <a6> DW_AT_lower_bound : 0
+ <a7> DW_AT_count : 4
+ <2><a8>: Abbrev Number: 0
+ <1><a9>: Abbrev Number: 9 (DW_TAG_base_type)
+ <aa> DW_AT_name : (indirect string, offset: 0xec): sizetype
+ <ae> DW_AT_byte_size : 8
+ <af> DW_AT_encoding : 7 (unsigned)
+ <1><b0>: Abbrev Number: 0
+
diff --git a/mpers-m32/mq_attr_t.d2 b/mpers-m32/mq_attr_t.d2
new file mode 100644
index 00000000..be618339
--- /dev/null
+++ b/mpers-m32/mq_attr_t.d2
@@ -0,0 +1,79 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 43
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xfd): mq_attr_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 39
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xf5): mq_attr
+DW_AT_byte_size : 32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9f): mq_flags
+DW_AT_type : <0x8a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): mq_maxmsg
+DW_AT_type : <0x8a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcb): mq_msgsize
+DW_AT_type : <0x8a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd6): mq_curmsgs
+DW_AT_type : <0x8a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): __reserved
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<1><8a>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x95>
+DW_AT_name : (indirect string, offset: 0xb1): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><95>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa8): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><9c>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x8a>
+<2><a1>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0xa9>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
+<1><a9>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xec): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/mq_attr_t.h b/mpers-m32/mq_attr_t.h
new file mode 100644
index 00000000..32d1cc3c
--- /dev/null
+++ b/mpers-m32/mq_attr_t.h
@@ -0,0 +1,10 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t mq_flags;
+int32_t mq_maxmsg;
+int32_t mq_msgsize;
+int32_t mq_curmsgs;
+int32_t __reserved[4];
+} ATTRIBUTE_PACKED m32_mq_attr_t;
+#define MPERS_m32_mq_attr_t m32_mq_attr_t
diff --git a/mpers-m32/msgbuf_t.c b/mpers-m32/msgbuf_t.c
new file mode 100644
index 00000000..a3456376
--- /dev/null
+++ b/mpers-m32/msgbuf_t.c
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
+ * 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) 2003-2006 Roland McGrath <roland@redhat.com>
+ * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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 <sys/msg.h>
+
+typedef struct msgbuf msgbuf_t;
+msgbuf_t mpers_target_var;
diff --git a/mpers-m32/msgbuf_t.d1 b/mpers-m32/msgbuf_t.d1
new file mode 100644
index 00000000..3e5b353f
--- /dev/null
+++ b/mpers-m32/msgbuf_t.d1
@@ -0,0 +1,69 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x8a (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/msgbuf_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x52): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8d): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 39
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xd8): msgbuf_t
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 38
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xd1): msgbuf
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 43
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9e): mtype
+ <48> DW_AT_type : <0x60>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 44
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xbd): mtext
+ <56> DW_AT_type : <0x72>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 45
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 0
+ <1><60>: Abbrev Number: 3 (DW_TAG_typedef)
+ <61> DW_AT_type : <0x6b>
+ <65> DW_AT_name : (indirect string, offset: 0xad): __kernel_long_t
+ <69> DW_AT_decl_file : 1
+ <6a> DW_AT_decl_line : 23
+ <1><6b>: Abbrev Number: 6 (DW_TAG_base_type)
+ <6c> DW_AT_name : (indirect string, offset: 0xa4): long int
+ <70> DW_AT_encoding : 5 (signed)
+ <71> DW_AT_byte_size : 4
+ <1><72>: Abbrev Number: 7 (DW_TAG_array_type)
+ <73> DW_AT_type : <0x7f>
+ <2><77>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <78> DW_AT_type : <0x86>
+ <7c> DW_AT_lower_bound : 0
+ <7d> DW_AT_count : 1
+ <2><7e>: Abbrev Number: 0
+ <1><7f>: Abbrev Number: 6 (DW_TAG_base_type)
+ <80> DW_AT_name : (indirect string, offset: 0xc3): char
+ <84> DW_AT_encoding : 8 (unsigned char)
+ <85> DW_AT_byte_size : 1
+ <1><86>: Abbrev Number: 9 (DW_TAG_base_type)
+ <87> DW_AT_name : (indirect string, offset: 0xc8): sizetype
+ <8b> DW_AT_byte_size : 8
+ <8c> DW_AT_encoding : 7 (unsigned)
+ <1><8d>: Abbrev Number: 0
+
diff --git a/mpers-m32/msgbuf_t.d2 b/mpers-m32/msgbuf_t.d2
new file mode 100644
index 00000000..38a10dd6
--- /dev/null
+++ b/mpers-m32/msgbuf_t.d2
@@ -0,0 +1,63 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8d): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 39
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xd8): msgbuf_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 38
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xd1): msgbuf
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 43
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9e): mtype
+DW_AT_type : <0x60>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 44
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbd): mtext
+DW_AT_type : <0x72>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 45
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><60>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x6b>
+DW_AT_name : (indirect string, offset: 0xad): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><6b>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa4): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><72>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x7f>
+<2><77>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x86>
+DW_AT_lower_bound : 0
+DW_AT_count : 1
+<1><7f>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc3): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><86>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc8): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/msgbuf_t.h b/mpers-m32/msgbuf_t.h
new file mode 100644
index 00000000..4b1c6b79
--- /dev/null
+++ b/mpers-m32/msgbuf_t.h
@@ -0,0 +1,8 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t mtype;
+char mtext[1];
+unsigned char mpers_end_filler_1[3];
+} ATTRIBUTE_PACKED m32_msgbuf_t;
+#define MPERS_m32_msgbuf_t m32_msgbuf_t
diff --git a/mpers-m32/msqid_ds_t.c b/mpers-m32/msqid_ds_t.c
new file mode 100644
index 00000000..2e2b96e4
--- /dev/null
+++ b/mpers-m32/msqid_ds_t.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
+ * 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) 2003-2006 Roland McGrath <roland@redhat.com>
+ * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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 "ipc_defs.h"
+
+#ifdef HAVE_SYS_MSG_H
+/* The C library generally exports the struct the current kernel expects. */
+# include <sys/msg.h>
+typedef struct msqid_ds msqid_ds_t;
+#elif defined HAVE_LINUX_MSG_H
+/* The linux header might provide the right struct. */
+# include <linux/msg.h>
+typedef struct msqid64_ds msqid_ds_t;
+#endif
+
+msqid_ds_t mpers_target_var;
diff --git a/mpers-m32/msqid_ds_t.d1 b/mpers-m32/msqid_ds_t.d1
new file mode 100644
index 00000000..7d750efe
--- /dev/null
+++ b/mpers-m32/msqid_ds_t.d1
@@ -0,0 +1,246 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x214 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/msqid_ds_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x54): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 5
+ <29> DW_AT_decl_line : 49
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x238): msqid_ds_t
+ <39> DW_AT_decl_file : 5
+ <3a> DW_AT_decl_line : 42
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x22d): msqid64_ds
+ <40> DW_AT_byte_size : 76
+ <41> DW_AT_decl_file : 4
+ <42> DW_AT_decl_line : 22
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa0): msg_perm
+ <48> DW_AT_type : <0xde>
+ <4c> DW_AT_decl_file : 4
+ <4d> DW_AT_decl_line : 23
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0x190): msg_stime
+ <56> DW_AT_type : <0x1ef>
+ <5a> DW_AT_decl_file : 4
+ <5b> DW_AT_decl_line : 24
+ <5c> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0x1c3): msg_rtime
+ <64> DW_AT_type : <0x1ef>
+ <68> DW_AT_decl_file : 4
+ <69> DW_AT_decl_line : 28
+ <6a> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0x1cd): msg_ctime
+ <72> DW_AT_type : <0x1ef>
+ <76> DW_AT_decl_file : 4
+ <77> DW_AT_decl_line : 32
+ <78> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x1d7): msg_cbytes
+ <80> DW_AT_type : <0x1dd>
+ <84> DW_AT_decl_file : 4
+ <85> DW_AT_decl_line : 36
+ <86> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x1e2): msg_qnum
+ <8e> DW_AT_type : <0x1dd>
+ <92> DW_AT_decl_file : 4
+ <93> DW_AT_decl_line : 37
+ <94> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x1eb): msg_qbytes
+ <9c> DW_AT_type : <0x1dd>
+ <a0> DW_AT_decl_file : 4
+ <a1> DW_AT_decl_line : 38
+ <a2> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x1f6): msg_lspid
+ <aa> DW_AT_type : <0x20c>
+ <ae> DW_AT_decl_file : 4
+ <af> DW_AT_decl_line : 39
+ <b0> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x20f): msg_lrpid
+ <b8> DW_AT_type : <0x20c>
+ <bc> DW_AT_decl_file : 4
+ <bd> DW_AT_decl_line : 40
+ <be> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x219): __unused4
+ <c6> DW_AT_type : <0x1dd>
+ <ca> DW_AT_decl_file : 4
+ <cb> DW_AT_decl_line : 41
+ <cc> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x223): __unused5
+ <d4> DW_AT_type : <0x1dd>
+ <d8> DW_AT_decl_file : 4
+ <d9> DW_AT_decl_line : 42
+ <da> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+ <2><dd>: Abbrev Number: 0
+ <1><de>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <df> DW_AT_name : (indirect string, offset: 0x185): ipc64_perm
+ <e3> DW_AT_byte_size : 36
+ <e4> DW_AT_decl_file : 2
+ <e5> DW_AT_decl_line : 21
+ <2><e6>: Abbrev Number: 5 (DW_TAG_member)
+ <e7> DW_AT_name : (indirect string, offset: 0xa9): key
+ <eb> DW_AT_type : <0x181>
+ <ef> DW_AT_decl_file : 2
+ <f0> DW_AT_decl_line : 22
+ <f1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><f4>: Abbrev Number: 5 (DW_TAG_member)
+ <f5> DW_AT_name : (indirect string, offset: 0xc0): uid
+ <f9> DW_AT_type : <0x193>
+ <fd> DW_AT_decl_file : 2
+ <fe> DW_AT_decl_line : 23
+ <ff> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><102>: Abbrev Number: 5 (DW_TAG_member)
+ <103> DW_AT_name : (indirect string, offset: 0xe2): gid
+ <107> DW_AT_type : <0x1a5>
+ <10b> DW_AT_decl_file : 2
+ <10c> DW_AT_decl_line : 24
+ <10d> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><110>: Abbrev Number: 5 (DW_TAG_member)
+ <111> DW_AT_name : (indirect string, offset: 0xf7): cuid
+ <115> DW_AT_type : <0x193>
+ <119> DW_AT_decl_file : 2
+ <11a> DW_AT_decl_line : 25
+ <11b> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><11e>: Abbrev Number: 5 (DW_TAG_member)
+ <11f> DW_AT_name : (indirect string, offset: 0xfc): cgid
+ <123> DW_AT_type : <0x1a5>
+ <127> DW_AT_decl_file : 2
+ <128> DW_AT_decl_line : 26
+ <129> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><12c>: Abbrev Number: 5 (DW_TAG_member)
+ <12d> DW_AT_name : (indirect string, offset: 0x101): mode
+ <131> DW_AT_type : <0x1b0>
+ <135> DW_AT_decl_file : 2
+ <136> DW_AT_decl_line : 27
+ <137> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><13a>: Abbrev Number: 5 (DW_TAG_member)
+ <13b> DW_AT_name : (indirect string, offset: 0x116): __pad1
+ <13f> DW_AT_type : <0x1bb>
+ <143> DW_AT_decl_file : 2
+ <144> DW_AT_decl_line : 28
+ <145> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><148>: Abbrev Number: 5 (DW_TAG_member)
+ <149> DW_AT_name : (indirect string, offset: 0x134): seq
+ <14d> DW_AT_type : <0x1d6>
+ <151> DW_AT_decl_file : 2
+ <152> DW_AT_decl_line : 29
+ <153> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><156>: Abbrev Number: 5 (DW_TAG_member)
+ <157> DW_AT_name : (indirect string, offset: 0x147): __pad2
+ <15b> DW_AT_type : <0x1d6>
+ <15f> DW_AT_decl_file : 2
+ <160> DW_AT_decl_line : 30
+ <161> DW_AT_data_member_location: 2 byte block: 23 1a (DW_OP_plus_uconst: 26)
+ <2><164>: Abbrev Number: 5 (DW_TAG_member)
+ <165> DW_AT_name : (indirect string, offset: 0x14e): __unused1
+ <169> DW_AT_type : <0x1dd>
+ <16d> DW_AT_decl_file : 2
+ <16e> DW_AT_decl_line : 31
+ <16f> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><172>: Abbrev Number: 5 (DW_TAG_member)
+ <173> DW_AT_name : (indirect string, offset: 0x17b): __unused2
+ <177> DW_AT_type : <0x1dd>
+ <17b> DW_AT_decl_file : 2
+ <17c> DW_AT_decl_line : 32
+ <17d> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><180>: Abbrev Number: 0
+ <1><181>: Abbrev Number: 3 (DW_TAG_typedef)
+ <182> DW_AT_type : <0x18c>
+ <186> DW_AT_name : (indirect string, offset: 0xb1): __kernel_key_t
+ <18a> DW_AT_decl_file : 1
+ <18b> DW_AT_decl_line : 28
+ <1><18c>: Abbrev Number: 6 (DW_TAG_base_type)
+ <18d> DW_AT_name : (indirect string, offset: 0xad): int
+ <191> DW_AT_encoding : 5 (signed)
+ <192> DW_AT_byte_size : 4
+ <1><193>: Abbrev Number: 3 (DW_TAG_typedef)
+ <194> DW_AT_type : <0x19e>
+ <198> DW_AT_name : (indirect string, offset: 0xd1): __kernel_uid32_t
+ <19c> DW_AT_decl_file : 3
+ <19d> DW_AT_decl_line : 49
+ <1><19e>: Abbrev Number: 6 (DW_TAG_base_type)
+ <19f> DW_AT_name : (indirect string, offset: 0xc4): unsigned int
+ <1a3> DW_AT_encoding : 7 (unsigned)
+ <1a4> DW_AT_byte_size : 4
+ <1><1a5>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1a6> DW_AT_type : <0x19e>
+ <1aa> DW_AT_name : (indirect string, offset: 0xe6): __kernel_gid32_t
+ <1ae> DW_AT_decl_file : 3
+ <1af> DW_AT_decl_line : 50
+ <1><1b0>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1b1> DW_AT_type : <0x19e>
+ <1b5> DW_AT_name : (indirect string, offset: 0x106): __kernel_mode_t
+ <1b9> DW_AT_decl_file : 3
+ <1ba> DW_AT_decl_line : 30
+ <1><1bb>: Abbrev Number: 7 (DW_TAG_array_type)
+ <1bc> DW_AT_type : <0x1c8>
+ <2><1c0>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <1c1> DW_AT_type : <0x1cf>
+ <1c5> DW_AT_lower_bound : 0
+ <1c6> DW_AT_count : 0
+ <2><1c7>: Abbrev Number: 0
+ <1><1c8>: Abbrev Number: 6 (DW_TAG_base_type)
+ <1c9> DW_AT_name : (indirect string, offset: 0x11d): unsigned char
+ <1cd> DW_AT_encoding : 8 (unsigned char)
+ <1ce> DW_AT_byte_size : 1
+ <1><1cf>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1d0> DW_AT_name : (indirect string, offset: 0x12b): sizetype
+ <1d4> DW_AT_byte_size : 8
+ <1d5> DW_AT_encoding : 7 (unsigned)
+ <1><1d6>: Abbrev Number: 6 (DW_TAG_base_type)
+ <1d7> DW_AT_name : (indirect string, offset: 0x138): unsigned short
+ <1db> DW_AT_encoding : 7 (unsigned)
+ <1dc> DW_AT_byte_size : 2
+ <1><1dd>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1de> DW_AT_type : <0x1e8>
+ <1e2> DW_AT_name : (indirect string, offset: 0x16a): __kernel_ulong_t
+ <1e6> DW_AT_decl_file : 3
+ <1e7> DW_AT_decl_line : 24
+ <1><1e8>: Abbrev Number: 6 (DW_TAG_base_type)
+ <1e9> DW_AT_name : (indirect string, offset: 0x158): long unsigned int
+ <1ed> DW_AT_encoding : 7 (unsigned)
+ <1ee> DW_AT_byte_size : 4
+ <1><1ef>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1f0> DW_AT_type : <0x1fa>
+ <1f4> DW_AT_name : (indirect string, offset: 0x1b3): __kernel_time_t
+ <1f8> DW_AT_decl_file : 3
+ <1f9> DW_AT_decl_line : 77
+ <1><1fa>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1fb> DW_AT_type : <0x205>
+ <1ff> DW_AT_name : (indirect string, offset: 0x1a3): __kernel_long_t
+ <203> DW_AT_decl_file : 3
+ <204> DW_AT_decl_line : 23
+ <1><205>: Abbrev Number: 6 (DW_TAG_base_type)
+ <206> DW_AT_name : (indirect string, offset: 0x19a): long int
+ <20a> DW_AT_encoding : 5 (signed)
+ <20b> DW_AT_byte_size : 4
+ <1><20c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <20d> DW_AT_type : <0x18c>
+ <211> DW_AT_name : (indirect string, offset: 0x200): __kernel_pid_t
+ <215> DW_AT_decl_file : 3
+ <216> DW_AT_decl_line : 33
+ <1><217>: Abbrev Number: 0
+
diff --git a/mpers-m32/msqid_ds_t.d2 b/mpers-m32/msqid_ds_t.d2
new file mode 100644
index 00000000..e1f1686f
--- /dev/null
+++ b/mpers-m32/msqid_ds_t.d2
@@ -0,0 +1,271 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 5
+DW_AT_decl_line : 49
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x238): msqid_ds_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 42
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x22d): msqid64_ds
+DW_AT_byte_size : 76
+DW_AT_decl_file : 4
+DW_AT_decl_line : 22
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa0): msg_perm
+DW_AT_type : <0xde>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x190): msg_stime
+DW_AT_type : <0x1ef>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c3): msg_rtime
+DW_AT_type : <0x1ef>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1cd): msg_ctime
+DW_AT_type : <0x1ef>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d7): msg_cbytes
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e2): msg_qnum
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1eb): msg_qbytes
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f6): msg_lspid
+DW_AT_type : <0x20c>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x20f): msg_lrpid
+DW_AT_type : <0x20c>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x219): __unused4
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x223): __unused5
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+<1><de>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x185): ipc64_perm
+DW_AT_byte_size : 36
+DW_AT_decl_file : 2
+DW_AT_decl_line : 21
+<2><e6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa9): key
+DW_AT_type : <0x181>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 22
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><f4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc0): uid
+DW_AT_type : <0x193>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><102>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe2): gid
+DW_AT_type : <0x1a5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><110>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): cuid
+DW_AT_type : <0x193>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><11e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): cgid
+DW_AT_type : <0x1a5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><12c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x101): mode
+DW_AT_type : <0x1b0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><13a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): __pad1
+DW_AT_type : <0x1bb>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><148>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x134): seq
+DW_AT_type : <0x1d6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><156>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x147): __pad2
+DW_AT_type : <0x1d6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 1a (DW_OP_plus_uconst: 26)
+<2><164>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14e): __unused1
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><172>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17b): __unused2
+DW_AT_type : <0x1dd>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<1><181>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x18c>
+DW_AT_name : (indirect string, offset: 0xb1): __kernel_key_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><18c>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xad): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><193>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x19e>
+DW_AT_name : (indirect string, offset: 0xd1): __kernel_uid32_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 49
+<1><19e>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc4): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><1a5>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x19e>
+DW_AT_name : (indirect string, offset: 0xe6): __kernel_gid32_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 50
+<1><1b0>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x19e>
+DW_AT_name : (indirect string, offset: 0x106): __kernel_mode_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 30
+<1><1bb>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x1c8>
+<2><1c0>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x1cf>
+DW_AT_lower_bound : 0
+DW_AT_count : 0
+<1><1c8>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x11d): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><1cf>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x12b): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><1d6>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x138): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><1dd>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1e8>
+DW_AT_name : (indirect string, offset: 0x16a): __kernel_ulong_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 24
+<1><1e8>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x158): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><1ef>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1fa>
+DW_AT_name : (indirect string, offset: 0x1b3): __kernel_time_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 77
+<1><1fa>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x205>
+DW_AT_name : (indirect string, offset: 0x1a3): __kernel_long_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 23
+<1><205>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x19a): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><20c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x18c>
+DW_AT_name : (indirect string, offset: 0x200): __kernel_pid_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 33
diff --git a/mpers-m32/msqid_ds_t.h b/mpers-m32/msqid_ds_t.h
new file mode 100644
index 00000000..06638de0
--- /dev/null
+++ b/mpers-m32/msqid_ds_t.h
@@ -0,0 +1,28 @@
+#include <stdint.h>
+typedef
+struct {
+struct {
+int32_t key;
+uint32_t uid;
+uint32_t gid;
+uint32_t cuid;
+uint32_t cgid;
+uint32_t mode;
+unsigned char __pad1[0];
+uint16_t seq;
+uint16_t __pad2;
+uint32_t __unused1;
+uint32_t __unused2;
+} ATTRIBUTE_PACKED msg_perm;
+int32_t msg_stime;
+int32_t msg_rtime;
+int32_t msg_ctime;
+uint32_t msg_cbytes;
+uint32_t msg_qnum;
+uint32_t msg_qbytes;
+int32_t msg_lspid;
+int32_t msg_lrpid;
+uint32_t __unused4;
+uint32_t __unused5;
+} ATTRIBUTE_PACKED m32_msqid_ds_t;
+#define MPERS_m32_msqid_ds_t m32_msqid_ds_t
diff --git a/mpers-m32/rusage_t.c b/mpers-m32/rusage_t.c
new file mode 100644
index 00000000..cf3c244a
--- /dev/null
+++ b/mpers-m32/rusage_t.c
@@ -0,0 +1,38 @@
+/*
+ * 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 <sys/resource.h>
+
+
+typedef struct rusage rusage_t;
+
+rusage_t mpers_target_var;
diff --git a/mpers-m32/rusage_t.d1 b/mpers-m32/rusage_t.d1
new file mode 100644
index 00000000..63b19c45
--- /dev/null
+++ b/mpers-m32/rusage_t.d1
@@ -0,0 +1,166 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x16e (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/rusage_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x52): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8d): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 38
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x197): rusage_t
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 36
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x190): rusage
+ <40> DW_AT_byte_size : 72
+ <41> DW_AT_decl_file : 3
+ <42> DW_AT_decl_line : 27
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9e): ru_utime
+ <48> DW_AT_type : <0x124>
+ <4c> DW_AT_decl_file : 3
+ <4d> DW_AT_decl_line : 28
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xfc): ru_stime
+ <56> DW_AT_type : <0x124>
+ <5a> DW_AT_decl_file : 3
+ <5b> DW_AT_decl_line : 29
+ <5c> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0x105): ru_maxrss
+ <64> DW_AT_type : <0x154>
+ <68> DW_AT_decl_file : 3
+ <69> DW_AT_decl_line : 30
+ <6a> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0x10f): ru_ixrss
+ <72> DW_AT_type : <0x154>
+ <76> DW_AT_decl_file : 3
+ <77> DW_AT_decl_line : 31
+ <78> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x118): ru_idrss
+ <80> DW_AT_type : <0x154>
+ <84> DW_AT_decl_file : 3
+ <85> DW_AT_decl_line : 32
+ <86> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x121): ru_isrss
+ <8e> DW_AT_type : <0x154>
+ <92> DW_AT_decl_file : 3
+ <93> DW_AT_decl_line : 33
+ <94> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x12a): ru_minflt
+ <9c> DW_AT_type : <0x154>
+ <a0> DW_AT_decl_file : 3
+ <a1> DW_AT_decl_line : 34
+ <a2> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x134): ru_majflt
+ <aa> DW_AT_type : <0x154>
+ <ae> DW_AT_decl_file : 3
+ <af> DW_AT_decl_line : 35
+ <b0> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x13e): ru_nswap
+ <b8> DW_AT_type : <0x154>
+ <bc> DW_AT_decl_file : 3
+ <bd> DW_AT_decl_line : 36
+ <be> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x147): ru_inblock
+ <c6> DW_AT_type : <0x154>
+ <ca> DW_AT_decl_file : 3
+ <cb> DW_AT_decl_line : 37
+ <cc> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x152): ru_oublock
+ <d4> DW_AT_type : <0x154>
+ <d8> DW_AT_decl_file : 3
+ <d9> DW_AT_decl_line : 38
+ <da> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x15d): ru_msgsnd
+ <e2> DW_AT_type : <0x154>
+ <e6> DW_AT_decl_file : 3
+ <e7> DW_AT_decl_line : 39
+ <e8> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><eb>: Abbrev Number: 5 (DW_TAG_member)
+ <ec> DW_AT_name : (indirect string, offset: 0x167): ru_msgrcv
+ <f0> DW_AT_type : <0x154>
+ <f4> DW_AT_decl_file : 3
+ <f5> DW_AT_decl_line : 40
+ <f6> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><f9>: Abbrev Number: 5 (DW_TAG_member)
+ <fa> DW_AT_name : (indirect string, offset: 0x171): ru_nsignals
+ <fe> DW_AT_type : <0x154>
+ <102> DW_AT_decl_file : 3
+ <103> DW_AT_decl_line : 41
+ <104> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><107>: Abbrev Number: 5 (DW_TAG_member)
+ <108> DW_AT_name : (indirect string, offset: 0x17d): ru_nvcsw
+ <10c> DW_AT_type : <0x154>
+ <110> DW_AT_decl_file : 3
+ <111> DW_AT_decl_line : 42
+ <112> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><115>: Abbrev Number: 5 (DW_TAG_member)
+ <116> DW_AT_name : (indirect string, offset: 0x186): ru_nivcsw
+ <11a> DW_AT_type : <0x154>
+ <11e> DW_AT_decl_file : 3
+ <11f> DW_AT_decl_line : 43
+ <120> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+ <2><123>: Abbrev Number: 0
+ <1><124>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <125> DW_AT_name : (indirect string, offset: 0xf4): timeval
+ <129> DW_AT_byte_size : 8
+ <12a> DW_AT_decl_file : 2
+ <12b> DW_AT_decl_line : 29
+ <2><12c>: Abbrev Number: 5 (DW_TAG_member)
+ <12d> DW_AT_name : (indirect string, offset: 0xa7): tv_sec
+ <131> DW_AT_type : <0x149>
+ <135> DW_AT_decl_file : 2
+ <136> DW_AT_decl_line : 30
+ <137> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><13a>: Abbrev Number: 5 (DW_TAG_member)
+ <13b> DW_AT_name : (indirect string, offset: 0xd7): tv_usec
+ <13f> DW_AT_type : <0x166>
+ <143> DW_AT_decl_file : 2
+ <144> DW_AT_decl_line : 31
+ <145> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><148>: Abbrev Number: 0
+ <1><149>: Abbrev Number: 3 (DW_TAG_typedef)
+ <14a> DW_AT_type : <0x154>
+ <14e> DW_AT_name : (indirect string, offset: 0xc7): __kernel_time_t
+ <152> DW_AT_decl_file : 1
+ <153> DW_AT_decl_line : 77
+ <1><154>: Abbrev Number: 3 (DW_TAG_typedef)
+ <155> DW_AT_type : <0x15f>
+ <159> DW_AT_name : (indirect string, offset: 0xb7): __kernel_long_t
+ <15d> DW_AT_decl_file : 1
+ <15e> DW_AT_decl_line : 23
+ <1><15f>: Abbrev Number: 6 (DW_TAG_base_type)
+ <160> DW_AT_name : (indirect string, offset: 0xae): long int
+ <164> DW_AT_encoding : 5 (signed)
+ <165> DW_AT_byte_size : 4
+ <1><166>: Abbrev Number: 3 (DW_TAG_typedef)
+ <167> DW_AT_type : <0x154>
+ <16b> DW_AT_name : (indirect string, offset: 0xdf): __kernel_suseconds_t
+ <16f> DW_AT_decl_file : 1
+ <170> DW_AT_decl_line : 43
+ <1><171>: Abbrev Number: 0
+
diff --git a/mpers-m32/rusage_t.d2 b/mpers-m32/rusage_t.d2
new file mode 100644
index 00000000..23776a7e
--- /dev/null
+++ b/mpers-m32/rusage_t.d2
@@ -0,0 +1,175 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8d): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 38
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x197): rusage_t
+DW_AT_decl_file : 4
+DW_AT_decl_line : 36
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x190): rusage
+DW_AT_byte_size : 72
+DW_AT_decl_file : 3
+DW_AT_decl_line : 27
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9e): ru_utime
+DW_AT_type : <0x124>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): ru_stime
+DW_AT_type : <0x124>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x105): ru_maxrss
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10f): ru_ixrss
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x118): ru_idrss
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x121): ru_isrss
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12a): ru_minflt
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x134): ru_majflt
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13e): ru_nswap
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x147): ru_inblock
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x152): ru_oublock
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15d): ru_msgsnd
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><eb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x167): ru_msgrcv
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x171): ru_nsignals
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><107>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17d): ru_nvcsw
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><115>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x186): ru_nivcsw
+DW_AT_type : <0x154>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+<1><124>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xf4): timeval
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+<2><12c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa7): tv_sec
+DW_AT_type : <0x149>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><13a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd7): tv_usec
+DW_AT_type : <0x166>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><149>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x154>
+DW_AT_name : (indirect string, offset: 0xc7): __kernel_time_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+<1><154>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x15f>
+DW_AT_name : (indirect string, offset: 0xb7): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><15f>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xae): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><166>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x154>
+DW_AT_name : (indirect string, offset: 0xdf): __kernel_suseconds_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
diff --git a/mpers-m32/rusage_t.h b/mpers-m32/rusage_t.h
new file mode 100644
index 00000000..bcdb0f16
--- /dev/null
+++ b/mpers-m32/rusage_t.h
@@ -0,0 +1,27 @@
+#include <stdint.h>
+typedef
+struct {
+struct {
+int32_t tv_sec;
+int32_t tv_usec;
+} ATTRIBUTE_PACKED ru_utime;
+struct {
+int32_t tv_sec;
+int32_t tv_usec;
+} ATTRIBUTE_PACKED ru_stime;
+int32_t ru_maxrss;
+int32_t ru_ixrss;
+int32_t ru_idrss;
+int32_t ru_isrss;
+int32_t ru_minflt;
+int32_t ru_majflt;
+int32_t ru_nswap;
+int32_t ru_inblock;
+int32_t ru_oublock;
+int32_t ru_msgsnd;
+int32_t ru_msgrcv;
+int32_t ru_nsignals;
+int32_t ru_nvcsw;
+int32_t ru_nivcsw;
+} ATTRIBUTE_PACKED m32_rusage_t;
+#define MPERS_m32_rusage_t m32_rusage_t
diff --git a/mpers-m32/sample.c b/mpers-m32/sample.c
new file mode 100644
index 00000000..1eedf1c2
--- /dev/null
+++ b/mpers-m32/sample.c
@@ -0,0 +1,38 @@
+#include "mpers_type.h"
+#include DEF_MPERS_TYPE(sample_struct)
+typedef struct {
+ struct {
+ void *p;
+ char sc;
+ /* unsigned char mpers_filler_1[1]; */
+ short ss;
+ unsigned char uc;
+ /* unsigned char mpers_filler_2[3]; */
+ int si;
+ unsigned ui;
+ long sl;
+ unsigned short us;
+ /* unsigned char mpers_filler_3[6]; */
+ long long sll __attribute__((__aligned__(8)));
+ unsigned long long ull;
+ unsigned long ul;
+ long asl[3][5][7];
+ char f;
+ /* unsigned char mpers_end_filler_4[7]; */
+ } s;
+ union {
+ long long sll;
+ unsigned long long ull;
+ void *p;
+ long sl;
+ unsigned long ul;
+ int si;
+ unsigned ui;
+ short ss[7][9];
+ unsigned short us[4];
+ char sc;
+ unsigned char uc;
+ } u[3][2];
+ short f[0];
+} sample_struct;
+#include MPERS_DEFS
diff --git a/mpers-m32/sample.expected b/mpers-m32/sample.expected
new file mode 100644
index 00000000..2f954885
--- /dev/null
+++ b/mpers-m32/sample.expected
@@ -0,0 +1,42 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+struct {
+mpers_ptr_t p;
+char sc;
+unsigned char mpers_filler_1[1];
+int16_t ss;
+unsigned char uc;
+unsigned char mpers_filler_2[3];
+int32_t si;
+uint32_t ui;
+int32_t sl;
+uint16_t us;
+unsigned char mpers_filler_3[6];
+int64_t sll;
+uint64_t ull;
+uint32_t ul;
+int32_t asl[3][5][7];
+char f;
+unsigned char mpers_end_filler_4[7];
+} ATTRIBUTE_PACKED s;
+union {
+int64_t sll;
+uint64_t ull;
+mpers_ptr_t p;
+int32_t sl;
+uint32_t ul;
+int32_t si;
+uint32_t ui;
+int16_t ss[7][9];
+uint16_t us[4];
+char sc;
+unsigned char uc;
+} u[3][2];
+int16_t f[0];
+} ATTRIBUTE_PACKED m32_sample_struct;
+#define MPERS_m32_sample_struct m32_sample_struct
diff --git a/mpers-m32/sample_struct.c b/mpers-m32/sample_struct.c
new file mode 100644
index 00000000..b9f6d053
--- /dev/null
+++ b/mpers-m32/sample_struct.c
@@ -0,0 +1,37 @@
+#include "mpers_type.h"
+typedef struct {
+ struct {
+ void *p;
+ char sc;
+ /* unsigned char mpers_filler_1[1]; */
+ short ss;
+ unsigned char uc;
+ /* unsigned char mpers_filler_2[3]; */
+ int si;
+ unsigned ui;
+ long sl;
+ unsigned short us;
+ /* unsigned char mpers_filler_3[6]; */
+ long long sll __attribute__((__aligned__(8)));
+ unsigned long long ull;
+ unsigned long ul;
+ long asl[3][5][7];
+ char f;
+ /* unsigned char mpers_end_filler_4[7]; */
+ } s;
+ union {
+ long long sll;
+ unsigned long long ull;
+ void *p;
+ long sl;
+ unsigned long ul;
+ int si;
+ unsigned ui;
+ short ss[7][9];
+ unsigned short us[4];
+ char sc;
+ unsigned char uc;
+ } u[3][2];
+ short f[0];
+} sample_struct;
+sample_struct mpers_target_var;
diff --git a/mpers-m32/sample_struct.d1 b/mpers-m32/sample_struct.d1
new file mode 100644
index 00000000..5cbf0a6d
--- /dev/null
+++ b/mpers-m32/sample_struct.d1
@@ -0,0 +1,301 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x272 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/sample_struct.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x57): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 1
+ <29> DW_AT_decl_line : 37
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x151): sample_struct
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 36
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_byte_size : 1248
+ <3e> DW_AT_decl_file : 1
+ <3f> DW_AT_decl_line : 2
+ <2><40>: Abbrev Number: 5 (DW_TAG_member)
+ <41> DW_AT_name : (indirect string, offset: 0xa3): s
+ <45> DW_AT_type : <0x4e>
+ <49> DW_AT_decl_file : 1
+ <4a> DW_AT_decl_line : 21
+ <4b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4e>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <4f> DW_AT_byte_size : 480
+ <51> DW_AT_decl_file : 1
+ <52> DW_AT_decl_line : 3
+ <3><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xa5): p
+ <58> DW_AT_type : <0x1ca>
+ <5c> DW_AT_decl_file : 1
+ <5d> DW_AT_decl_line : 4
+ <5e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><61>: Abbrev Number: 5 (DW_TAG_member)
+ <62> DW_AT_name : (indirect string, offset: 0xa7): sc
+ <66> DW_AT_type : <0x1cb>
+ <6a> DW_AT_decl_file : 1
+ <6b> DW_AT_decl_line : 5
+ <6c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <3><6f>: Abbrev Number: 5 (DW_TAG_member)
+ <70> DW_AT_name : (indirect string, offset: 0xaf): ss
+ <74> DW_AT_type : <0x1d2>
+ <78> DW_AT_decl_file : 1
+ <79> DW_AT_decl_line : 7
+ <7a> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+ <3><7d>: Abbrev Number: 5 (DW_TAG_member)
+ <7e> DW_AT_name : (indirect string, offset: 0xb8): uc
+ <82> DW_AT_type : <0x1d9>
+ <86> DW_AT_decl_file : 1
+ <87> DW_AT_decl_line : 8
+ <88> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <3><8b>: Abbrev Number: 5 (DW_TAG_member)
+ <8c> DW_AT_name : (indirect string, offset: 0xc9): si
+ <90> DW_AT_type : <0x1e0>
+ <94> DW_AT_decl_file : 1
+ <95> DW_AT_decl_line : 10
+ <96> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <3><99>: Abbrev Number: 5 (DW_TAG_member)
+ <9a> DW_AT_name : (indirect string, offset: 0xd0): ui
+ <9e> DW_AT_type : <0x1e7>
+ <a2> DW_AT_decl_file : 1
+ <a3> DW_AT_decl_line : 11
+ <a4> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <3><a7>: Abbrev Number: 5 (DW_TAG_member)
+ <a8> DW_AT_name : (indirect string, offset: 0xe0): sl
+ <ac> DW_AT_type : <0x1ee>
+ <b0> DW_AT_decl_file : 1
+ <b1> DW_AT_decl_line : 12
+ <b2> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <3><b5>: Abbrev Number: 5 (DW_TAG_member)
+ <b6> DW_AT_name : (indirect string, offset: 0xec): us
+ <ba> DW_AT_type : <0x1f5>
+ <be> DW_AT_decl_file : 1
+ <bf> DW_AT_decl_line : 13
+ <c0> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <3><c3>: Abbrev Number: 6 (DW_TAG_member)
+ <c4> DW_AT_name : (indirect string, offset: 0xfe): sll
+ <c8> DW_AT_type : <0x1fc>
+ <cc> DW_AT_decl_file : 1
+ <cd> DW_AT_decl_line : 15
+ <ce> Unknown AT value: 88: 8
+ <cf> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <3><d2>: Abbrev Number: 5 (DW_TAG_member)
+ <d3> DW_AT_name : (indirect string, offset: 0x110): ull
+ <d7> DW_AT_type : <0x203>
+ <db> DW_AT_decl_file : 1
+ <dc> DW_AT_decl_line : 16
+ <dd> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <3><e0>: Abbrev Number: 5 (DW_TAG_member)
+ <e1> DW_AT_name : (indirect string, offset: 0x12b): ul
+ <e5> DW_AT_type : <0x20a>
+ <e9> DW_AT_decl_file : 1
+ <ea> DW_AT_decl_line : 17
+ <eb> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <3><ee>: Abbrev Number: 5 (DW_TAG_member)
+ <ef> DW_AT_name : (indirect string, offset: 0x140): asl
+ <f3> DW_AT_type : <0x211>
+ <f7> DW_AT_decl_file : 1
+ <f8> DW_AT_decl_line : 18
+ <f9> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <3><fc>: Abbrev Number: 5 (DW_TAG_member)
+ <fd> DW_AT_name : (indirect string, offset: 0x14d): f
+ <101> DW_AT_type : <0x1cb>
+ <105> DW_AT_decl_file : 1
+ <106> DW_AT_decl_line : 19
+ <107> DW_AT_data_member_location: 3 byte block: 23 d8 3 (DW_OP_plus_uconst: 472)
+ <3><10b>: Abbrev Number: 0
+ <2><10c>: Abbrev Number: 5 (DW_TAG_member)
+ <10d> DW_AT_name : (indirect string, offset: 0x14f): u
+ <111> DW_AT_type : <0x233>
+ <115> DW_AT_decl_file : 1
+ <116> DW_AT_decl_line : 34
+ <117> DW_AT_data_member_location: 3 byte block: 23 e0 3 (DW_OP_plus_uconst: 480)
+ <2><11b>: Abbrev Number: 7 (DW_TAG_union_type)
+ <11c> DW_AT_byte_size : 128
+ <11d> DW_AT_decl_file : 1
+ <11e> DW_AT_decl_line : 22
+ <3><11f>: Abbrev Number: 5 (DW_TAG_member)
+ <120> DW_AT_name : (indirect string, offset: 0xfe): sll
+ <124> DW_AT_type : <0x1fc>
+ <128> DW_AT_decl_file : 1
+ <129> DW_AT_decl_line : 23
+ <12a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><12d>: Abbrev Number: 5 (DW_TAG_member)
+ <12e> DW_AT_name : (indirect string, offset: 0x110): ull
+ <132> DW_AT_type : <0x203>
+ <136> DW_AT_decl_file : 1
+ <137> DW_AT_decl_line : 24
+ <138> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><13b>: Abbrev Number: 5 (DW_TAG_member)
+ <13c> DW_AT_name : (indirect string, offset: 0xa5): p
+ <140> DW_AT_type : <0x1ca>
+ <144> DW_AT_decl_file : 1
+ <145> DW_AT_decl_line : 25
+ <146> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><149>: Abbrev Number: 5 (DW_TAG_member)
+ <14a> DW_AT_name : (indirect string, offset: 0xe0): sl
+ <14e> DW_AT_type : <0x1ee>
+ <152> DW_AT_decl_file : 1
+ <153> DW_AT_decl_line : 26
+ <154> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><157>: Abbrev Number: 5 (DW_TAG_member)
+ <158> DW_AT_name : (indirect string, offset: 0x12b): ul
+ <15c> DW_AT_type : <0x20a>
+ <160> DW_AT_decl_file : 1
+ <161> DW_AT_decl_line : 27
+ <162> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><165>: Abbrev Number: 5 (DW_TAG_member)
+ <166> DW_AT_name : (indirect string, offset: 0xc9): si
+ <16a> DW_AT_type : <0x1e0>
+ <16e> DW_AT_decl_file : 1
+ <16f> DW_AT_decl_line : 28
+ <170> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><173>: Abbrev Number: 5 (DW_TAG_member)
+ <174> DW_AT_name : (indirect string, offset: 0xd0): ui
+ <178> DW_AT_type : <0x1e7>
+ <17c> DW_AT_decl_file : 1
+ <17d> DW_AT_decl_line : 29
+ <17e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><181>: Abbrev Number: 5 (DW_TAG_member)
+ <182> DW_AT_name : (indirect string, offset: 0xaf): ss
+ <186> DW_AT_type : <0x247>
+ <18a> DW_AT_decl_file : 1
+ <18b> DW_AT_decl_line : 30
+ <18c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><18f>: Abbrev Number: 5 (DW_TAG_member)
+ <190> DW_AT_name : (indirect string, offset: 0xec): us
+ <194> DW_AT_type : <0x25b>
+ <198> DW_AT_decl_file : 1
+ <199> DW_AT_decl_line : 31
+ <19a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><19d>: Abbrev Number: 5 (DW_TAG_member)
+ <19e> DW_AT_name : (indirect string, offset: 0xa7): sc
+ <1a2> DW_AT_type : <0x1cb>
+ <1a6> DW_AT_decl_file : 1
+ <1a7> DW_AT_decl_line : 32
+ <1a8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1ab>: Abbrev Number: 5 (DW_TAG_member)
+ <1ac> DW_AT_name : (indirect string, offset: 0xb8): uc
+ <1b0> DW_AT_type : <0x1d9>
+ <1b4> DW_AT_decl_file : 1
+ <1b5> DW_AT_decl_line : 33
+ <1b6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1b9>: Abbrev Number: 0
+ <2><1ba>: Abbrev Number: 5 (DW_TAG_member)
+ <1bb> DW_AT_name : (indirect string, offset: 0x14d): f
+ <1bf> DW_AT_type : <0x268>
+ <1c3> DW_AT_decl_file : 1
+ <1c4> DW_AT_decl_line : 35
+ <1c5> DW_AT_data_member_location: 3 byte block: 23 e0 9 (DW_OP_plus_uconst: 1248)
+ <2><1c9>: Abbrev Number: 0
+ <1><1ca>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <1><1cb>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1cc> DW_AT_name : (indirect string, offset: 0xaa): char
+ <1d0> DW_AT_encoding : 8 (unsigned char)
+ <1d1> DW_AT_byte_size : 1
+ <1><1d2>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1d3> DW_AT_name : (indirect string, offset: 0xb2): short
+ <1d7> DW_AT_encoding : 5 (signed)
+ <1d8> DW_AT_byte_size : 2
+ <1><1d9>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1da> DW_AT_name : (indirect string, offset: 0xbb): unsigned char
+ <1de> DW_AT_encoding : 8 (unsigned char)
+ <1df> DW_AT_byte_size : 1
+ <1><1e0>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1e1> DW_AT_name : (indirect string, offset: 0xcc): int
+ <1e5> DW_AT_encoding : 5 (signed)
+ <1e6> DW_AT_byte_size : 4
+ <1><1e7>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1e8> DW_AT_name : (indirect string, offset: 0xd3): unsigned int
+ <1ec> DW_AT_encoding : 7 (unsigned)
+ <1ed> DW_AT_byte_size : 4
+ <1><1ee>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1ef> DW_AT_name : (indirect string, offset: 0xe3): long int
+ <1f3> DW_AT_encoding : 5 (signed)
+ <1f4> DW_AT_byte_size : 4
+ <1><1f5>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1f6> DW_AT_name : (indirect string, offset: 0xef): unsigned short
+ <1fa> DW_AT_encoding : 7 (unsigned)
+ <1fb> DW_AT_byte_size : 2
+ <1><1fc>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1fd> DW_AT_name : (indirect string, offset: 0x102): long long int
+ <201> DW_AT_encoding : 5 (signed)
+ <202> DW_AT_byte_size : 8
+ <1><203>: Abbrev Number: 9 (DW_TAG_base_type)
+ <204> DW_AT_name : (indirect string, offset: 0x114): long long unsigned int
+ <208> DW_AT_encoding : 7 (unsigned)
+ <209> DW_AT_byte_size : 8
+ <1><20a>: Abbrev Number: 9 (DW_TAG_base_type)
+ <20b> DW_AT_name : (indirect string, offset: 0x12e): long unsigned int
+ <20f> DW_AT_encoding : 7 (unsigned)
+ <210> DW_AT_byte_size : 4
+ <1><211>: Abbrev Number: 10 (DW_TAG_array_type)
+ <212> DW_AT_type : <0x1ee>
+ <2><216>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <217> DW_AT_type : <0x22c>
+ <21b> DW_AT_lower_bound : 0
+ <21c> DW_AT_count : 3
+ <2><21d>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <21e> DW_AT_type : <0x22c>
+ <222> DW_AT_lower_bound : 0
+ <223> DW_AT_count : 5
+ <2><224>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <225> DW_AT_type : <0x22c>
+ <229> DW_AT_lower_bound : 0
+ <22a> DW_AT_count : 7
+ <2><22b>: Abbrev Number: 0
+ <1><22c>: Abbrev Number: 12 (DW_TAG_base_type)
+ <22d> DW_AT_name : (indirect string, offset: 0x144): sizetype
+ <231> DW_AT_byte_size : 8
+ <232> DW_AT_encoding : 7 (unsigned)
+ <1><233>: Abbrev Number: 10 (DW_TAG_array_type)
+ <234> DW_AT_type : <0x11b>
+ <2><238>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <239> DW_AT_type : <0x22c>
+ <23d> DW_AT_lower_bound : 0
+ <23e> DW_AT_count : 3
+ <2><23f>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <240> DW_AT_type : <0x22c>
+ <244> DW_AT_lower_bound : 0
+ <245> DW_AT_count : 2
+ <2><246>: Abbrev Number: 0
+ <1><247>: Abbrev Number: 10 (DW_TAG_array_type)
+ <248> DW_AT_type : <0x1d2>
+ <2><24c>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <24d> DW_AT_type : <0x22c>
+ <251> DW_AT_lower_bound : 0
+ <252> DW_AT_count : 7
+ <2><253>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <254> DW_AT_type : <0x22c>
+ <258> DW_AT_lower_bound : 0
+ <259> DW_AT_count : 9
+ <2><25a>: Abbrev Number: 0
+ <1><25b>: Abbrev Number: 10 (DW_TAG_array_type)
+ <25c> DW_AT_type : <0x1f5>
+ <2><260>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <261> DW_AT_type : <0x22c>
+ <265> DW_AT_lower_bound : 0
+ <266> DW_AT_count : 4
+ <2><267>: Abbrev Number: 0
+ <1><268>: Abbrev Number: 10 (DW_TAG_array_type)
+ <269> DW_AT_type : <0x1d2>
+ <2><26d>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <26e> DW_AT_type : <0x22c>
+ <272> DW_AT_lower_bound : 0
+ <273> DW_AT_count : 0
+ <2><274>: Abbrev Number: 0
+ <1><275>: Abbrev Number: 0
+
diff --git a/mpers-m32/sample_struct.d2 b/mpers-m32/sample_struct.d2
new file mode 100644
index 00000000..ceab522a
--- /dev/null
+++ b/mpers-m32/sample_struct.d2
@@ -0,0 +1,336 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x151): sample_struct
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 1248
+DW_AT_decl_file : 1
+DW_AT_decl_line : 2
+<2><40>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa3): s
+DW_AT_type : <0x4e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 21
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4e>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 480
+DW_AT_decl_file : 1
+DW_AT_decl_line : 3
+<3><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa5): p
+DW_AT_type : <0x1ca>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 4
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><61>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa7): sc
+DW_AT_type : <0x1cb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 5
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<3><6f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xaf): ss
+DW_AT_type : <0x1d2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 7
+DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+<3><7d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb8): uc
+DW_AT_type : <0x1d9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 8
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<3><8b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc9): si
+DW_AT_type : <0x1e0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 10
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<3><99>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): ui
+DW_AT_type : <0x1e7>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 11
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<3><a7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe0): sl
+DW_AT_type : <0x1ee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 12
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<3><b5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xec): us
+DW_AT_type : <0x1f5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 13
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<3><c3>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfe): sll
+DW_AT_type : <0x1fc>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 15
+Unknown AT value: 88: 8
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<3><d2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x110): ull
+DW_AT_type : <0x203>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 16
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<3><e0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): ul
+DW_AT_type : <0x20a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 17
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<3><ee>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x140): asl
+DW_AT_type : <0x211>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 18
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<3><fc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14d): f
+DW_AT_type : <0x1cb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 19
+DW_AT_data_member_location: 3 byte block: 23 d8 3 (DW_OP_plus_uconst: 472)
+<2><10c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14f): u
+DW_AT_type : <0x233>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 3 byte block: 23 e0 3 (DW_OP_plus_uconst: 480)
+<2><11b>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 128
+DW_AT_decl_file : 1
+DW_AT_decl_line : 22
+<3><11f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfe): sll
+DW_AT_type : <0x1fc>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><12d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x110): ull
+DW_AT_type : <0x203>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><13b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa5): p
+DW_AT_type : <0x1ca>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><149>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe0): sl
+DW_AT_type : <0x1ee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><157>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): ul
+DW_AT_type : <0x20a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><165>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc9): si
+DW_AT_type : <0x1e0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><173>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): ui
+DW_AT_type : <0x1e7>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><181>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xaf): ss
+DW_AT_type : <0x247>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><18f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xec): us
+DW_AT_type : <0x25b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><19d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa7): sc
+DW_AT_type : <0x1cb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><1ab>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb8): uc
+DW_AT_type : <0x1d9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1ba>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14d): f
+DW_AT_type : <0x268>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 3 byte block: 23 e0 9 (DW_OP_plus_uconst: 1248)
+<1><1ca>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+<1><1cb>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xaa): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><1d2>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb2): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><1d9>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xbb): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><1e0>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xcc): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><1e7>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd3): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><1ee>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe3): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><1f5>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xef): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><1fc>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x102): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><203>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x114): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><20a>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x12e): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><211>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x1ee>
+<2><216>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 3
+<2><21d>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 5
+<2><224>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 7
+<1><22c>
+Abbrev Number: 12 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x144): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><233>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x11b>
+<2><238>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 3
+<2><23f>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><247>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x1d2>
+<2><24c>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 7
+<2><253>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 9
+<1><25b>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x1f5>
+<2><260>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
+<1><268>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x1d2>
+<2><26d>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x22c>
+DW_AT_lower_bound : 0
+DW_AT_count : 0
diff --git a/mpers-m32/sample_struct.h b/mpers-m32/sample_struct.h
new file mode 100644
index 00000000..2f954885
--- /dev/null
+++ b/mpers-m32/sample_struct.h
@@ -0,0 +1,42 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+struct {
+mpers_ptr_t p;
+char sc;
+unsigned char mpers_filler_1[1];
+int16_t ss;
+unsigned char uc;
+unsigned char mpers_filler_2[3];
+int32_t si;
+uint32_t ui;
+int32_t sl;
+uint16_t us;
+unsigned char mpers_filler_3[6];
+int64_t sll;
+uint64_t ull;
+uint32_t ul;
+int32_t asl[3][5][7];
+char f;
+unsigned char mpers_end_filler_4[7];
+} ATTRIBUTE_PACKED s;
+union {
+int64_t sll;
+uint64_t ull;
+mpers_ptr_t p;
+int32_t sl;
+uint32_t ul;
+int32_t si;
+uint32_t ui;
+int16_t ss[7][9];
+uint16_t us[4];
+char sc;
+unsigned char uc;
+} u[3][2];
+int16_t f[0];
+} ATTRIBUTE_PACKED m32_sample_struct;
+#define MPERS_m32_sample_struct m32_sample_struct
diff --git a/mpers-m32/shmid_ds_t.c b/mpers-m32/shmid_ds_t.c
new file mode 100644
index 00000000..af4a7d2f
--- /dev/null
+++ b/mpers-m32/shmid_ds_t.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
+ * 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) 2003-2006 Roland McGrath <roland@redhat.com>
+ * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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 "ipc_defs.h"
+
+#ifdef HAVE_SYS_SHM_H
+/* The C library generally exports the struct the current kernel expects. */
+# include <sys/shm.h>
+typedef struct shmid_ds shmid_ds_t;
+#elif defined HAVE_LINUX_SHM_H
+/* The linux header might provide the right struct. */
+# include <linux/shm.h>
+typedef struct shmid64_ds shmid_ds_t;
+#endif
+
+shmid_ds_t mpers_target_var;
diff --git a/mpers-m32/shmid_ds_t.d1 b/mpers-m32/shmid_ds_t.d1
new file mode 100644
index 00000000..721245d9
--- /dev/null
+++ b/mpers-m32/shmid_ds_t.d1
@@ -0,0 +1,245 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x211 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/shmid_ds_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x54): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 6
+ <29> DW_AT_decl_line : 49
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x233): shmid_ds_t
+ <39> DW_AT_decl_file : 6
+ <3a> DW_AT_decl_line : 42
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x228): shmid64_ds
+ <40> DW_AT_byte_size : 72
+ <41> DW_AT_decl_file : 4
+ <42> DW_AT_decl_line : 22
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa0): shm_perm
+ <48> DW_AT_type : <0xd0>
+ <4c> DW_AT_decl_file : 4
+ <4d> DW_AT_decl_line : 23
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0x190): shm_segsz
+ <56> DW_AT_type : <0x1e1>
+ <5a> DW_AT_decl_file : 4
+ <5b> DW_AT_decl_line : 24
+ <5c> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0x1a1): shm_atime
+ <64> DW_AT_type : <0x1ec>
+ <68> DW_AT_decl_file : 4
+ <69> DW_AT_decl_line : 25
+ <6a> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0x1d4): shm_dtime
+ <72> DW_AT_type : <0x1ec>
+ <76> DW_AT_decl_file : 4
+ <77> DW_AT_decl_line : 29
+ <78> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x1de): shm_ctime
+ <80> DW_AT_type : <0x1ec>
+ <84> DW_AT_decl_file : 4
+ <85> DW_AT_decl_line : 33
+ <86> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x1e8): shm_cpid
+ <8e> DW_AT_type : <0x209>
+ <92> DW_AT_decl_file : 4
+ <93> DW_AT_decl_line : 37
+ <94> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x200): shm_lpid
+ <9c> DW_AT_type : <0x209>
+ <a0> DW_AT_decl_file : 4
+ <a1> DW_AT_decl_line : 38
+ <a2> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x209): shm_nattch
+ <aa> DW_AT_type : <0x1cf>
+ <ae> DW_AT_decl_file : 4
+ <af> DW_AT_decl_line : 39
+ <b0> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x214): __unused4
+ <b8> DW_AT_type : <0x1cf>
+ <bc> DW_AT_decl_file : 4
+ <bd> DW_AT_decl_line : 40
+ <be> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x21e): __unused5
+ <c6> DW_AT_type : <0x1cf>
+ <ca> DW_AT_decl_file : 4
+ <cb> DW_AT_decl_line : 41
+ <cc> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+ <2><cf>: Abbrev Number: 0
+ <1><d0>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <d1> DW_AT_name : (indirect string, offset: 0x185): ipc64_perm
+ <d5> DW_AT_byte_size : 36
+ <d6> DW_AT_decl_file : 2
+ <d7> DW_AT_decl_line : 21
+ <2><d8>: Abbrev Number: 5 (DW_TAG_member)
+ <d9> DW_AT_name : (indirect string, offset: 0xa9): key
+ <dd> DW_AT_type : <0x173>
+ <e1> DW_AT_decl_file : 2
+ <e2> DW_AT_decl_line : 22
+ <e3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><e6>: Abbrev Number: 5 (DW_TAG_member)
+ <e7> DW_AT_name : (indirect string, offset: 0xc0): uid
+ <eb> DW_AT_type : <0x185>
+ <ef> DW_AT_decl_file : 2
+ <f0> DW_AT_decl_line : 23
+ <f1> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><f4>: Abbrev Number: 5 (DW_TAG_member)
+ <f5> DW_AT_name : (indirect string, offset: 0xe2): gid
+ <f9> DW_AT_type : <0x197>
+ <fd> DW_AT_decl_file : 2
+ <fe> DW_AT_decl_line : 24
+ <ff> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><102>: Abbrev Number: 5 (DW_TAG_member)
+ <103> DW_AT_name : (indirect string, offset: 0xf7): cuid
+ <107> DW_AT_type : <0x185>
+ <10b> DW_AT_decl_file : 2
+ <10c> DW_AT_decl_line : 25
+ <10d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><110>: Abbrev Number: 5 (DW_TAG_member)
+ <111> DW_AT_name : (indirect string, offset: 0xfc): cgid
+ <115> DW_AT_type : <0x197>
+ <119> DW_AT_decl_file : 2
+ <11a> DW_AT_decl_line : 26
+ <11b> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><11e>: Abbrev Number: 5 (DW_TAG_member)
+ <11f> DW_AT_name : (indirect string, offset: 0x101): mode
+ <123> DW_AT_type : <0x1a2>
+ <127> DW_AT_decl_file : 2
+ <128> DW_AT_decl_line : 27
+ <129> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><12c>: Abbrev Number: 5 (DW_TAG_member)
+ <12d> DW_AT_name : (indirect string, offset: 0x116): __pad1
+ <131> DW_AT_type : <0x1ad>
+ <135> DW_AT_decl_file : 2
+ <136> DW_AT_decl_line : 28
+ <137> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><13a>: Abbrev Number: 5 (DW_TAG_member)
+ <13b> DW_AT_name : (indirect string, offset: 0x134): seq
+ <13f> DW_AT_type : <0x1c8>
+ <143> DW_AT_decl_file : 2
+ <144> DW_AT_decl_line : 29
+ <145> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><148>: Abbrev Number: 5 (DW_TAG_member)
+ <149> DW_AT_name : (indirect string, offset: 0x147): __pad2
+ <14d> DW_AT_type : <0x1c8>
+ <151> DW_AT_decl_file : 2
+ <152> DW_AT_decl_line : 30
+ <153> DW_AT_data_member_location: 2 byte block: 23 1a (DW_OP_plus_uconst: 26)
+ <2><156>: Abbrev Number: 5 (DW_TAG_member)
+ <157> DW_AT_name : (indirect string, offset: 0x14e): __unused1
+ <15b> DW_AT_type : <0x1cf>
+ <15f> DW_AT_decl_file : 2
+ <160> DW_AT_decl_line : 31
+ <161> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><164>: Abbrev Number: 5 (DW_TAG_member)
+ <165> DW_AT_name : (indirect string, offset: 0x17b): __unused2
+ <169> DW_AT_type : <0x1cf>
+ <16d> DW_AT_decl_file : 2
+ <16e> DW_AT_decl_line : 32
+ <16f> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><172>: Abbrev Number: 0
+ <1><173>: Abbrev Number: 3 (DW_TAG_typedef)
+ <174> DW_AT_type : <0x17e>
+ <178> DW_AT_name : (indirect string, offset: 0xb1): __kernel_key_t
+ <17c> DW_AT_decl_file : 1
+ <17d> DW_AT_decl_line : 28
+ <1><17e>: Abbrev Number: 6 (DW_TAG_base_type)
+ <17f> DW_AT_name : (indirect string, offset: 0xad): int
+ <183> DW_AT_encoding : 5 (signed)
+ <184> DW_AT_byte_size : 4
+ <1><185>: Abbrev Number: 3 (DW_TAG_typedef)
+ <186> DW_AT_type : <0x190>
+ <18a> DW_AT_name : (indirect string, offset: 0xd1): __kernel_uid32_t
+ <18e> DW_AT_decl_file : 3
+ <18f> DW_AT_decl_line : 49
+ <1><190>: Abbrev Number: 6 (DW_TAG_base_type)
+ <191> DW_AT_name : (indirect string, offset: 0xc4): unsigned int
+ <195> DW_AT_encoding : 7 (unsigned)
+ <196> DW_AT_byte_size : 4
+ <1><197>: Abbrev Number: 3 (DW_TAG_typedef)
+ <198> DW_AT_type : <0x190>
+ <19c> DW_AT_name : (indirect string, offset: 0xe6): __kernel_gid32_t
+ <1a0> DW_AT_decl_file : 3
+ <1a1> DW_AT_decl_line : 50
+ <1><1a2>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1a3> DW_AT_type : <0x190>
+ <1a7> DW_AT_name : (indirect string, offset: 0x106): __kernel_mode_t
+ <1ab> DW_AT_decl_file : 3
+ <1ac> DW_AT_decl_line : 30
+ <1><1ad>: Abbrev Number: 7 (DW_TAG_array_type)
+ <1ae> DW_AT_type : <0x1ba>
+ <2><1b2>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <1b3> DW_AT_type : <0x1c1>
+ <1b7> DW_AT_lower_bound : 0
+ <1b8> DW_AT_count : 0
+ <2><1b9>: Abbrev Number: 0
+ <1><1ba>: Abbrev Number: 6 (DW_TAG_base_type)
+ <1bb> DW_AT_name : (indirect string, offset: 0x11d): unsigned char
+ <1bf> DW_AT_encoding : 8 (unsigned char)
+ <1c0> DW_AT_byte_size : 1
+ <1><1c1>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1c2> DW_AT_name : (indirect string, offset: 0x12b): sizetype
+ <1c6> DW_AT_byte_size : 8
+ <1c7> DW_AT_encoding : 7 (unsigned)
+ <1><1c8>: Abbrev Number: 6 (DW_TAG_base_type)
+ <1c9> DW_AT_name : (indirect string, offset: 0x138): unsigned short
+ <1cd> DW_AT_encoding : 7 (unsigned)
+ <1ce> DW_AT_byte_size : 2
+ <1><1cf>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1d0> DW_AT_type : <0x1da>
+ <1d4> DW_AT_name : (indirect string, offset: 0x16a): __kernel_ulong_t
+ <1d8> DW_AT_decl_file : 3
+ <1d9> DW_AT_decl_line : 24
+ <1><1da>: Abbrev Number: 6 (DW_TAG_base_type)
+ <1db> DW_AT_name : (indirect string, offset: 0x158): long unsigned int
+ <1df> DW_AT_encoding : 7 (unsigned)
+ <1e0> DW_AT_byte_size : 4
+ <1><1e1>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1e2> DW_AT_type : <0x190>
+ <1e6> DW_AT_name : (indirect string, offset: 0x19a): size_t
+ <1ea> DW_AT_decl_file : 5
+ <1eb> DW_AT_decl_line : 62
+ <1><1ec>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1ed> DW_AT_type : <0x1f7>
+ <1f1> DW_AT_name : (indirect string, offset: 0x1c4): __kernel_time_t
+ <1f5> DW_AT_decl_file : 3
+ <1f6> DW_AT_decl_line : 77
+ <1><1f7>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1f8> DW_AT_type : <0x202>
+ <1fc> DW_AT_name : (indirect string, offset: 0x1b4): __kernel_long_t
+ <200> DW_AT_decl_file : 3
+ <201> DW_AT_decl_line : 23
+ <1><202>: Abbrev Number: 6 (DW_TAG_base_type)
+ <203> DW_AT_name : (indirect string, offset: 0x1ab): long int
+ <207> DW_AT_encoding : 5 (signed)
+ <208> DW_AT_byte_size : 4
+ <1><209>: Abbrev Number: 3 (DW_TAG_typedef)
+ <20a> DW_AT_type : <0x17e>
+ <20e> DW_AT_name : (indirect string, offset: 0x1f1): __kernel_pid_t
+ <212> DW_AT_decl_file : 3
+ <213> DW_AT_decl_line : 33
+ <1><214>: Abbrev Number: 0
+
diff --git a/mpers-m32/shmid_ds_t.d2 b/mpers-m32/shmid_ds_t.d2
new file mode 100644
index 00000000..47015eb5
--- /dev/null
+++ b/mpers-m32/shmid_ds_t.d2
@@ -0,0 +1,270 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 6
+DW_AT_decl_line : 49
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x233): shmid_ds_t
+DW_AT_decl_file : 6
+DW_AT_decl_line : 42
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x228): shmid64_ds
+DW_AT_byte_size : 72
+DW_AT_decl_file : 4
+DW_AT_decl_line : 22
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa0): shm_perm
+DW_AT_type : <0xd0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x190): shm_segsz
+DW_AT_type : <0x1e1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a1): shm_atime
+DW_AT_type : <0x1ec>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d4): shm_dtime
+DW_AT_type : <0x1ec>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1de): shm_ctime
+DW_AT_type : <0x1ec>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e8): shm_cpid
+DW_AT_type : <0x209>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x200): shm_lpid
+DW_AT_type : <0x209>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x209): shm_nattch
+DW_AT_type : <0x1cf>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x214): __unused4
+DW_AT_type : <0x1cf>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21e): __unused5
+DW_AT_type : <0x1cf>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+<1><d0>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x185): ipc64_perm
+DW_AT_byte_size : 36
+DW_AT_decl_file : 2
+DW_AT_decl_line : 21
+<2><d8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa9): key
+DW_AT_type : <0x173>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 22
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><e6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc0): uid
+DW_AT_type : <0x185>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><f4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe2): gid
+DW_AT_type : <0x197>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><102>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): cuid
+DW_AT_type : <0x185>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><110>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): cgid
+DW_AT_type : <0x197>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><11e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x101): mode
+DW_AT_type : <0x1a2>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><12c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): __pad1
+DW_AT_type : <0x1ad>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><13a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x134): seq
+DW_AT_type : <0x1c8>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><148>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x147): __pad2
+DW_AT_type : <0x1c8>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 1a (DW_OP_plus_uconst: 26)
+<2><156>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14e): __unused1
+DW_AT_type : <0x1cf>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><164>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17b): __unused2
+DW_AT_type : <0x1cf>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<1><173>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x17e>
+DW_AT_name : (indirect string, offset: 0xb1): __kernel_key_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><17e>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xad): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><185>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x190>
+DW_AT_name : (indirect string, offset: 0xd1): __kernel_uid32_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 49
+<1><190>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc4): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><197>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x190>
+DW_AT_name : (indirect string, offset: 0xe6): __kernel_gid32_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 50
+<1><1a2>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x190>
+DW_AT_name : (indirect string, offset: 0x106): __kernel_mode_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 30
+<1><1ad>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x1ba>
+<2><1b2>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x1c1>
+DW_AT_lower_bound : 0
+DW_AT_count : 0
+<1><1ba>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x11d): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><1c1>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x12b): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><1c8>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x138): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><1cf>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1da>
+DW_AT_name : (indirect string, offset: 0x16a): __kernel_ulong_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 24
+<1><1da>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x158): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><1e1>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x190>
+DW_AT_name : (indirect string, offset: 0x19a): size_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 62
+<1><1ec>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1f7>
+DW_AT_name : (indirect string, offset: 0x1c4): __kernel_time_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 77
+<1><1f7>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x202>
+DW_AT_name : (indirect string, offset: 0x1b4): __kernel_long_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 23
+<1><202>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1ab): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><209>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x17e>
+DW_AT_name : (indirect string, offset: 0x1f1): __kernel_pid_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 33
diff --git a/mpers-m32/shmid_ds_t.h b/mpers-m32/shmid_ds_t.h
new file mode 100644
index 00000000..46581cdf
--- /dev/null
+++ b/mpers-m32/shmid_ds_t.h
@@ -0,0 +1,27 @@
+#include <stdint.h>
+typedef
+struct {
+struct {
+int32_t key;
+uint32_t uid;
+uint32_t gid;
+uint32_t cuid;
+uint32_t cgid;
+uint32_t mode;
+unsigned char __pad1[0];
+uint16_t seq;
+uint16_t __pad2;
+uint32_t __unused1;
+uint32_t __unused2;
+} ATTRIBUTE_PACKED shm_perm;
+uint32_t shm_segsz;
+int32_t shm_atime;
+int32_t shm_dtime;
+int32_t shm_ctime;
+int32_t shm_cpid;
+int32_t shm_lpid;
+uint32_t shm_nattch;
+uint32_t __unused4;
+uint32_t __unused5;
+} ATTRIBUTE_PACKED m32_shmid_ds_t;
+#define MPERS_m32_shmid_ds_t m32_shmid_ds_t
diff --git a/mpers-m32/siginfo_t.c b/mpers-m32/siginfo_t.c
new file mode 100644
index 00000000..9a0dad9c
--- /dev/null
+++ b/mpers-m32/siginfo_t.c
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 2001 John Hughes <john@Calva.COM>
+ * Copyright (c) 2013 Denys Vlasenko <vda.linux@googlemail.com>
+ * Copyright (c) 2011-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2018 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 <signal.h>
+#include <linux/audit.h>
+
+siginfo_t mpers_target_var;
diff --git a/mpers-m32/siginfo_t.d1 b/mpers-m32/siginfo_t.d1
new file mode 100644
index 00000000..7cb5c2bd
--- /dev/null
+++ b/mpers-m32/siginfo_t.d1
@@ -0,0 +1,408 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x348 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/siginfo_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x53): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 42
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x244): siginfo_t
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 100
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x23c): siginfo
+ <40> DW_AT_byte_size : 124
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 47
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9f): si_signo
+ <48> DW_AT_type : <0x294>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 48
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xac): si_errno
+ <56> DW_AT_type : <0x294>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 49
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xb5): si_code
+ <64> DW_AT_type : <0x294>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 50
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xbd): _sifields
+ <72> DW_AT_type : <0x7b>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 99
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 6 (DW_TAG_union_type)
+ <7c> DW_AT_byte_size : 112
+ <7d> DW_AT_decl_file : 1
+ <7e> DW_AT_decl_line : 51
+ <3><7f>: Abbrev Number: 5 (DW_TAG_member)
+ <80> DW_AT_name : (indirect string, offset: 0xc7): _pad
+ <84> DW_AT_type : <0x29b>
+ <88> DW_AT_decl_file : 1
+ <89> DW_AT_decl_line : 52
+ <8a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><8d>: Abbrev Number: 5 (DW_TAG_member)
+ <8e> DW_AT_name : (indirect string, offset: 0xd5): _kill
+ <92> DW_AT_type : <0x9b>
+ <96> DW_AT_decl_file : 1
+ <97> DW_AT_decl_line : 56
+ <98> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><9b>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <9c> DW_AT_byte_size : 8
+ <9d> DW_AT_decl_file : 1
+ <9e> DW_AT_decl_line : 53
+ <4><9f>: Abbrev Number: 5 (DW_TAG_member)
+ <a0> DW_AT_name : (indirect string, offset: 0xdb): _pid
+ <a4> DW_AT_type : <0x2af>
+ <a8> DW_AT_decl_file : 1
+ <a9> DW_AT_decl_line : 54
+ <aa> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><ad>: Abbrev Number: 5 (DW_TAG_member)
+ <ae> DW_AT_name : (indirect string, offset: 0xef): _uid
+ <b2> DW_AT_type : <0x2ba>
+ <b6> DW_AT_decl_file : 1
+ <b7> DW_AT_decl_line : 55
+ <b8> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><bb>: Abbrev Number: 0
+ <3><bc>: Abbrev Number: 5 (DW_TAG_member)
+ <bd> DW_AT_name : (indirect string, offset: 0x112): _timer
+ <c1> DW_AT_type : <0xca>
+ <c5> DW_AT_decl_file : 1
+ <c6> DW_AT_decl_line : 63
+ <c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ca>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <cb> DW_AT_byte_size : 16
+ <cc> DW_AT_decl_file : 1
+ <cd> DW_AT_decl_line : 57
+ <4><ce>: Abbrev Number: 5 (DW_TAG_member)
+ <cf> DW_AT_name : (indirect string, offset: 0x119): _tid
+ <d3> DW_AT_type : <0x2cc>
+ <d7> DW_AT_decl_file : 1
+ <d8> DW_AT_decl_line : 58
+ <d9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><dc>: Abbrev Number: 5 (DW_TAG_member)
+ <dd> DW_AT_name : (indirect string, offset: 0x12f): _overrun
+ <e1> DW_AT_type : <0x294>
+ <e5> DW_AT_decl_file : 1
+ <e6> DW_AT_decl_line : 59
+ <e7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><ea>: Abbrev Number: 5 (DW_TAG_member)
+ <eb> DW_AT_name : (indirect string, offset: 0xc7): _pad
+ <ef> DW_AT_type : <0x2d7>
+ <f3> DW_AT_decl_file : 1
+ <f4> DW_AT_decl_line : 60
+ <f5> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><f8>: Abbrev Number: 5 (DW_TAG_member)
+ <f9> DW_AT_name : (indirect string, offset: 0x13d): _sigval
+ <fd> DW_AT_type : <0x2eb>
+ <101> DW_AT_decl_file : 1
+ <102> DW_AT_decl_line : 61
+ <103> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><106>: Abbrev Number: 5 (DW_TAG_member)
+ <107> DW_AT_name : (indirect string, offset: 0x169): _sys_private
+ <10b> DW_AT_type : <0x294>
+ <10f> DW_AT_decl_file : 1
+ <110> DW_AT_decl_line : 62
+ <111> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <4><114>: Abbrev Number: 0
+ <3><115>: Abbrev Number: 5 (DW_TAG_member)
+ <116> DW_AT_name : (indirect string, offset: 0x176): _rt
+ <11a> DW_AT_type : <0x123>
+ <11e> DW_AT_decl_file : 1
+ <11f> DW_AT_decl_line : 68
+ <120> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><123>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <124> DW_AT_byte_size : 12
+ <125> DW_AT_decl_file : 1
+ <126> DW_AT_decl_line : 64
+ <4><127>: Abbrev Number: 5 (DW_TAG_member)
+ <128> DW_AT_name : (indirect string, offset: 0xdb): _pid
+ <12c> DW_AT_type : <0x2af>
+ <130> DW_AT_decl_file : 1
+ <131> DW_AT_decl_line : 65
+ <132> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><135>: Abbrev Number: 5 (DW_TAG_member)
+ <136> DW_AT_name : (indirect string, offset: 0xef): _uid
+ <13a> DW_AT_type : <0x2ba>
+ <13e> DW_AT_decl_file : 1
+ <13f> DW_AT_decl_line : 66
+ <140> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><143>: Abbrev Number: 5 (DW_TAG_member)
+ <144> DW_AT_name : (indirect string, offset: 0x13d): _sigval
+ <148> DW_AT_type : <0x2eb>
+ <14c> DW_AT_decl_file : 1
+ <14d> DW_AT_decl_line : 67
+ <14e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><151>: Abbrev Number: 0
+ <3><152>: Abbrev Number: 5 (DW_TAG_member)
+ <153> DW_AT_name : (indirect string, offset: 0x17a): _sigchld
+ <157> DW_AT_type : <0x160>
+ <15b> DW_AT_decl_file : 1
+ <15c> DW_AT_decl_line : 75
+ <15d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><160>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <161> DW_AT_byte_size : 20
+ <162> DW_AT_decl_file : 1
+ <163> DW_AT_decl_line : 69
+ <4><164>: Abbrev Number: 5 (DW_TAG_member)
+ <165> DW_AT_name : (indirect string, offset: 0xdb): _pid
+ <169> DW_AT_type : <0x2af>
+ <16d> DW_AT_decl_file : 1
+ <16e> DW_AT_decl_line : 70
+ <16f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><172>: Abbrev Number: 5 (DW_TAG_member)
+ <173> DW_AT_name : (indirect string, offset: 0xef): _uid
+ <177> DW_AT_type : <0x2ba>
+ <17b> DW_AT_decl_file : 1
+ <17c> DW_AT_decl_line : 71
+ <17d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><180>: Abbrev Number: 5 (DW_TAG_member)
+ <181> DW_AT_name : (indirect string, offset: 0x183): _status
+ <185> DW_AT_type : <0x294>
+ <189> DW_AT_decl_file : 1
+ <18a> DW_AT_decl_line : 72
+ <18b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><18e>: Abbrev Number: 5 (DW_TAG_member)
+ <18f> DW_AT_name : (indirect string, offset: 0x18b): _utime
+ <193> DW_AT_type : <0x31c>
+ <197> DW_AT_decl_file : 1
+ <198> DW_AT_decl_line : 73
+ <199> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <4><19c>: Abbrev Number: 5 (DW_TAG_member)
+ <19d> DW_AT_name : (indirect string, offset: 0x1bc): _stime
+ <1a1> DW_AT_type : <0x31c>
+ <1a5> DW_AT_decl_file : 1
+ <1a6> DW_AT_decl_line : 74
+ <1a7> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <4><1aa>: Abbrev Number: 0
+ <3><1ab>: Abbrev Number: 5 (DW_TAG_member)
+ <1ac> DW_AT_name : (indirect string, offset: 0x1c3): _sigfault
+ <1b0> DW_AT_type : <0x1b9>
+ <1b4> DW_AT_decl_file : 1
+ <1b5> DW_AT_decl_line : 89
+ <1b6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1b9>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <1ba> DW_AT_byte_size : 16
+ <1bb> DW_AT_decl_file : 1
+ <1bc> DW_AT_decl_line : 76
+ <4><1bd>: Abbrev Number: 5 (DW_TAG_member)
+ <1be> DW_AT_name : (indirect string, offset: 0x1cd): _addr
+ <1c2> DW_AT_type : <0x31b>
+ <1c6> DW_AT_decl_file : 1
+ <1c7> DW_AT_decl_line : 77
+ <1c8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><1cb>: Abbrev Number: 5 (DW_TAG_member)
+ <1cc> DW_AT_name : (indirect string, offset: 0x1d3): _addr_lsb
+ <1d0> DW_AT_type : <0x339>
+ <1d4> DW_AT_decl_file : 1
+ <1d5> DW_AT_decl_line : 81
+ <1d6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><1d9>: Abbrev Number: 8 (DW_TAG_member)
+ <1da> DW_AT_type : <0x1e3>
+ <1de> DW_AT_decl_file : 1
+ <1df> DW_AT_decl_line : 82
+ <1e0> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><1e3>: Abbrev Number: 6 (DW_TAG_union_type)
+ <1e4> DW_AT_byte_size : 8
+ <1e5> DW_AT_decl_file : 1
+ <1e6> DW_AT_decl_line : 82
+ <5><1e7>: Abbrev Number: 5 (DW_TAG_member)
+ <1e8> DW_AT_name : (indirect string, offset: 0x1e3): _addr_bnd
+ <1ec> DW_AT_type : <0x1f5>
+ <1f0> DW_AT_decl_file : 1
+ <1f1> DW_AT_decl_line : 86
+ <1f2> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <5><1f5>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <1f6> DW_AT_byte_size : 8
+ <1f7> DW_AT_decl_file : 1
+ <1f8> DW_AT_decl_line : 83
+ <6><1f9>: Abbrev Number: 5 (DW_TAG_member)
+ <1fa> DW_AT_name : (indirect string, offset: 0x1ed): _lower
+ <1fe> DW_AT_type : <0x31b>
+ <202> DW_AT_decl_file : 1
+ <203> DW_AT_decl_line : 84
+ <204> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <6><207>: Abbrev Number: 5 (DW_TAG_member)
+ <208> DW_AT_name : (indirect string, offset: 0x1f4): _upper
+ <20c> DW_AT_type : <0x31b>
+ <210> DW_AT_decl_file : 1
+ <211> DW_AT_decl_line : 85
+ <212> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <6><215>: Abbrev Number: 0
+ <5><216>: Abbrev Number: 5 (DW_TAG_member)
+ <217> DW_AT_name : (indirect string, offset: 0x1fb): _pkey
+ <21b> DW_AT_type : <0x340>
+ <21f> DW_AT_decl_file : 1
+ <220> DW_AT_decl_line : 87
+ <221> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <5><224>: Abbrev Number: 0
+ <4><225>: Abbrev Number: 0
+ <3><226>: Abbrev Number: 5 (DW_TAG_member)
+ <227> DW_AT_name : (indirect string, offset: 0x207): _sigpoll
+ <22b> DW_AT_type : <0x234>
+ <22f> DW_AT_decl_file : 1
+ <230> DW_AT_decl_line : 93
+ <231> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><234>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <235> DW_AT_byte_size : 8
+ <236> DW_AT_decl_file : 1
+ <237> DW_AT_decl_line : 90
+ <4><238>: Abbrev Number: 5 (DW_TAG_member)
+ <239> DW_AT_name : (indirect string, offset: 0x210): _band
+ <23d> DW_AT_type : <0x332>
+ <241> DW_AT_decl_file : 1
+ <242> DW_AT_decl_line : 91
+ <243> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><246>: Abbrev Number: 5 (DW_TAG_member)
+ <247> DW_AT_name : (indirect string, offset: 0x216): _fd
+ <24b> DW_AT_type : <0x294>
+ <24f> DW_AT_decl_file : 1
+ <250> DW_AT_decl_line : 92
+ <251> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><254>: Abbrev Number: 0
+ <3><255>: Abbrev Number: 5 (DW_TAG_member)
+ <256> DW_AT_name : (indirect string, offset: 0x21a): _sigsys
+ <25a> DW_AT_type : <0x263>
+ <25e> DW_AT_decl_file : 1
+ <25f> DW_AT_decl_line : 98
+ <260> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><263>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <264> DW_AT_byte_size : 12
+ <265> DW_AT_decl_file : 1
+ <266> DW_AT_decl_line : 94
+ <4><267>: Abbrev Number: 5 (DW_TAG_member)
+ <268> DW_AT_name : (indirect string, offset: 0x222): _call_addr
+ <26c> DW_AT_type : <0x31b>
+ <270> DW_AT_decl_file : 1
+ <271> DW_AT_decl_line : 95
+ <272> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><275>: Abbrev Number: 5 (DW_TAG_member)
+ <276> DW_AT_name : (indirect string, offset: 0x22d): _syscall
+ <27a> DW_AT_type : <0x294>
+ <27e> DW_AT_decl_file : 1
+ <27f> DW_AT_decl_line : 96
+ <280> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><283>: Abbrev Number: 5 (DW_TAG_member)
+ <284> DW_AT_name : (indirect string, offset: 0x236): _arch
+ <288> DW_AT_type : <0x2c5>
+ <28c> DW_AT_decl_file : 1
+ <28d> DW_AT_decl_line : 97
+ <28e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><291>: Abbrev Number: 0
+ <3><292>: Abbrev Number: 0
+ <2><293>: Abbrev Number: 0
+ <1><294>: Abbrev Number: 9 (DW_TAG_base_type)
+ <295> DW_AT_name : (indirect string, offset: 0xa8): int
+ <299> DW_AT_encoding : 5 (signed)
+ <29a> DW_AT_byte_size : 4
+ <1><29b>: Abbrev Number: 10 (DW_TAG_array_type)
+ <29c> DW_AT_type : <0x294>
+ <2><2a0>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <2a1> DW_AT_type : <0x2a8>
+ <2a5> DW_AT_lower_bound : 0
+ <2a6> DW_AT_count : 28
+ <2><2a7>: Abbrev Number: 0
+ <1><2a8>: Abbrev Number: 12 (DW_TAG_base_type)
+ <2a9> DW_AT_name : (indirect string, offset: 0xcc): sizetype
+ <2ad> DW_AT_byte_size : 8
+ <2ae> DW_AT_encoding : 7 (unsigned)
+ <1><2af>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2b0> DW_AT_type : <0x294>
+ <2b4> DW_AT_name : (indirect string, offset: 0xe0): __kernel_pid_t
+ <2b8> DW_AT_decl_file : 2
+ <2b9> DW_AT_decl_line : 33
+ <1><2ba>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2bb> DW_AT_type : <0x2c5>
+ <2bf> DW_AT_name : (indirect string, offset: 0x101): __kernel_uid32_t
+ <2c3> DW_AT_decl_file : 2
+ <2c4> DW_AT_decl_line : 49
+ <1><2c5>: Abbrev Number: 9 (DW_TAG_base_type)
+ <2c6> DW_AT_name : (indirect string, offset: 0xf4): unsigned int
+ <2ca> DW_AT_encoding : 7 (unsigned)
+ <2cb> DW_AT_byte_size : 4
+ <1><2cc>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2cd> DW_AT_type : <0x294>
+ <2d1> DW_AT_name : (indirect string, offset: 0x11e): __kernel_timer_t
+ <2d5> DW_AT_decl_file : 2
+ <2d6> DW_AT_decl_line : 79
+ <1><2d7>: Abbrev Number: 10 (DW_TAG_array_type)
+ <2d8> DW_AT_type : <0x2e4>
+ <2><2dc>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <2dd> DW_AT_type : <0x2a8>
+ <2e1> DW_AT_lower_bound : 0
+ <2e2> DW_AT_count : 0
+ <2><2e3>: Abbrev Number: 0
+ <1><2e4>: Abbrev Number: 9 (DW_TAG_base_type)
+ <2e5> DW_AT_name : (indirect string, offset: 0x138): char
+ <2e9> DW_AT_encoding : 8 (unsigned char)
+ <2ea> DW_AT_byte_size : 1
+ <1><2eb>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2ec> DW_AT_type : <0x2f6>
+ <2f0> DW_AT_name : (indirect string, offset: 0x160): sigval_t
+ <2f4> DW_AT_decl_file : 1
+ <2f5> DW_AT_decl_line : 26
+ <1><2f6>: Abbrev Number: 13 (DW_TAG_union_type)
+ <2f7> DW_AT_name : (indirect string, offset: 0x159): sigval
+ <2fb> DW_AT_byte_size : 4
+ <2fc> DW_AT_decl_file : 1
+ <2fd> DW_AT_decl_line : 23
+ <2><2fe>: Abbrev Number: 5 (DW_TAG_member)
+ <2ff> DW_AT_name : (indirect string, offset: 0x145): sival_int
+ <303> DW_AT_type : <0x294>
+ <307> DW_AT_decl_file : 1
+ <308> DW_AT_decl_line : 24
+ <309> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><30c>: Abbrev Number: 5 (DW_TAG_member)
+ <30d> DW_AT_name : (indirect string, offset: 0x14f): sival_ptr
+ <311> DW_AT_type : <0x31b>
+ <315> DW_AT_decl_file : 1
+ <316> DW_AT_decl_line : 25
+ <317> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><31a>: Abbrev Number: 0
+ <1><31b>: Abbrev Number: 14 (DW_TAG_pointer_type)
+ <1><31c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31d> DW_AT_type : <0x327>
+ <321> DW_AT_name : (indirect string, offset: 0x1ab): __kernel_clock_t
+ <325> DW_AT_decl_file : 2
+ <326> DW_AT_decl_line : 78
+ <1><327>: Abbrev Number: 3 (DW_TAG_typedef)
+ <328> DW_AT_type : <0x332>
+ <32c> DW_AT_name : (indirect string, offset: 0x19b): __kernel_long_t
+ <330> DW_AT_decl_file : 2
+ <331> DW_AT_decl_line : 23
+ <1><332>: Abbrev Number: 9 (DW_TAG_base_type)
+ <333> DW_AT_name : (indirect string, offset: 0x192): long int
+ <337> DW_AT_encoding : 5 (signed)
+ <338> DW_AT_byte_size : 4
+ <1><339>: Abbrev Number: 9 (DW_TAG_base_type)
+ <33a> DW_AT_name : (indirect string, offset: 0x1dd): short
+ <33e> DW_AT_encoding : 5 (signed)
+ <33f> DW_AT_byte_size : 2
+ <1><340>: Abbrev Number: 3 (DW_TAG_typedef)
+ <341> DW_AT_type : <0x2c5>
+ <345> DW_AT_name : (indirect string, offset: 0x201): __u32
+ <349> DW_AT_decl_file : 3
+ <34a> DW_AT_decl_line : 28
+ <1><34b>: Abbrev Number: 0
+
diff --git a/mpers-m32/siginfo_t.d2 b/mpers-m32/siginfo_t.d2
new file mode 100644
index 00000000..f1b6d09c
--- /dev/null
+++ b/mpers-m32/siginfo_t.d2
@@ -0,0 +1,452 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 42
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x244): siginfo_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 100
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x23c): siginfo
+DW_AT_byte_size : 124
+DW_AT_decl_file : 1
+DW_AT_decl_line : 47
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9f): si_signo
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xac): si_errno
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 49
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb5): si_code
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 50
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbd): _sifields
+DW_AT_type : <0x7b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 99
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 112
+DW_AT_decl_file : 1
+DW_AT_decl_line : 51
+<3><7f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc7): _pad
+DW_AT_type : <0x29b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 52
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><8d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): _kill
+DW_AT_type : <0x9b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><9b>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 53
+<4><9f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdb): _pid
+DW_AT_type : <0x2af>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><ad>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xef): _uid
+DW_AT_type : <0x2ba>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<3><bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x112): _timer
+DW_AT_type : <0xca>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 63
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><ca>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 57
+<4><ce>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x119): _tid
+DW_AT_type : <0x2cc>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 58
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><dc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12f): _overrun
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 59
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><ea>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc7): _pad
+DW_AT_type : <0x2d7>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 60
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><f8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13d): _sigval
+DW_AT_type : <0x2eb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 61
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><106>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x169): _sys_private
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 62
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<3><115>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x176): _rt
+DW_AT_type : <0x123>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 68
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><123>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 64
+<4><127>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdb): _pid
+DW_AT_type : <0x2af>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 65
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><135>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xef): _uid
+DW_AT_type : <0x2ba>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 66
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><143>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13d): _sigval
+DW_AT_type : <0x2eb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 67
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<3><152>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17a): _sigchld
+DW_AT_type : <0x160>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 75
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><160>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 20
+DW_AT_decl_file : 1
+DW_AT_decl_line : 69
+<4><164>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdb): _pid
+DW_AT_type : <0x2af>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 70
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><172>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xef): _uid
+DW_AT_type : <0x2ba>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 71
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><180>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x183): _status
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><18e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18b): _utime
+DW_AT_type : <0x31c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 73
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<4><19c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1bc): _stime
+DW_AT_type : <0x31c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 74
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<3><1ab>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c3): _sigfault
+DW_AT_type : <0x1b9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 89
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><1b9>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 76
+<4><1bd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1cd): _addr
+DW_AT_type : <0x31b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><1cb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d3): _addr_lsb
+DW_AT_type : <0x339>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 81
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><1d9>
+Abbrev Number: 8 (DW_TAG_member)
+DW_AT_type : <0x1e3>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 82
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><1e3>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 82
+<5><1e7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e3): _addr_bnd
+DW_AT_type : <0x1f5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 86
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<5><1f5>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 83
+<6><1f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ed): _lower
+DW_AT_type : <0x31b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 84
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<6><207>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f4): _upper
+DW_AT_type : <0x31b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 85
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<5><216>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1fb): _pkey
+DW_AT_type : <0x340>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 87
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><226>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x207): _sigpoll
+DW_AT_type : <0x234>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 93
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><234>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 90
+<4><238>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x210): _band
+DW_AT_type : <0x332>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 91
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><246>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x216): _fd
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 92
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<3><255>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21a): _sigsys
+DW_AT_type : <0x263>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 98
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><263>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 94
+<4><267>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x222): _call_addr
+DW_AT_type : <0x31b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 95
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><275>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x22d): _syscall
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 96
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><283>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x236): _arch
+DW_AT_type : <0x2c5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 97
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><294>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa8): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><29b>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x294>
+<2><2a0>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x2a8>
+DW_AT_lower_bound : 0
+DW_AT_count : 28
+<1><2a8>
+Abbrev Number: 12 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xcc): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><2af>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x294>
+DW_AT_name : (indirect string, offset: 0xe0): __kernel_pid_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+<1><2ba>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2c5>
+DW_AT_name : (indirect string, offset: 0x101): __kernel_uid32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 49
+<1><2c5>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf4): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><2cc>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x294>
+DW_AT_name : (indirect string, offset: 0x11e): __kernel_timer_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 79
+<1><2d7>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x2e4>
+<2><2dc>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x2a8>
+DW_AT_lower_bound : 0
+DW_AT_count : 0
+<1><2e4>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x138): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><2eb>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2f6>
+DW_AT_name : (indirect string, offset: 0x160): sigval_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><2f6>
+Abbrev Number: 13 (DW_TAG_union_type)
+DW_AT_name : (indirect string, offset: 0x159): sigval
+DW_AT_byte_size : 4
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<2><2fe>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x145): sival_int
+DW_AT_type : <0x294>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><30c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14f): sival_ptr
+DW_AT_type : <0x31b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><31b>
+Abbrev Number: 14 (DW_TAG_pointer_type)
+<1><31c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x327>
+DW_AT_name : (indirect string, offset: 0x1ab): __kernel_clock_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 78
+<1><327>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x332>
+DW_AT_name : (indirect string, offset: 0x19b): __kernel_long_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+<1><332>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x192): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><339>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1dd): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><340>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2c5>
+DW_AT_name : (indirect string, offset: 0x201): __u32
+DW_AT_decl_file : 3
+DW_AT_decl_line : 28
diff --git a/mpers-m32/siginfo_t.h b/mpers-m32/siginfo_t.h
new file mode 100644
index 00000000..c3ada294
--- /dev/null
+++ b/mpers-m32/siginfo_t.h
@@ -0,0 +1,65 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+int32_t si_signo;
+int32_t si_errno;
+int32_t si_code;
+union {
+int32_t _pad[28];
+struct {
+int32_t _pid;
+uint32_t _uid;
+} ATTRIBUTE_PACKED _kill;
+struct {
+int32_t _tid;
+int32_t _overrun;
+char _pad[0];
+union {
+int32_t sival_int;
+mpers_ptr_t sival_ptr;
+} _sigval;
+int32_t _sys_private;
+} ATTRIBUTE_PACKED _timer;
+struct {
+int32_t _pid;
+uint32_t _uid;
+union {
+int32_t sival_int;
+mpers_ptr_t sival_ptr;
+} _sigval;
+} ATTRIBUTE_PACKED _rt;
+struct {
+int32_t _pid;
+uint32_t _uid;
+int32_t _status;
+int32_t _utime;
+int32_t _stime;
+} ATTRIBUTE_PACKED _sigchld;
+struct {
+mpers_ptr_t _addr;
+int16_t _addr_lsb;
+unsigned char mpers_filler_1[2];
+union {
+struct {
+mpers_ptr_t _lower;
+mpers_ptr_t _upper;
+} ATTRIBUTE_PACKED _addr_bnd;
+uint32_t _pkey;
+} ;
+} ATTRIBUTE_PACKED _sigfault;
+struct {
+int32_t _band;
+int32_t _fd;
+} ATTRIBUTE_PACKED _sigpoll;
+struct {
+mpers_ptr_t _call_addr;
+int32_t _syscall;
+uint32_t _arch;
+} ATTRIBUTE_PACKED _sigsys;
+} _sifields;
+} ATTRIBUTE_PACKED m32_siginfo_t;
+#define MPERS_m32_siginfo_t m32_siginfo_t
diff --git a/mpers-m32/stack_t.c b/mpers-m32/stack_t.c
new file mode 100644
index 00000000..a9588194
--- /dev/null
+++ b/mpers-m32/stack_t.c
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-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 <signal.h>
+
+stack_t mpers_target_var;
diff --git a/mpers-m32/stack_t.d1 b/mpers-m32/stack_t.d1
new file mode 100644
index 00000000..685aa00b
--- /dev/null
+++ b/mpers-m32/stack_t.d1
@@ -0,0 +1,65 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x85 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/stack_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x51): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8c): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 39
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xd8): stack_t
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 97
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xcc): sigaltstack
+ <40> DW_AT_byte_size : 12
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 93
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9d): ss_sp
+ <48> DW_AT_type : <0x6e>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 94
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xa3): ss_flags
+ <56> DW_AT_type : <0x6f>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 95
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xb0): ss_size
+ <64> DW_AT_type : <0x76>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 96
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 0
+ <1><6e>: Abbrev Number: 6 (DW_TAG_pointer_type)
+ <1><6f>: Abbrev Number: 7 (DW_TAG_base_type)
+ <70> DW_AT_name : (indirect string, offset: 0xac): int
+ <74> DW_AT_encoding : 5 (signed)
+ <75> DW_AT_byte_size : 4
+ <1><76>: Abbrev Number: 3 (DW_TAG_typedef)
+ <77> DW_AT_type : <0x81>
+ <7b> DW_AT_name : (indirect string, offset: 0xc5): size_t
+ <7f> DW_AT_decl_file : 2
+ <80> DW_AT_decl_line : 62
+ <1><81>: Abbrev Number: 7 (DW_TAG_base_type)
+ <82> DW_AT_name : (indirect string, offset: 0xb8): unsigned int
+ <86> DW_AT_encoding : 7 (unsigned)
+ <87> DW_AT_byte_size : 4
+ <1><88>: Abbrev Number: 0
+
diff --git a/mpers-m32/stack_t.d2 b/mpers-m32/stack_t.d2
new file mode 100644
index 00000000..0890371e
--- /dev/null
+++ b/mpers-m32/stack_t.d2
@@ -0,0 +1,59 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8c): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 39
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xd8): stack_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 97
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xcc): sigaltstack
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 93
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9d): ss_sp
+DW_AT_type : <0x6e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 94
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa3): ss_flags
+DW_AT_type : <0x6f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 95
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb0): ss_size
+DW_AT_type : <0x76>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 96
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><6e>
+Abbrev Number: 6 (DW_TAG_pointer_type)
+<1><6f>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xac): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><76>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x81>
+DW_AT_name : (indirect string, offset: 0xc5): size_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 62
+<1><81>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb8): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/stack_t.h b/mpers-m32/stack_t.h
new file mode 100644
index 00000000..0aaf151f
--- /dev/null
+++ b/mpers-m32/stack_t.h
@@ -0,0 +1,12 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+mpers_ptr_t ss_sp;
+int32_t ss_flags;
+uint32_t ss_size;
+} ATTRIBUTE_PACKED m32_stack_t;
+#define MPERS_m32_stack_t m32_stack_t
diff --git a/mpers-m32/struct_blk_user_trace_setup.c b/mpers-m32/struct_blk_user_trace_setup.c
new file mode 100644
index 00000000..c1e1e79c
--- /dev/null
+++ b/mpers-m32/struct_blk_user_trace_setup.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009, 2010 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2011-2018 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 <linux/ioctl.h>
+#include <linux/fs.h>
+
+typedef struct {
+ int op;
+ int flags;
+ int datalen;
+ void *data;
+} struct_blkpg_ioctl_arg;
+
+#define BLKPG_DEVNAMELTH 64
+#define BLKPG_VOLNAMELTH 64
+typedef struct {
+ int64_t start; /* starting offset in bytes */
+ int64_t length; /* length in bytes */
+ int pno; /* partition number */
+ char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
+ to be used in kernel messages */
+ char volname[BLKPG_VOLNAMELTH]; /* volume label */
+} struct_blkpg_partition;
+
+#define BLKTRACE_BDEV_SIZE 32
+typedef struct blk_user_trace_setup {
+ char name[BLKTRACE_BDEV_SIZE]; /* output */
+ uint16_t act_mask; /* input */
+ uint32_t buf_size; /* input */
+ uint32_t buf_nr; /* input */
+ uint64_t start_lba;
+ uint64_t end_lba;
+ uint32_t pid;
+} struct_blk_user_trace_setup;
+
+struct_blk_user_trace_setup mpers_target_var;
diff --git a/mpers-m32/struct_blk_user_trace_setup.d1 b/mpers-m32/struct_blk_user_trace_setup.d1
new file mode 100644
index 00000000..2612d986
--- /dev/null
+++ b/mpers-m32/struct_blk_user_trace_setup.d1
@@ -0,0 +1,132 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x115 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_blk_user_trace_setup.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x65): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0xa0): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 1
+ <29> DW_AT_decl_line : 65
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x177): struct_blk_user_trace_setup
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 63
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x162): blk_user_trace_setup
+ <40> DW_AT_byte_size : 72
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 55
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xb1): name
+ <48> DW_AT_type : <0xa6>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 56
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc4): act_mask
+ <56> DW_AT_type : <0xc1>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 57
+ <5c> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xf0): buf_size
+ <64> DW_AT_type : <0xde>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 58
+ <6a> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0x11a): buf_nr
+ <72> DW_AT_type : <0xde>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 59
+ <78> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x121): start_lba
+ <80> DW_AT_type : <0xfb>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 60
+ <86> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x156): end_lba
+ <8e> DW_AT_type : <0xfb>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 61
+ <94> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x15e): pid
+ <9c> DW_AT_type : <0xde>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 62
+ <a2> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><a5>: Abbrev Number: 0
+ <1><a6>: Abbrev Number: 6 (DW_TAG_array_type)
+ <a7> DW_AT_type : <0xb3>
+ <2><ab>: Abbrev Number: 7 (DW_TAG_subrange_type)
+ <ac> DW_AT_type : <0xba>
+ <b0> DW_AT_lower_bound : 0
+ <b1> DW_AT_count : 32
+ <2><b2>: Abbrev Number: 0
+ <1><b3>: Abbrev Number: 8 (DW_TAG_base_type)
+ <b4> DW_AT_name : (indirect string, offset: 0xb6): char
+ <b8> DW_AT_encoding : 8 (unsigned char)
+ <b9> DW_AT_byte_size : 1
+ <1><ba>: Abbrev Number: 9 (DW_TAG_base_type)
+ <bb> DW_AT_name : (indirect string, offset: 0xbb): sizetype
+ <bf> DW_AT_byte_size : 8
+ <c0> DW_AT_encoding : 7 (unsigned)
+ <1><c1>: Abbrev Number: 3 (DW_TAG_typedef)
+ <c2> DW_AT_type : <0xcc>
+ <c6> DW_AT_name : (indirect string, offset: 0xe7): uint16_t
+ <ca> DW_AT_decl_file : 2
+ <cb> DW_AT_decl_line : 62
+ <1><cc>: Abbrev Number: 3 (DW_TAG_typedef)
+ <cd> DW_AT_type : <0xd7>
+ <d1> DW_AT_name : (indirect string, offset: 0xdc): __uint16_t
+ <d5> DW_AT_decl_file : 2
+ <d6> DW_AT_decl_line : 39
+ <1><d7>: Abbrev Number: 8 (DW_TAG_base_type)
+ <d8> DW_AT_name : (indirect string, offset: 0xcd): unsigned short
+ <dc> DW_AT_encoding : 7 (unsigned)
+ <dd> DW_AT_byte_size : 2
+ <1><de>: Abbrev Number: 3 (DW_TAG_typedef)
+ <df> DW_AT_type : <0xe9>
+ <e3> DW_AT_name : (indirect string, offset: 0x111): uint32_t
+ <e7> DW_AT_decl_file : 2
+ <e8> DW_AT_decl_line : 65
+ <1><e9>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ea> DW_AT_type : <0xf4>
+ <ee> DW_AT_name : (indirect string, offset: 0x106): __uint32_t
+ <f2> DW_AT_decl_file : 2
+ <f3> DW_AT_decl_line : 41
+ <1><f4>: Abbrev Number: 8 (DW_TAG_base_type)
+ <f5> DW_AT_name : (indirect string, offset: 0xf9): unsigned int
+ <f9> DW_AT_encoding : 7 (unsigned)
+ <fa> DW_AT_byte_size : 4
+ <1><fb>: Abbrev Number: 3 (DW_TAG_typedef)
+ <fc> DW_AT_type : <0x106>
+ <100> DW_AT_name : (indirect string, offset: 0x14d): uint64_t
+ <104> DW_AT_decl_file : 2
+ <105> DW_AT_decl_line : 68
+ <1><106>: Abbrev Number: 3 (DW_TAG_typedef)
+ <107> DW_AT_type : <0x111>
+ <10b> DW_AT_name : (indirect string, offset: 0x142): __uint64_t
+ <10f> DW_AT_decl_file : 2
+ <110> DW_AT_decl_line : 47
+ <1><111>: Abbrev Number: 8 (DW_TAG_base_type)
+ <112> DW_AT_name : (indirect string, offset: 0x12b): long long unsigned int
+ <116> DW_AT_encoding : 7 (unsigned)
+ <117> DW_AT_byte_size : 8
+ <1><118>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_blk_user_trace_setup.d2 b/mpers-m32/struct_blk_user_trace_setup.d2
new file mode 100644
index 00000000..72a56f12
--- /dev/null
+++ b/mpers-m32/struct_blk_user_trace_setup.d2
@@ -0,0 +1,138 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0xa0): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 1
+DW_AT_decl_line : 65
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x177): struct_blk_user_trace_setup
+DW_AT_decl_file : 1
+DW_AT_decl_line : 63
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x162): blk_user_trace_setup
+DW_AT_byte_size : 72
+DW_AT_decl_file : 1
+DW_AT_decl_line : 55
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb1): name
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc4): act_mask
+DW_AT_type : <0xc1>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 57
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): buf_size
+DW_AT_type : <0xde>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 58
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11a): buf_nr
+DW_AT_type : <0xde>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 59
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x121): start_lba
+DW_AT_type : <0xfb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 60
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x156): end_lba
+DW_AT_type : <0xfb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 61
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): pid
+DW_AT_type : <0xde>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 62
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<1><a6>
+Abbrev Number: 6 (DW_TAG_array_type)
+DW_AT_type : <0xb3>
+<2><ab>
+Abbrev Number: 7 (DW_TAG_subrange_type)
+DW_AT_type : <0xba>
+DW_AT_lower_bound : 0
+DW_AT_count : 32
+<1><b3>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb6): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><ba>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xbb): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><c1>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xcc>
+DW_AT_name : (indirect string, offset: 0xe7): uint16_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 62
+<1><cc>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xd7>
+DW_AT_name : (indirect string, offset: 0xdc): __uint16_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 39
+<1><d7>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xcd): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><de>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xe9>
+DW_AT_name : (indirect string, offset: 0x111): uint32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 65
+<1><e9>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xf4>
+DW_AT_name : (indirect string, offset: 0x106): __uint32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 41
+<1><f4>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf9): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><fb>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x106>
+DW_AT_name : (indirect string, offset: 0x14d): uint64_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 68
+<1><106>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x111>
+DW_AT_name : (indirect string, offset: 0x142): __uint64_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 47
+<1><111>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x12b): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
diff --git a/mpers-m32/struct_blk_user_trace_setup.h b/mpers-m32/struct_blk_user_trace_setup.h
new file mode 100644
index 00000000..91ac7b20
--- /dev/null
+++ b/mpers-m32/struct_blk_user_trace_setup.h
@@ -0,0 +1,15 @@
+#include <stdint.h>
+typedef
+struct {
+char name[32];
+uint16_t act_mask;
+unsigned char mpers_filler_1[2];
+uint32_t buf_size;
+uint32_t buf_nr;
+unsigned char mpers_filler_2[4];
+uint64_t start_lba;
+uint64_t end_lba;
+uint32_t pid;
+unsigned char mpers_end_filler_3[4];
+} ATTRIBUTE_PACKED m32_struct_blk_user_trace_setup;
+#define MPERS_m32_struct_blk_user_trace_setup m32_struct_blk_user_trace_setup
diff --git a/mpers-m32/struct_blkpg_ioctl_arg.c b/mpers-m32/struct_blkpg_ioctl_arg.c
new file mode 100644
index 00000000..52d30266
--- /dev/null
+++ b/mpers-m32/struct_blkpg_ioctl_arg.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009, 2010 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2011-2018 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 <linux/ioctl.h>
+#include <linux/fs.h>
+
+typedef struct {
+ int op;
+ int flags;
+ int datalen;
+ void *data;
+} struct_blkpg_ioctl_arg;
+
+#define BLKPG_DEVNAMELTH 64
+#define BLKPG_VOLNAMELTH 64
+typedef struct {
+ int64_t start; /* starting offset in bytes */
+ int64_t length; /* length in bytes */
+ int pno; /* partition number */
+ char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
+ to be used in kernel messages */
+ char volname[BLKPG_VOLNAMELTH]; /* volume label */
+} struct_blkpg_partition;
+
+#define BLKTRACE_BDEV_SIZE 32
+typedef struct blk_user_trace_setup {
+ char name[BLKTRACE_BDEV_SIZE]; /* output */
+ uint16_t act_mask; /* input */
+ uint32_t buf_size; /* input */
+ uint32_t buf_nr; /* input */
+ uint64_t start_lba;
+ uint64_t end_lba;
+ uint32_t pid;
+} struct_blk_user_trace_setup;
+
+struct_blkpg_ioctl_arg mpers_target_var;
diff --git a/mpers-m32/struct_blkpg_ioctl_arg.d1 b/mpers-m32/struct_blkpg_ioctl_arg.d1
new file mode 100644
index 00000000..08c96a7a
--- /dev/null
+++ b/mpers-m32/struct_blkpg_ioctl_arg.d1
@@ -0,0 +1,61 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x7d (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_blkpg_ioctl_arg.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x60): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9b): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 1
+ <29> DW_AT_decl_line : 65
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xc6): struct_blkpg_ioctl_arg
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 41
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_byte_size : 16
+ <3d> DW_AT_decl_file : 1
+ <3e> DW_AT_decl_line : 36
+ <2><3f>: Abbrev Number: 5 (DW_TAG_member)
+ <40> DW_AT_name : (indirect string, offset: 0xac): op
+ <44> DW_AT_type : <0x78>
+ <48> DW_AT_decl_file : 1
+ <49> DW_AT_decl_line : 37
+ <4a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4d>: Abbrev Number: 5 (DW_TAG_member)
+ <4e> DW_AT_name : (indirect string, offset: 0xb3): flags
+ <52> DW_AT_type : <0x78>
+ <56> DW_AT_decl_file : 1
+ <57> DW_AT_decl_line : 38
+ <58> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5b>: Abbrev Number: 5 (DW_TAG_member)
+ <5c> DW_AT_name : (indirect string, offset: 0xb9): datalen
+ <60> DW_AT_type : <0x78>
+ <64> DW_AT_decl_file : 1
+ <65> DW_AT_decl_line : 39
+ <66> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><69>: Abbrev Number: 5 (DW_TAG_member)
+ <6a> DW_AT_name : (indirect string, offset: 0xc1): data
+ <6e> DW_AT_type : <0x7f>
+ <72> DW_AT_decl_file : 1
+ <73> DW_AT_decl_line : 40
+ <74> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><77>: Abbrev Number: 0
+ <1><78>: Abbrev Number: 6 (DW_TAG_base_type)
+ <79> DW_AT_name : (indirect string, offset: 0xaf): int
+ <7d> DW_AT_encoding : 5 (signed)
+ <7e> DW_AT_byte_size : 4
+ <1><7f>: Abbrev Number: 7 (DW_TAG_pointer_type)
+ <1><80>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_blkpg_ioctl_arg.d2 b/mpers-m32/struct_blkpg_ioctl_arg.d2
new file mode 100644
index 00000000..78211cf7
--- /dev/null
+++ b/mpers-m32/struct_blkpg_ioctl_arg.d2
@@ -0,0 +1,54 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9b): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 1
+DW_AT_decl_line : 65
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xc6): struct_blkpg_ioctl_arg
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+<2><3f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xac): op
+DW_AT_type : <0x78>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb3): flags
+DW_AT_type : <0x78>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb9): datalen
+DW_AT_type : <0x78>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><69>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): data
+DW_AT_type : <0x7f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><78>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xaf): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><7f>
+Abbrev Number: 7 (DW_TAG_pointer_type)
diff --git a/mpers-m32/struct_blkpg_ioctl_arg.h b/mpers-m32/struct_blkpg_ioctl_arg.h
new file mode 100644
index 00000000..9f93a442
--- /dev/null
+++ b/mpers-m32/struct_blkpg_ioctl_arg.h
@@ -0,0 +1,13 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+int32_t op;
+int32_t flags;
+int32_t datalen;
+mpers_ptr_t data;
+} ATTRIBUTE_PACKED m32_struct_blkpg_ioctl_arg;
+#define MPERS_m32_struct_blkpg_ioctl_arg m32_struct_blkpg_ioctl_arg
diff --git a/mpers-m32/struct_blkpg_partition.c b/mpers-m32/struct_blkpg_partition.c
new file mode 100644
index 00000000..906b2f8b
--- /dev/null
+++ b/mpers-m32/struct_blkpg_partition.c
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009, 2010 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2011-2018 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 <linux/ioctl.h>
+#include <linux/fs.h>
+
+typedef struct {
+ int op;
+ int flags;
+ int datalen;
+ void *data;
+} struct_blkpg_ioctl_arg;
+
+#define BLKPG_DEVNAMELTH 64
+#define BLKPG_VOLNAMELTH 64
+typedef struct {
+ int64_t start; /* starting offset in bytes */
+ int64_t length; /* length in bytes */
+ int pno; /* partition number */
+ char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
+ to be used in kernel messages */
+ char volname[BLKPG_VOLNAMELTH]; /* volume label */
+} struct_blkpg_partition;
+
+#define BLKTRACE_BDEV_SIZE 32
+typedef struct blk_user_trace_setup {
+ char name[BLKTRACE_BDEV_SIZE]; /* output */
+ uint16_t act_mask; /* input */
+ uint32_t buf_size; /* input */
+ uint32_t buf_nr; /* input */
+ uint64_t start_lba;
+ uint64_t end_lba;
+ uint32_t pid;
+} struct_blk_user_trace_setup;
+
+struct_blkpg_partition mpers_target_var;
diff --git a/mpers-m32/struct_blkpg_partition.d1 b/mpers-m32/struct_blkpg_partition.d1
new file mode 100644
index 00000000..7d2243d4
--- /dev/null
+++ b/mpers-m32/struct_blkpg_partition.d1
@@ -0,0 +1,95 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xc2 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_blkpg_partition.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x60): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9b): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 65
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xff): struct_blkpg_partition
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 52
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_byte_size : 152
+ <3d> DW_AT_decl_file : 2
+ <3e> DW_AT_decl_line : 45
+ <2><3f>: Abbrev Number: 5 (DW_TAG_member)
+ <40> DW_AT_name : (indirect string, offset: 0xac): start
+ <44> DW_AT_type : <0x86>
+ <48> DW_AT_decl_file : 2
+ <49> DW_AT_decl_line : 46
+ <4a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4d>: Abbrev Number: 5 (DW_TAG_member)
+ <4e> DW_AT_name : (indirect string, offset: 0xd2): length
+ <52> DW_AT_type : <0x86>
+ <56> DW_AT_decl_file : 2
+ <57> DW_AT_decl_line : 47
+ <58> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><5b>: Abbrev Number: 5 (DW_TAG_member)
+ <5c> DW_AT_name : (indirect string, offset: 0xd9): pno
+ <60> DW_AT_type : <0xa3>
+ <64> DW_AT_decl_file : 2
+ <65> DW_AT_decl_line : 48
+ <66> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><69>: Abbrev Number: 5 (DW_TAG_member)
+ <6a> DW_AT_name : (indirect string, offset: 0xe1): devname
+ <6e> DW_AT_type : <0xaa>
+ <72> DW_AT_decl_file : 2
+ <73> DW_AT_decl_line : 49
+ <74> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><77>: Abbrev Number: 5 (DW_TAG_member)
+ <78> DW_AT_name : (indirect string, offset: 0xf7): volname
+ <7c> DW_AT_type : <0xaa>
+ <80> DW_AT_decl_file : 2
+ <81> DW_AT_decl_line : 51
+ <82> DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84)
+ <2><85>: Abbrev Number: 0
+ <1><86>: Abbrev Number: 3 (DW_TAG_typedef)
+ <87> DW_AT_type : <0x91>
+ <8b> DW_AT_name : (indirect string, offset: 0xca): int64_t
+ <8f> DW_AT_decl_file : 1
+ <90> DW_AT_decl_line : 67
+ <1><91>: Abbrev Number: 3 (DW_TAG_typedef)
+ <92> DW_AT_type : <0x9c>
+ <96> DW_AT_name : (indirect string, offset: 0xc0): __int64_t
+ <9a> DW_AT_decl_file : 1
+ <9b> DW_AT_decl_line : 46
+ <1><9c>: Abbrev Number: 6 (DW_TAG_base_type)
+ <9d> DW_AT_name : (indirect string, offset: 0xb2): long long int
+ <a1> DW_AT_encoding : 5 (signed)
+ <a2> DW_AT_byte_size : 8
+ <1><a3>: Abbrev Number: 6 (DW_TAG_base_type)
+ <a4> DW_AT_name : (indirect string, offset: 0xdd): int
+ <a8> DW_AT_encoding : 5 (signed)
+ <a9> DW_AT_byte_size : 4
+ <1><aa>: Abbrev Number: 7 (DW_TAG_array_type)
+ <ab> DW_AT_type : <0xb7>
+ <2><af>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <b0> DW_AT_type : <0xbe>
+ <b4> DW_AT_lower_bound : 0
+ <b5> DW_AT_count : 64
+ <2><b6>: Abbrev Number: 0
+ <1><b7>: Abbrev Number: 6 (DW_TAG_base_type)
+ <b8> DW_AT_name : (indirect string, offset: 0xe9): char
+ <bc> DW_AT_encoding : 8 (unsigned char)
+ <bd> DW_AT_byte_size : 1
+ <1><be>: Abbrev Number: 9 (DW_TAG_base_type)
+ <bf> DW_AT_name : (indirect string, offset: 0xee): sizetype
+ <c3> DW_AT_byte_size : 8
+ <c4> DW_AT_encoding : 7 (unsigned)
+ <1><c5>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_blkpg_partition.d2 b/mpers-m32/struct_blkpg_partition.d2
new file mode 100644
index 00000000..eecf8465
--- /dev/null
+++ b/mpers-m32/struct_blkpg_partition.d2
@@ -0,0 +1,94 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9b): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 65
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xff): struct_blkpg_partition
+DW_AT_decl_file : 2
+DW_AT_decl_line : 52
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 152
+DW_AT_decl_file : 2
+DW_AT_decl_line : 45
+<2><3f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xac): start
+DW_AT_type : <0x86>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 46
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd2): length
+DW_AT_type : <0x86>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 47
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><5b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd9): pno
+DW_AT_type : <0xa3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><69>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): devname
+DW_AT_type : <0xaa>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 49
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><77>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): volname
+DW_AT_type : <0xaa>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 51
+DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84)
+<1><86>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x91>
+DW_AT_name : (indirect string, offset: 0xca): int64_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 67
+<1><91>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x9c>
+DW_AT_name : (indirect string, offset: 0xc0): __int64_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 46
+<1><9c>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb2): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><a3>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xdd): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><aa>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0xb7>
+<2><af>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0xbe>
+DW_AT_lower_bound : 0
+DW_AT_count : 64
+<1><b7>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe9): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><be>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xee): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/struct_blkpg_partition.h b/mpers-m32/struct_blkpg_partition.h
new file mode 100644
index 00000000..d6310866
--- /dev/null
+++ b/mpers-m32/struct_blkpg_partition.h
@@ -0,0 +1,11 @@
+#include <stdint.h>
+typedef
+struct {
+int64_t start;
+int64_t length;
+int32_t pno;
+char devname[64];
+char volname[64];
+unsigned char mpers_end_filler_1[4];
+} ATTRIBUTE_PACKED m32_struct_blkpg_partition;
+#define MPERS_m32_struct_blkpg_partition m32_struct_blkpg_partition
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c
new file mode 100644
index 00000000..a582b2f0
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2018 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"
+
+#ifdef HAVE_LINUX_BTRFS_H
+
+
+# include <linux/btrfs.h>
+
+typedef struct btrfs_ioctl_dev_replace_args
+ struct_btrfs_ioctl_dev_replace_args;
+typedef struct btrfs_ioctl_send_args
+ struct_btrfs_ioctl_send_args;
+typedef struct btrfs_ioctl_received_subvol_args
+ struct_btrfs_ioctl_received_subvol_args;
+typedef struct btrfs_ioctl_vol_args_v2
+ struct_btrfs_ioctl_vol_args_v2;
+
+#endif /* HAVE_LINUX_BTRFS_H */
+
+struct_btrfs_ioctl_dev_replace_args mpers_target_var;
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1
new file mode 100644
index 00000000..9e4477f6
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1
@@ -0,0 +1,181 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x17f (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_dev_replace_args.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x6d): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0xa8): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 47
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x21c): struct_btrfs_ioctl_dev_replace_args
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 37
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x1ff): btrfs_ioctl_dev_replace_args
+ <40> DW_AT_byte_size : 2600
+ <42> DW_AT_decl_file : 2
+ <43> DW_AT_decl_line : 137
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xb9): cmd
+ <49> DW_AT_type : <0x9c>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 138
+ <4f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><52>: Abbrev Number: 5 (DW_TAG_member)
+ <53> DW_AT_name : (indirect string, offset: 0xda): result
+ <57> DW_AT_type : <0x9c>
+ <5b> DW_AT_decl_file : 2
+ <5c> DW_AT_decl_line : 139
+ <5d> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><60>: Abbrev Number: 6 (DW_TAG_member)
+ <61> DW_AT_type : <0x6a>
+ <65> DW_AT_decl_file : 2
+ <66> DW_AT_decl_line : 140
+ <67> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><6a>: Abbrev Number: 7 (DW_TAG_union_type)
+ <6b> DW_AT_byte_size : 2072
+ <6d> DW_AT_decl_file : 2
+ <6e> DW_AT_decl_line : 140
+ <3><6f>: Abbrev Number: 5 (DW_TAG_member)
+ <70> DW_AT_name : (indirect string, offset: 0xe1): start
+ <74> DW_AT_type : <0xae>
+ <78> DW_AT_decl_file : 2
+ <79> DW_AT_decl_line : 141
+ <7a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><7d>: Abbrev Number: 5 (DW_TAG_member)
+ <7e> DW_AT_name : (indirect string, offset: 0x167): status
+ <82> DW_AT_type : <0x118>
+ <86> DW_AT_decl_file : 2
+ <87> DW_AT_decl_line : 142
+ <88> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><8b>: Abbrev Number: 0
+ <2><8c>: Abbrev Number: 5 (DW_TAG_member)
+ <8d> DW_AT_name : (indirect string, offset: 0x1f9): spare
+ <91> DW_AT_type : <0x175>
+ <95> DW_AT_decl_file : 2
+ <96> DW_AT_decl_line : 144
+ <97> DW_AT_data_member_location: 3 byte block: 23 a8 10 (DW_OP_plus_uconst: 2088)
+ <2><9b>: Abbrev Number: 0
+ <1><9c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <9d> DW_AT_type : <0xa7>
+ <a1> DW_AT_name : (indirect string, offset: 0xd4): __u64
+ <a5> DW_AT_decl_file : 1
+ <a6> DW_AT_decl_line : 31
+ <1><a7>: Abbrev Number: 8 (DW_TAG_base_type)
+ <a8> DW_AT_name : (indirect string, offset: 0xbd): long long unsigned int
+ <ac> DW_AT_encoding : 7 (unsigned)
+ <ad> DW_AT_byte_size : 8
+ <1><ae>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <af> DW_AT_name : (indirect string, offset: 0x142): btrfs_ioctl_dev_replace_start_params
+ <b3> DW_AT_byte_size : 2072
+ <b5> DW_AT_decl_file : 2
+ <b6> DW_AT_decl_line : 111
+ <2><b7>: Abbrev Number: 5 (DW_TAG_member)
+ <b8> DW_AT_name : (indirect string, offset: 0xe7): srcdevid
+ <bc> DW_AT_type : <0x9c>
+ <c0> DW_AT_decl_file : 2
+ <c1> DW_AT_decl_line : 112
+ <c2> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><c5>: Abbrev Number: 5 (DW_TAG_member)
+ <c6> DW_AT_name : (indirect string, offset: 0xf0): cont_reading_from_srcdev_mode
+ <ca> DW_AT_type : <0x9c>
+ <ce> DW_AT_decl_file : 2
+ <cf> DW_AT_decl_line : 113
+ <d0> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><d3>: Abbrev Number: 5 (DW_TAG_member)
+ <d4> DW_AT_name : (indirect string, offset: 0x10e): srcdev_name
+ <d8> DW_AT_type : <0xf1>
+ <dc> DW_AT_decl_file : 2
+ <dd> DW_AT_decl_line : 114
+ <de> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><e1>: Abbrev Number: 5 (DW_TAG_member)
+ <e2> DW_AT_name : (indirect string, offset: 0x136): tgtdev_name
+ <e6> DW_AT_type : <0xf1>
+ <ea> DW_AT_decl_file : 2
+ <eb> DW_AT_decl_line : 115
+ <ec> DW_AT_data_member_location: 3 byte block: 23 91 8 (DW_OP_plus_uconst: 1041)
+ <2><f0>: Abbrev Number: 0
+ <1><f1>: Abbrev Number: 9 (DW_TAG_array_type)
+ <f2> DW_AT_type : <0xff>
+ <2><f6>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <f7> DW_AT_type : <0x111>
+ <fb> DW_AT_lower_bound : 0
+ <fc> DW_AT_count : 1025
+ <2><fe>: Abbrev Number: 0
+ <1><ff>: Abbrev Number: 3 (DW_TAG_typedef)
+ <100> DW_AT_type : <0x10a>
+ <104> DW_AT_name : (indirect string, offset: 0x128): __u8
+ <108> DW_AT_decl_file : 1
+ <109> DW_AT_decl_line : 24
+ <1><10a>: Abbrev Number: 8 (DW_TAG_base_type)
+ <10b> DW_AT_name : (indirect string, offset: 0x11a): unsigned char
+ <10f> DW_AT_encoding : 8 (unsigned char)
+ <110> DW_AT_byte_size : 1
+ <1><111>: Abbrev Number: 11 (DW_TAG_base_type)
+ <112> DW_AT_name : (indirect string, offset: 0x12d): sizetype
+ <116> DW_AT_byte_size : 8
+ <117> DW_AT_encoding : 7 (unsigned)
+ <1><118>: Abbrev Number: 12 (DW_TAG_structure_type)
+ <119> DW_AT_name : (indirect string, offset: 0x1d3): btrfs_ioctl_dev_replace_status_params
+ <11d> DW_AT_byte_size : 48
+ <11e> DW_AT_decl_file : 2
+ <11f> DW_AT_decl_line : 122
+ <2><120>: Abbrev Number: 5 (DW_TAG_member)
+ <121> DW_AT_name : (indirect string, offset: 0x16e): replace_state
+ <125> DW_AT_type : <0x9c>
+ <129> DW_AT_decl_file : 2
+ <12a> DW_AT_decl_line : 123
+ <12b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><12e>: Abbrev Number: 5 (DW_TAG_member)
+ <12f> DW_AT_name : (indirect string, offset: 0x17c): progress_1000
+ <133> DW_AT_type : <0x9c>
+ <137> DW_AT_decl_file : 2
+ <138> DW_AT_decl_line : 124
+ <139> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><13c>: Abbrev Number: 5 (DW_TAG_member)
+ <13d> DW_AT_name : (indirect string, offset: 0x18a): time_started
+ <141> DW_AT_type : <0x9c>
+ <145> DW_AT_decl_file : 2
+ <146> DW_AT_decl_line : 125
+ <147> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><14a>: Abbrev Number: 5 (DW_TAG_member)
+ <14b> DW_AT_name : (indirect string, offset: 0x197): time_stopped
+ <14f> DW_AT_type : <0x9c>
+ <153> DW_AT_decl_file : 2
+ <154> DW_AT_decl_line : 126
+ <155> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><158>: Abbrev Number: 5 (DW_TAG_member)
+ <159> DW_AT_name : (indirect string, offset: 0x1a4): num_write_errors
+ <15d> DW_AT_type : <0x9c>
+ <161> DW_AT_decl_file : 2
+ <162> DW_AT_decl_line : 127
+ <163> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><166>: Abbrev Number: 5 (DW_TAG_member)
+ <167> DW_AT_name : (indirect string, offset: 0x1b5): num_uncorrectable_read_errors
+ <16b> DW_AT_type : <0x9c>
+ <16f> DW_AT_decl_file : 2
+ <170> DW_AT_decl_line : 128
+ <171> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><174>: Abbrev Number: 0
+ <1><175>: Abbrev Number: 9 (DW_TAG_array_type)
+ <176> DW_AT_type : <0x9c>
+ <2><17a>: Abbrev Number: 13 (DW_TAG_subrange_type)
+ <17b> DW_AT_type : <0x111>
+ <17f> DW_AT_lower_bound : 0
+ <180> DW_AT_count : 64
+ <2><181>: Abbrev Number: 0
+ <1><182>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2 b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2
new file mode 100644
index 00000000..db709b85
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2
@@ -0,0 +1,191 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0xa8): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 47
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x21c): struct_btrfs_ioctl_dev_replace_args
+DW_AT_decl_file : 3
+DW_AT_decl_line : 37
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1ff): btrfs_ioctl_dev_replace_args
+DW_AT_byte_size : 2600
+DW_AT_decl_file : 2
+DW_AT_decl_line : 137
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb9): cmd
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 138
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><52>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xda): result
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 139
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><60>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_type : <0x6a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 140
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><6a>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 2072
+DW_AT_decl_file : 2
+DW_AT_decl_line : 140
+<3><6f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): start
+DW_AT_type : <0xae>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 141
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><7d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x167): status
+DW_AT_type : <0x118>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 142
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><8c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f9): spare
+DW_AT_type : <0x175>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 144
+DW_AT_data_member_location: 3 byte block: 23 a8 10 (DW_OP_plus_uconst: 2088)
+<1><9c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xa7>
+DW_AT_name : (indirect string, offset: 0xd4): __u64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<1><a7>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xbd): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><ae>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x142): btrfs_ioctl_dev_replace_start_params
+DW_AT_byte_size : 2072
+DW_AT_decl_file : 2
+DW_AT_decl_line : 111
+<2><b7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe7): srcdevid
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 112
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><c5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): cont_reading_from_srcdev_mode
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 113
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><d3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10e): srcdev_name
+DW_AT_type : <0xf1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 114
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><e1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): tgtdev_name
+DW_AT_type : <0xf1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 115
+DW_AT_data_member_location: 3 byte block: 23 91 8 (DW_OP_plus_uconst: 1041)
+<1><f1>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0xff>
+<2><f6>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0x111>
+DW_AT_lower_bound : 0
+DW_AT_count : 1025
+<1><ff>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x10a>
+DW_AT_name : (indirect string, offset: 0x128): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><10a>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x11a): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><111>
+Abbrev Number: 11 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x12d): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><118>
+Abbrev Number: 12 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1d3): btrfs_ioctl_dev_replace_status_params
+DW_AT_byte_size : 48
+DW_AT_decl_file : 2
+DW_AT_decl_line : 122
+<2><120>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16e): replace_state
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 123
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><12e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17c): progress_1000
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 124
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><13c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18a): time_started
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 125
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><14a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x197): time_stopped
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 126
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><158>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a4): num_write_errors
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 127
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><166>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1b5): num_uncorrectable_read_errors
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 128
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<1><175>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0x9c>
+<2><17a>
+Abbrev Number: 13 (DW_TAG_subrange_type)
+DW_AT_type : <0x111>
+DW_AT_lower_bound : 0
+DW_AT_count : 64
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.h b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.h
new file mode 100644
index 00000000..170c59ba
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.h
@@ -0,0 +1,25 @@
+#include <stdint.h>
+typedef
+struct {
+uint64_t cmd;
+uint64_t result;
+union {
+struct {
+uint64_t srcdevid;
+uint64_t cont_reading_from_srcdev_mode;
+unsigned char srcdev_name[1025];
+unsigned char tgtdev_name[1025];
+unsigned char mpers_end_filler_1[6];
+} ATTRIBUTE_PACKED start;
+struct {
+uint64_t replace_state;
+uint64_t progress_1000;
+uint64_t time_started;
+uint64_t time_stopped;
+uint64_t num_write_errors;
+uint64_t num_uncorrectable_read_errors;
+} ATTRIBUTE_PACKED status;
+} ;
+uint64_t spare[64];
+} ATTRIBUTE_PACKED m32_struct_btrfs_ioctl_dev_replace_args;
+#define MPERS_m32_struct_btrfs_ioctl_dev_replace_args m32_struct_btrfs_ioctl_dev_replace_args
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c
new file mode 100644
index 00000000..e28a0c52
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2018 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"
+
+#ifdef HAVE_LINUX_BTRFS_H
+
+
+# include <linux/btrfs.h>
+
+typedef struct btrfs_ioctl_dev_replace_args
+ struct_btrfs_ioctl_dev_replace_args;
+typedef struct btrfs_ioctl_send_args
+ struct_btrfs_ioctl_send_args;
+typedef struct btrfs_ioctl_received_subvol_args
+ struct_btrfs_ioctl_received_subvol_args;
+typedef struct btrfs_ioctl_vol_args_v2
+ struct_btrfs_ioctl_vol_args_v2;
+
+#endif /* HAVE_LINUX_BTRFS_H */
+
+struct_btrfs_ioctl_received_subvol_args mpers_target_var;
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1
new file mode 100644
index 00000000..5a558887
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1
@@ -0,0 +1,133 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x11f (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_received_subvol_args.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x71): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0xac): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 47
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x16c): struct_btrfs_ioctl_received_subvol_args
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 41
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x14b): btrfs_ioctl_received_subvol_args
+ <40> DW_AT_byte_size : 200
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 386
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xbd): uuid
+ <49> DW_AT_type : <0xae>
+ <4d> DW_AT_decl_file : 1
+ <4e> DW_AT_decl_line : 387
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xd0): stransid
+ <58> DW_AT_type : <0xc9>
+ <5c> DW_AT_decl_file : 1
+ <5d> DW_AT_decl_line : 388
+ <5f> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xf6): rtransid
+ <67> DW_AT_type : <0xc9>
+ <6b> DW_AT_decl_file : 1
+ <6c> DW_AT_decl_line : 389
+ <6e> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xff): stime
+ <76> DW_AT_type : <0xdb>
+ <7a> DW_AT_decl_file : 1
+ <7b> DW_AT_decl_line : 390
+ <7d> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><80>: Abbrev Number: 5 (DW_TAG_member)
+ <81> DW_AT_name : (indirect string, offset: 0x136): rtime
+ <85> DW_AT_type : <0xdb>
+ <89> DW_AT_decl_file : 1
+ <8a> DW_AT_decl_line : 391
+ <8c> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><8f>: Abbrev Number: 5 (DW_TAG_member)
+ <90> DW_AT_name : (indirect string, offset: 0x13c): flags
+ <94> DW_AT_type : <0xc9>
+ <98> DW_AT_decl_file : 1
+ <99> DW_AT_decl_line : 392
+ <9b> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><9e>: Abbrev Number: 5 (DW_TAG_member)
+ <9f> DW_AT_name : (indirect string, offset: 0x142): reserved
+ <a3> DW_AT_type : <0x115>
+ <a7> DW_AT_decl_file : 1
+ <a8> DW_AT_decl_line : 393
+ <aa> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+ <2><ad>: Abbrev Number: 0
+ <1><ae>: Abbrev Number: 6 (DW_TAG_array_type)
+ <af> DW_AT_type : <0xbb>
+ <2><b3>: Abbrev Number: 7 (DW_TAG_subrange_type)
+ <b4> DW_AT_type : <0xc2>
+ <b8> DW_AT_lower_bound : 0
+ <b9> DW_AT_count : 16
+ <2><ba>: Abbrev Number: 0
+ <1><bb>: Abbrev Number: 8 (DW_TAG_base_type)
+ <bc> DW_AT_name : (indirect string, offset: 0xc2): char
+ <c0> DW_AT_encoding : 8 (unsigned char)
+ <c1> DW_AT_byte_size : 1
+ <1><c2>: Abbrev Number: 9 (DW_TAG_base_type)
+ <c3> DW_AT_name : (indirect string, offset: 0xc7): sizetype
+ <c7> DW_AT_byte_size : 8
+ <c8> DW_AT_encoding : 7 (unsigned)
+ <1><c9>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ca> DW_AT_type : <0xd4>
+ <ce> DW_AT_name : (indirect string, offset: 0xf0): __u64
+ <d2> DW_AT_decl_file : 2
+ <d3> DW_AT_decl_line : 31
+ <1><d4>: Abbrev Number: 8 (DW_TAG_base_type)
+ <d5> DW_AT_name : (indirect string, offset: 0xd9): long long unsigned int
+ <d9> DW_AT_encoding : 7 (unsigned)
+ <da> DW_AT_byte_size : 8
+ <1><db>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <dc> DW_AT_name : (indirect string, offset: 0x121): btrfs_ioctl_timespec
+ <e0> DW_AT_byte_size : 16
+ <e1> DW_AT_decl_file : 1
+ <e2> DW_AT_decl_line : 382
+ <2><e4>: Abbrev Number: 5 (DW_TAG_member)
+ <e5> DW_AT_name : (indirect string, offset: 0x105): sec
+ <e9> DW_AT_type : <0xc9>
+ <ed> DW_AT_decl_file : 1
+ <ee> DW_AT_decl_line : 383
+ <f0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><f3>: Abbrev Number: 5 (DW_TAG_member)
+ <f4> DW_AT_name : (indirect string, offset: 0x109): nsec
+ <f8> DW_AT_type : <0x103>
+ <fc> DW_AT_decl_file : 1
+ <fd> DW_AT_decl_line : 384
+ <ff> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><102>: Abbrev Number: 0
+ <1><103>: Abbrev Number: 3 (DW_TAG_typedef)
+ <104> DW_AT_type : <0x10e>
+ <108> DW_AT_name : (indirect string, offset: 0x11b): __u32
+ <10c> DW_AT_decl_file : 2
+ <10d> DW_AT_decl_line : 28
+ <1><10e>: Abbrev Number: 8 (DW_TAG_base_type)
+ <10f> DW_AT_name : (indirect string, offset: 0x10e): unsigned int
+ <113> DW_AT_encoding : 7 (unsigned)
+ <114> DW_AT_byte_size : 4
+ <1><115>: Abbrev Number: 6 (DW_TAG_array_type)
+ <116> DW_AT_type : <0xc9>
+ <2><11a>: Abbrev Number: 7 (DW_TAG_subrange_type)
+ <11b> DW_AT_type : <0xc2>
+ <11f> DW_AT_lower_bound : 0
+ <120> DW_AT_count : 16
+ <2><121>: Abbrev Number: 0
+ <1><122>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2 b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2
new file mode 100644
index 00000000..9cceb972
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2
@@ -0,0 +1,137 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0xac): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 47
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x16c): struct_btrfs_ioctl_received_subvol_args
+DW_AT_decl_file : 3
+DW_AT_decl_line : 41
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x14b): btrfs_ioctl_received_subvol_args
+DW_AT_byte_size : 200
+DW_AT_decl_file : 1
+DW_AT_decl_line : 386
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbd): uuid
+DW_AT_type : <0xae>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 387
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): stransid
+DW_AT_type : <0xc9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 388
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf6): rtransid
+DW_AT_type : <0xc9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 389
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xff): stime
+DW_AT_type : <0xdb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 390
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><80>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): rtime
+DW_AT_type : <0xdb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 391
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><8f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13c): flags
+DW_AT_type : <0xc9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 392
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><9e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x142): reserved
+DW_AT_type : <0x115>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 393
+DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+<1><ae>
+Abbrev Number: 6 (DW_TAG_array_type)
+DW_AT_type : <0xbb>
+<2><b3>
+Abbrev Number: 7 (DW_TAG_subrange_type)
+DW_AT_type : <0xc2>
+DW_AT_lower_bound : 0
+DW_AT_count : 16
+<1><bb>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc2): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><c2>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc7): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><c9>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xd4>
+DW_AT_name : (indirect string, offset: 0xf0): __u64
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+<1><d4>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd9): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><db>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x121): btrfs_ioctl_timespec
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 382
+<2><e4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x105): sec
+DW_AT_type : <0xc9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 383
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><f3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x109): nsec
+DW_AT_type : <0x103>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 384
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><103>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x10e>
+DW_AT_name : (indirect string, offset: 0x11b): __u32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 28
+<1><10e>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x10e): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><115>
+Abbrev Number: 6 (DW_TAG_array_type)
+DW_AT_type : <0xc9>
+<2><11a>
+Abbrev Number: 7 (DW_TAG_subrange_type)
+DW_AT_type : <0xc2>
+DW_AT_lower_bound : 0
+DW_AT_count : 16
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.h b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.h
new file mode 100644
index 00000000..c49b5717
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.h
@@ -0,0 +1,20 @@
+#include <stdint.h>
+typedef
+struct {
+char uuid[16];
+uint64_t stransid;
+uint64_t rtransid;
+struct {
+uint64_t sec;
+uint32_t nsec;
+unsigned char mpers_end_filler_1[4];
+} ATTRIBUTE_PACKED stime;
+struct {
+uint64_t sec;
+uint32_t nsec;
+unsigned char mpers_end_filler_1[4];
+} ATTRIBUTE_PACKED rtime;
+uint64_t flags;
+uint64_t reserved[16];
+} ATTRIBUTE_PACKED m32_struct_btrfs_ioctl_received_subvol_args;
+#define MPERS_m32_struct_btrfs_ioctl_received_subvol_args m32_struct_btrfs_ioctl_received_subvol_args
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.c b/mpers-m32/struct_btrfs_ioctl_send_args.c
new file mode 100644
index 00000000..1b45d523
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_send_args.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2018 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"
+
+#ifdef HAVE_LINUX_BTRFS_H
+
+
+# include <linux/btrfs.h>
+
+typedef struct btrfs_ioctl_dev_replace_args
+ struct_btrfs_ioctl_dev_replace_args;
+typedef struct btrfs_ioctl_send_args
+ struct_btrfs_ioctl_send_args;
+typedef struct btrfs_ioctl_received_subvol_args
+ struct_btrfs_ioctl_received_subvol_args;
+typedef struct btrfs_ioctl_vol_args_v2
+ struct_btrfs_ioctl_vol_args_v2;
+
+#endif /* HAVE_LINUX_BTRFS_H */
+
+struct_btrfs_ioctl_send_args mpers_target_var;
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.d1 b/mpers-m32/struct_btrfs_ioctl_send_args.d1
new file mode 100644
index 00000000..04ee16f6
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_send_args.d1
@@ -0,0 +1,100 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xd9 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_send_args.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x66): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0xa1): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 47
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x147): struct_btrfs_ioctl_send_args
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 39
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x131): btrfs_ioctl_send_args
+ <40> DW_AT_byte_size : 72
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 399
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xb2): send_fd
+ <49> DW_AT_type : <0x9f>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 400
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xce): clone_sources_count
+ <58> DW_AT_type : <0xb1>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 401
+ <5f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xff): clone_sources
+ <67> DW_AT_type : <0xc3>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 402
+ <6e> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0x10d): parent_root
+ <76> DW_AT_type : <0xb1>
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 403
+ <7d> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><80>: Abbrev Number: 5 (DW_TAG_member)
+ <81> DW_AT_name : (indirect string, offset: 0x119): flags
+ <85> DW_AT_type : <0xb1>
+ <89> DW_AT_decl_file : 2
+ <8a> DW_AT_decl_line : 404
+ <8c> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><8f>: Abbrev Number: 5 (DW_TAG_member)
+ <90> DW_AT_name : (indirect string, offset: 0x11f): reserved
+ <94> DW_AT_type : <0xc8>
+ <98> DW_AT_decl_file : 2
+ <99> DW_AT_decl_line : 405
+ <9b> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><9e>: Abbrev Number: 0
+ <1><9f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <a0> DW_AT_type : <0xaa>
+ <a4> DW_AT_name : (indirect string, offset: 0xc8): __s64
+ <a8> DW_AT_decl_file : 1
+ <a9> DW_AT_decl_line : 30
+ <1><aa>: Abbrev Number: 6 (DW_TAG_base_type)
+ <ab> DW_AT_name : (indirect string, offset: 0xba): long long int
+ <af> DW_AT_encoding : 5 (signed)
+ <b0> DW_AT_byte_size : 8
+ <1><b1>: Abbrev Number: 3 (DW_TAG_typedef)
+ <b2> DW_AT_type : <0xbc>
+ <b6> DW_AT_name : (indirect string, offset: 0xf9): __u64
+ <ba> DW_AT_decl_file : 1
+ <bb> DW_AT_decl_line : 31
+ <1><bc>: Abbrev Number: 6 (DW_TAG_base_type)
+ <bd> DW_AT_name : (indirect string, offset: 0xe2): long long unsigned int
+ <c1> DW_AT_encoding : 7 (unsigned)
+ <c2> DW_AT_byte_size : 8
+ <1><c3>: Abbrev Number: 7 (DW_TAG_pointer_type)
+ <c4> DW_AT_type : <0xb1>
+ <1><c8>: Abbrev Number: 8 (DW_TAG_array_type)
+ <c9> DW_AT_type : <0xb1>
+ <2><cd>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <ce> DW_AT_type : <0xd5>
+ <d2> DW_AT_lower_bound : 0
+ <d3> DW_AT_count : 4
+ <2><d4>: Abbrev Number: 0
+ <1><d5>: Abbrev Number: 10 (DW_TAG_base_type)
+ <d6> DW_AT_name : (indirect string, offset: 0x128): sizetype
+ <da> DW_AT_byte_size : 8
+ <db> DW_AT_encoding : 7 (unsigned)
+ <1><dc>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.d2 b/mpers-m32/struct_btrfs_ioctl_send_args.d2
new file mode 100644
index 00000000..e5dd66c2
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_send_args.d2
@@ -0,0 +1,100 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0xa1): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 47
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x147): struct_btrfs_ioctl_send_args
+DW_AT_decl_file : 3
+DW_AT_decl_line : 39
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x131): btrfs_ioctl_send_args
+DW_AT_byte_size : 72
+DW_AT_decl_file : 2
+DW_AT_decl_line : 399
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb2): send_fd
+DW_AT_type : <0x9f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 400
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xce): clone_sources_count
+DW_AT_type : <0xb1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 401
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xff): clone_sources
+DW_AT_type : <0xc3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 402
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10d): parent_root
+DW_AT_type : <0xb1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 403
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><80>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x119): flags
+DW_AT_type : <0xb1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 404
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><8f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11f): reserved
+DW_AT_type : <0xc8>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 405
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<1><9f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xaa>
+DW_AT_name : (indirect string, offset: 0xc8): __s64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+<1><aa>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xba): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><b1>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xbc>
+DW_AT_name : (indirect string, offset: 0xf9): __u64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<1><bc>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe2): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><c3>
+Abbrev Number: 7 (DW_TAG_pointer_type)
+DW_AT_type : <0xb1>
+<1><c8>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0xb1>
+<2><cd>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0xd5>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
+<1><d5>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x128): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.h b/mpers-m32/struct_btrfs_ioctl_send_args.h
new file mode 100644
index 00000000..59f963a7
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_send_args.h
@@ -0,0 +1,16 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+int64_t send_fd;
+uint64_t clone_sources_count;
+mpers_ptr_t clone_sources;
+unsigned char mpers_filler_1[4];
+uint64_t parent_root;
+uint64_t flags;
+uint64_t reserved[4];
+} ATTRIBUTE_PACKED m32_struct_btrfs_ioctl_send_args;
+#define MPERS_m32_struct_btrfs_ioctl_send_args m32_struct_btrfs_ioctl_send_args
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c
new file mode 100644
index 00000000..fd433ccb
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2018 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"
+
+#ifdef HAVE_LINUX_BTRFS_H
+
+
+# include <linux/btrfs.h>
+
+typedef struct btrfs_ioctl_dev_replace_args
+ struct_btrfs_ioctl_dev_replace_args;
+typedef struct btrfs_ioctl_send_args
+ struct_btrfs_ioctl_send_args;
+typedef struct btrfs_ioctl_received_subvol_args
+ struct_btrfs_ioctl_received_subvol_args;
+typedef struct btrfs_ioctl_vol_args_v2
+ struct_btrfs_ioctl_vol_args_v2;
+
+#endif /* HAVE_LINUX_BTRFS_H */
+
+struct_btrfs_ioctl_vol_args_v2 mpers_target_var;
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1
new file mode 100644
index 00000000..746a93cb
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1
@@ -0,0 +1,238 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x1eb (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_btrfs_ioctl_vol_args_v2.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x68): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0xa3): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 47
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x1c5): struct_btrfs_ioctl_vol_args_v2
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 43
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x1ad): btrfs_ioctl_vol_args_v2
+ <40> DW_AT_byte_size : 4096
+ <42> DW_AT_decl_file : 2
+ <43> DW_AT_decl_line : 67
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xb4): fd
+ <49> DW_AT_type : <0xe3>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 68
+ <4f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><52>: Abbrev Number: 5 (DW_TAG_member)
+ <53> DW_AT_name : (indirect string, offset: 0xcb): transid
+ <57> DW_AT_type : <0xf5>
+ <5b> DW_AT_decl_file : 2
+ <5c> DW_AT_decl_line : 69
+ <5d> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><60>: Abbrev Number: 5 (DW_TAG_member)
+ <61> DW_AT_name : (indirect string, offset: 0xf0): flags
+ <65> DW_AT_type : <0xf5>
+ <69> DW_AT_decl_file : 2
+ <6a> DW_AT_decl_line : 70
+ <6b> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><6e>: Abbrev Number: 6 (DW_TAG_member)
+ <6f> DW_AT_type : <0x78>
+ <73> DW_AT_decl_file : 2
+ <74> DW_AT_decl_line : 71
+ <75> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><78>: Abbrev Number: 7 (DW_TAG_union_type)
+ <79> DW_AT_byte_size : 32
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 71
+ <3><7c>: Abbrev Number: 6 (DW_TAG_member)
+ <7d> DW_AT_type : <0x86>
+ <81> DW_AT_decl_file : 2
+ <82> DW_AT_decl_line : 72
+ <83> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><86>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <87> DW_AT_byte_size : 16
+ <88> DW_AT_decl_file : 2
+ <89> DW_AT_decl_line : 72
+ <4><8a>: Abbrev Number: 5 (DW_TAG_member)
+ <8b> DW_AT_name : (indirect string, offset: 0xf6): size
+ <8f> DW_AT_type : <0xf5>
+ <93> DW_AT_decl_file : 2
+ <94> DW_AT_decl_line : 73
+ <95> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><98>: Abbrev Number: 5 (DW_TAG_member)
+ <99> DW_AT_name : (indirect string, offset: 0xfb): qgroup_inherit
+ <9d> DW_AT_type : <0x107>
+ <a1> DW_AT_decl_file : 2
+ <a2> DW_AT_decl_line : 74
+ <a3> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><a6>: Abbrev Number: 0
+ <3><a7>: Abbrev Number: 5 (DW_TAG_member)
+ <a8> DW_AT_name : (indirect string, offset: 0x196): unused
+ <ac> DW_AT_type : <0x1cc>
+ <b0> DW_AT_decl_file : 2
+ <b1> DW_AT_decl_line : 76
+ <b2> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><b5>: Abbrev Number: 0
+ <2><b6>: Abbrev Number: 6 (DW_TAG_member)
+ <b7> DW_AT_type : <0xc0>
+ <bb> DW_AT_decl_file : 2
+ <bc> DW_AT_decl_line : 78
+ <bd> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><c0>: Abbrev Number: 9 (DW_TAG_union_type)
+ <c1> DW_AT_byte_size : 4040
+ <c3> DW_AT_decl_file : 2
+ <c4> DW_AT_decl_line : 78
+ <3><c5>: Abbrev Number: 5 (DW_TAG_member)
+ <c6> DW_AT_name : (indirect string, offset: 0x19d): name
+ <ca> DW_AT_type : <0x1d9>
+ <ce> DW_AT_decl_file : 2
+ <cf> DW_AT_decl_line : 79
+ <d0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><d3>: Abbrev Number: 5 (DW_TAG_member)
+ <d4> DW_AT_name : (indirect string, offset: 0x1a7): devid
+ <d8> DW_AT_type : <0xf5>
+ <dc> DW_AT_decl_file : 2
+ <dd> DW_AT_decl_line : 80
+ <de> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><e1>: Abbrev Number: 0
+ <2><e2>: Abbrev Number: 0
+ <1><e3>: Abbrev Number: 3 (DW_TAG_typedef)
+ <e4> DW_AT_type : <0xee>
+ <e8> DW_AT_name : (indirect string, offset: 0xc5): __s64
+ <ec> DW_AT_decl_file : 1
+ <ed> DW_AT_decl_line : 30
+ <1><ee>: Abbrev Number: 10 (DW_TAG_base_type)
+ <ef> DW_AT_name : (indirect string, offset: 0xb7): long long int
+ <f3> DW_AT_encoding : 5 (signed)
+ <f4> DW_AT_byte_size : 8
+ <1><f5>: Abbrev Number: 3 (DW_TAG_typedef)
+ <f6> DW_AT_type : <0x100>
+ <fa> DW_AT_name : (indirect string, offset: 0xea): __u64
+ <fe> DW_AT_decl_file : 1
+ <ff> DW_AT_decl_line : 31
+ <1><100>: Abbrev Number: 10 (DW_TAG_base_type)
+ <101> DW_AT_name : (indirect string, offset: 0xd3): long long unsigned int
+ <105> DW_AT_encoding : 7 (unsigned)
+ <106> DW_AT_byte_size : 8
+ <1><107>: Abbrev Number: 11 (DW_TAG_pointer_type)
+ <108> DW_AT_type : <0x10c>
+ <1><10c>: Abbrev Number: 12 (DW_TAG_structure_type)
+ <10d> DW_AT_name : (indirect string, offset: 0x181): btrfs_qgroup_inherit
+ <111> DW_AT_byte_size : 72
+ <112> DW_AT_decl_file : 2
+ <113> DW_AT_decl_line : 51
+ <2><114>: Abbrev Number: 5 (DW_TAG_member)
+ <115> DW_AT_name : (indirect string, offset: 0xf0): flags
+ <119> DW_AT_type : <0xf5>
+ <11d> DW_AT_decl_file : 2
+ <11e> DW_AT_decl_line : 52
+ <11f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><122>: Abbrev Number: 5 (DW_TAG_member)
+ <123> DW_AT_name : (indirect string, offset: 0x10a): num_qgroups
+ <127> DW_AT_type : <0xf5>
+ <12b> DW_AT_decl_file : 2
+ <12c> DW_AT_decl_line : 53
+ <12d> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><130>: Abbrev Number: 5 (DW_TAG_member)
+ <131> DW_AT_name : (indirect string, offset: 0x116): num_ref_copies
+ <135> DW_AT_type : <0xf5>
+ <139> DW_AT_decl_file : 2
+ <13a> DW_AT_decl_line : 54
+ <13b> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><13e>: Abbrev Number: 5 (DW_TAG_member)
+ <13f> DW_AT_name : (indirect string, offset: 0x125): num_excl_copies
+ <143> DW_AT_type : <0xf5>
+ <147> DW_AT_decl_file : 2
+ <148> DW_AT_decl_line : 55
+ <149> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><14c>: Abbrev Number: 5 (DW_TAG_member)
+ <14d> DW_AT_name : (indirect string, offset: 0x135): lim
+ <151> DW_AT_type : <0x169>
+ <155> DW_AT_decl_file : 2
+ <156> DW_AT_decl_line : 56
+ <157> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><15a>: Abbrev Number: 5 (DW_TAG_member)
+ <15b> DW_AT_name : (indirect string, offset: 0x170): qgroups
+ <15f> DW_AT_type : <0x1b8>
+ <163> DW_AT_decl_file : 2
+ <164> DW_AT_decl_line : 57
+ <165> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+ <2><168>: Abbrev Number: 0
+ <1><169>: Abbrev Number: 12 (DW_TAG_structure_type)
+ <16a> DW_AT_name : (indirect string, offset: 0x15d): btrfs_qgroup_limit
+ <16e> DW_AT_byte_size : 40
+ <16f> DW_AT_decl_file : 2
+ <170> DW_AT_decl_line : 43
+ <2><171>: Abbrev Number: 5 (DW_TAG_member)
+ <172> DW_AT_name : (indirect string, offset: 0xf0): flags
+ <176> DW_AT_type : <0xf5>
+ <17a> DW_AT_decl_file : 2
+ <17b> DW_AT_decl_line : 44
+ <17c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><17f>: Abbrev Number: 5 (DW_TAG_member)
+ <180> DW_AT_name : (indirect string, offset: 0x139): max_rfer
+ <184> DW_AT_type : <0xf5>
+ <188> DW_AT_decl_file : 2
+ <189> DW_AT_decl_line : 45
+ <18a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><18d>: Abbrev Number: 5 (DW_TAG_member)
+ <18e> DW_AT_name : (indirect string, offset: 0x142): max_excl
+ <192> DW_AT_type : <0xf5>
+ <196> DW_AT_decl_file : 2
+ <197> DW_AT_decl_line : 46
+ <198> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><19b>: Abbrev Number: 5 (DW_TAG_member)
+ <19c> DW_AT_name : (indirect string, offset: 0x14b): rsv_rfer
+ <1a0> DW_AT_type : <0xf5>
+ <1a4> DW_AT_decl_file : 2
+ <1a5> DW_AT_decl_line : 47
+ <1a6> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><1a9>: Abbrev Number: 5 (DW_TAG_member)
+ <1aa> DW_AT_name : (indirect string, offset: 0x154): rsv_excl
+ <1ae> DW_AT_type : <0xf5>
+ <1b2> DW_AT_decl_file : 2
+ <1b3> DW_AT_decl_line : 48
+ <1b4> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><1b7>: Abbrev Number: 0
+ <1><1b8>: Abbrev Number: 13 (DW_TAG_array_type)
+ <1b9> DW_AT_type : <0xf5>
+ <2><1bd>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <1be> DW_AT_type : <0x1c5>
+ <1c2> DW_AT_lower_bound : 0
+ <1c3> DW_AT_count : 0
+ <2><1c4>: Abbrev Number: 0
+ <1><1c5>: Abbrev Number: 15 (DW_TAG_base_type)
+ <1c6> DW_AT_name : (indirect string, offset: 0x178): sizetype
+ <1ca> DW_AT_byte_size : 8
+ <1cb> DW_AT_encoding : 7 (unsigned)
+ <1><1cc>: Abbrev Number: 13 (DW_TAG_array_type)
+ <1cd> DW_AT_type : <0xf5>
+ <2><1d1>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <1d2> DW_AT_type : <0x1c5>
+ <1d6> DW_AT_lower_bound : 0
+ <1d7> DW_AT_count : 4
+ <2><1d8>: Abbrev Number: 0
+ <1><1d9>: Abbrev Number: 13 (DW_TAG_array_type)
+ <1da> DW_AT_type : <0x1e7>
+ <2><1de>: Abbrev Number: 16 (DW_TAG_subrange_type)
+ <1df> DW_AT_type : <0x1c5>
+ <1e3> DW_AT_lower_bound : 0
+ <1e4> DW_AT_count : 4040
+ <2><1e6>: Abbrev Number: 0
+ <1><1e7>: Abbrev Number: 10 (DW_TAG_base_type)
+ <1e8> DW_AT_name : (indirect string, offset: 0x1a2): char
+ <1ec> DW_AT_encoding : 8 (unsigned char)
+ <1ed> DW_AT_byte_size : 1
+ <1><1ee>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2
new file mode 100644
index 00000000..6ed8b107
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2
@@ -0,0 +1,257 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0xa3): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 47
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x1c5): struct_btrfs_ioctl_vol_args_v2
+DW_AT_decl_file : 3
+DW_AT_decl_line : 43
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1ad): btrfs_ioctl_vol_args_v2
+DW_AT_byte_size : 4096
+DW_AT_decl_file : 2
+DW_AT_decl_line : 67
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb4): fd
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 68
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><52>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcb): transid
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 69
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><60>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): flags
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 70
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><6e>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_type : <0x78>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 71
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><78>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 71
+<3><7c>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_type : <0x86>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><86>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 72
+<4><8a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf6): size
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 73
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><98>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfb): qgroup_inherit
+DW_AT_type : <0x107>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 74
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<3><a7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x196): unused
+DW_AT_type : <0x1cc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 76
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><b6>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_type : <0xc0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 78
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><c0>
+Abbrev Number: 9 (DW_TAG_union_type)
+DW_AT_byte_size : 4040
+DW_AT_decl_file : 2
+DW_AT_decl_line : 78
+<3><c5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x19d): name
+DW_AT_type : <0x1d9>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 79
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><d3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a7): devid
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 80
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><e3>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xee>
+DW_AT_name : (indirect string, offset: 0xc5): __s64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+<1><ee>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb7): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><f5>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x100>
+DW_AT_name : (indirect string, offset: 0xea): __u64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<1><100>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd3): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><107>
+Abbrev Number: 11 (DW_TAG_pointer_type)
+DW_AT_type : <0x10c>
+<1><10c>
+Abbrev Number: 12 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x181): btrfs_qgroup_inherit
+DW_AT_byte_size : 72
+DW_AT_decl_file : 2
+DW_AT_decl_line : 51
+<2><114>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): flags
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 52
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><122>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10a): num_qgroups
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 53
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><130>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): num_ref_copies
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><13e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x125): num_excl_copies
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><14c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x135): lim
+DW_AT_type : <0x169>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><15a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x170): qgroups
+DW_AT_type : <0x1b8>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 57
+DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+<1><169>
+Abbrev Number: 12 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x15d): btrfs_qgroup_limit
+DW_AT_byte_size : 40
+DW_AT_decl_file : 2
+DW_AT_decl_line : 43
+<2><171>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): flags
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 44
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><17f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x139): max_rfer
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 45
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><18d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x142): max_excl
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 46
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><19b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14b): rsv_rfer
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 47
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><1a9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x154): rsv_excl
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<1><1b8>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0xf5>
+<2><1bd>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x1c5>
+DW_AT_lower_bound : 0
+DW_AT_count : 0
+<1><1c5>
+Abbrev Number: 15 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x178): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><1cc>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0xf5>
+<2><1d1>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x1c5>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
+<1><1d9>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x1e7>
+<2><1de>
+Abbrev Number: 16 (DW_TAG_subrange_type)
+DW_AT_type : <0x1c5>
+DW_AT_lower_bound : 0
+DW_AT_count : 4040
+<1><1e7>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1a2): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.h b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.h
new file mode 100644
index 00000000..7a5bc02b
--- /dev/null
+++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.h
@@ -0,0 +1,24 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+int64_t fd;
+uint64_t transid;
+uint64_t flags;
+union {
+struct {
+uint64_t size;
+mpers_ptr_t qgroup_inherit;
+unsigned char mpers_end_filler_1[4];
+} ATTRIBUTE_PACKED ;
+uint64_t unused[4];
+} ;
+union {
+char name[4040];
+uint64_t devid;
+} ;
+} ATTRIBUTE_PACKED m32_struct_btrfs_ioctl_vol_args_v2;
+#define MPERS_m32_struct_btrfs_ioctl_vol_args_v2 m32_struct_btrfs_ioctl_vol_args_v2
diff --git a/mpers-m32/struct_ff_effect.c b/mpers-m32/struct_ff_effect.c
new file mode 100644
index 00000000..618768e8
--- /dev/null
+++ b/mpers-m32/struct_ff_effect.c
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2015 Etienne Gemsa <etienne.gemsa@lse.epita.fr>
+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 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"
+
+#ifdef HAVE_LINUX_INPUT_H
+
+
+# include <linux/ioctl.h>
+# include <linux/input.h>
+
+typedef struct ff_effect struct_ff_effect;
+
+#endif /* HAVE_LINUX_INPUT_H */
+
+struct_ff_effect mpers_target_var;
diff --git a/mpers-m32/struct_ff_effect.d1 b/mpers-m32/struct_ff_effect.d1
new file mode 100644
index 00000000..45c39281
--- /dev/null
+++ b/mpers-m32/struct_ff_effect.d1
@@ -0,0 +1,366 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x30d (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_ff_effect.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5a): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 42
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x2cd): struct_ff_effect
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 38
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x2c3): ff_effect
+ <40> DW_AT_byte_size : 44
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 166
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa6): type
+ <48> DW_AT_type : <0xe3>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 167
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc0): id
+ <56> DW_AT_type : <0xf5>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 168
+ <5c> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xcf): direction
+ <64> DW_AT_type : <0xe3>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 169
+ <6a> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xd9): trigger
+ <72> DW_AT_type : <0x107>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 170
+ <78> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xfc): replay
+ <80> DW_AT_type : <0x12c>
+ <84> DW_AT_decl_file : 2
+ <85> DW_AT_decl_line : 171
+ <86> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x11a): u
+ <8e> DW_AT_type : <0x97>
+ <92> DW_AT_decl_file : 2
+ <93> DW_AT_decl_line : 178
+ <94> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><97>: Abbrev Number: 6 (DW_TAG_union_type)
+ <98> DW_AT_byte_size : 28
+ <99> DW_AT_decl_file : 2
+ <9a> DW_AT_decl_line : 172
+ <3><9b>: Abbrev Number: 5 (DW_TAG_member)
+ <9c> DW_AT_name : (indirect string, offset: 0x11c): constant
+ <a0> DW_AT_type : <0x151>
+ <a4> DW_AT_decl_file : 2
+ <a5> DW_AT_decl_line : 173
+ <a6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><a9>: Abbrev Number: 5 (DW_TAG_member)
+ <aa> DW_AT_name : (indirect string, offset: 0x185): ramp
+ <ae> DW_AT_type : <0x1b7>
+ <b2> DW_AT_decl_file : 2
+ <b3> DW_AT_decl_line : 174
+ <b4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><b7>: Abbrev Number: 5 (DW_TAG_member)
+ <b8> DW_AT_name : (indirect string, offset: 0x1af): periodic
+ <bc> DW_AT_type : <0x1ea>
+ <c0> DW_AT_decl_file : 2
+ <c1> DW_AT_decl_line : 175
+ <c2> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><c5>: Abbrev Number: 5 (DW_TAG_member)
+ <c6> DW_AT_name : (indirect string, offset: 0x21c): condition
+ <ca> DW_AT_type : <0x27a>
+ <ce> DW_AT_decl_file : 2
+ <cf> DW_AT_decl_line : 176
+ <d0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><d3>: Abbrev Number: 5 (DW_TAG_member)
+ <d4> DW_AT_name : (indirect string, offset: 0x28b): rumble
+ <d8> DW_AT_type : <0x2eb>
+ <dc> DW_AT_decl_file : 2
+ <dd> DW_AT_decl_line : 177
+ <de> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><e1>: Abbrev Number: 0
+ <2><e2>: Abbrev Number: 0
+ <1><e3>: Abbrev Number: 3 (DW_TAG_typedef)
+ <e4> DW_AT_type : <0xee>
+ <e8> DW_AT_name : (indirect string, offset: 0xba): __u16
+ <ec> DW_AT_decl_file : 1
+ <ed> DW_AT_decl_line : 26
+ <1><ee>: Abbrev Number: 7 (DW_TAG_base_type)
+ <ef> DW_AT_name : (indirect string, offset: 0xab): unsigned short
+ <f3> DW_AT_encoding : 7 (unsigned)
+ <f4> DW_AT_byte_size : 2
+ <1><f5>: Abbrev Number: 3 (DW_TAG_typedef)
+ <f6> DW_AT_type : <0x100>
+ <fa> DW_AT_name : (indirect string, offset: 0xc9): __s16
+ <fe> DW_AT_decl_file : 1
+ <ff> DW_AT_decl_line : 25
+ <1><100>: Abbrev Number: 7 (DW_TAG_base_type)
+ <101> DW_AT_name : (indirect string, offset: 0xc3): short
+ <105> DW_AT_encoding : 5 (signed)
+ <106> DW_AT_byte_size : 2
+ <1><107>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <108> DW_AT_name : (indirect string, offset: 0xf1): ff_trigger
+ <10c> DW_AT_byte_size : 4
+ <10d> DW_AT_decl_file : 2
+ <10e> DW_AT_decl_line : 125
+ <2><10f>: Abbrev Number: 5 (DW_TAG_member)
+ <110> DW_AT_name : (indirect string, offset: 0xe1): button
+ <114> DW_AT_type : <0xe3>
+ <118> DW_AT_decl_file : 2
+ <119> DW_AT_decl_line : 126
+ <11a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><11d>: Abbrev Number: 5 (DW_TAG_member)
+ <11e> DW_AT_name : (indirect string, offset: 0xe8): interval
+ <122> DW_AT_type : <0xe3>
+ <126> DW_AT_decl_file : 2
+ <127> DW_AT_decl_line : 127
+ <128> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><12b>: Abbrev Number: 0
+ <1><12c>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <12d> DW_AT_name : (indirect string, offset: 0x110): ff_replay
+ <131> DW_AT_byte_size : 4
+ <132> DW_AT_decl_file : 2
+ <133> DW_AT_decl_line : 121
+ <2><134>: Abbrev Number: 5 (DW_TAG_member)
+ <135> DW_AT_name : (indirect string, offset: 0x103): length
+ <139> DW_AT_type : <0xe3>
+ <13d> DW_AT_decl_file : 2
+ <13e> DW_AT_decl_line : 122
+ <13f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><142>: Abbrev Number: 5 (DW_TAG_member)
+ <143> DW_AT_name : (indirect string, offset: 0x10a): delay
+ <147> DW_AT_type : <0xe3>
+ <14b> DW_AT_decl_file : 2
+ <14c> DW_AT_decl_line : 123
+ <14d> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><150>: Abbrev Number: 0
+ <1><151>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <152> DW_AT_name : (indirect string, offset: 0x172): ff_constant_effect
+ <156> DW_AT_byte_size : 10
+ <157> DW_AT_decl_file : 2
+ <158> DW_AT_decl_line : 135
+ <2><159>: Abbrev Number: 5 (DW_TAG_member)
+ <15a> DW_AT_name : (indirect string, offset: 0x125): level
+ <15e> DW_AT_type : <0xf5>
+ <162> DW_AT_decl_file : 2
+ <163> DW_AT_decl_line : 136
+ <164> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><167>: Abbrev Number: 5 (DW_TAG_member)
+ <168> DW_AT_name : (indirect string, offset: 0x12b): envelope
+ <16c> DW_AT_type : <0x176>
+ <170> DW_AT_decl_file : 2
+ <171> DW_AT_decl_line : 137
+ <172> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><175>: Abbrev Number: 0
+ <1><176>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <177> DW_AT_name : (indirect string, offset: 0x166): ff_envelope
+ <17b> DW_AT_byte_size : 8
+ <17c> DW_AT_decl_file : 2
+ <17d> DW_AT_decl_line : 129
+ <2><17e>: Abbrev Number: 5 (DW_TAG_member)
+ <17f> DW_AT_name : (indirect string, offset: 0x134): attack_length
+ <183> DW_AT_type : <0xe3>
+ <187> DW_AT_decl_file : 2
+ <188> DW_AT_decl_line : 130
+ <189> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><18c>: Abbrev Number: 5 (DW_TAG_member)
+ <18d> DW_AT_name : (indirect string, offset: 0x142): attack_level
+ <191> DW_AT_type : <0xe3>
+ <195> DW_AT_decl_file : 2
+ <196> DW_AT_decl_line : 131
+ <197> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><19a>: Abbrev Number: 5 (DW_TAG_member)
+ <19b> DW_AT_name : (indirect string, offset: 0x14f): fade_length
+ <19f> DW_AT_type : <0xe3>
+ <1a3> DW_AT_decl_file : 2
+ <1a4> DW_AT_decl_line : 132
+ <1a5> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><1a8>: Abbrev Number: 5 (DW_TAG_member)
+ <1a9> DW_AT_name : (indirect string, offset: 0x15b): fade_level
+ <1ad> DW_AT_type : <0xe3>
+ <1b1> DW_AT_decl_file : 2
+ <1b2> DW_AT_decl_line : 133
+ <1b3> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+ <2><1b6>: Abbrev Number: 0
+ <1><1b7>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <1b8> DW_AT_name : (indirect string, offset: 0x1a0): ff_ramp_effect
+ <1bc> DW_AT_byte_size : 12
+ <1bd> DW_AT_decl_file : 2
+ <1be> DW_AT_decl_line : 139
+ <2><1bf>: Abbrev Number: 5 (DW_TAG_member)
+ <1c0> DW_AT_name : (indirect string, offset: 0x18a): start_level
+ <1c4> DW_AT_type : <0xf5>
+ <1c8> DW_AT_decl_file : 2
+ <1c9> DW_AT_decl_line : 140
+ <1ca> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><1cd>: Abbrev Number: 5 (DW_TAG_member)
+ <1ce> DW_AT_name : (indirect string, offset: 0x196): end_level
+ <1d2> DW_AT_type : <0xf5>
+ <1d6> DW_AT_decl_file : 2
+ <1d7> DW_AT_decl_line : 141
+ <1d8> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><1db>: Abbrev Number: 5 (DW_TAG_member)
+ <1dc> DW_AT_name : (indirect string, offset: 0x12b): envelope
+ <1e0> DW_AT_type : <0x176>
+ <1e4> DW_AT_decl_file : 2
+ <1e5> DW_AT_decl_line : 142
+ <1e6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><1e9>: Abbrev Number: 0
+ <1><1ea>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <1eb> DW_AT_name : (indirect string, offset: 0x209): ff_periodic_effect
+ <1ef> DW_AT_byte_size : 28
+ <1f0> DW_AT_decl_file : 2
+ <1f1> DW_AT_decl_line : 152
+ <2><1f2>: Abbrev Number: 5 (DW_TAG_member)
+ <1f3> DW_AT_name : (indirect string, offset: 0x1b8): waveform
+ <1f7> DW_AT_type : <0xe3>
+ <1fb> DW_AT_decl_file : 2
+ <1fc> DW_AT_decl_line : 153
+ <1fd> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><200>: Abbrev Number: 5 (DW_TAG_member)
+ <201> DW_AT_name : (indirect string, offset: 0x1c1): period
+ <205> DW_AT_type : <0xe3>
+ <209> DW_AT_decl_file : 2
+ <20a> DW_AT_decl_line : 154
+ <20b> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><20e>: Abbrev Number: 5 (DW_TAG_member)
+ <20f> DW_AT_name : (indirect string, offset: 0x1c8): magnitude
+ <213> DW_AT_type : <0xf5>
+ <217> DW_AT_decl_file : 2
+ <218> DW_AT_decl_line : 155
+ <219> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><21c>: Abbrev Number: 5 (DW_TAG_member)
+ <21d> DW_AT_name : (indirect string, offset: 0x1d2): offset
+ <221> DW_AT_type : <0xf5>
+ <225> DW_AT_decl_file : 2
+ <226> DW_AT_decl_line : 156
+ <227> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+ <2><22a>: Abbrev Number: 5 (DW_TAG_member)
+ <22b> DW_AT_name : (indirect string, offset: 0x1d9): phase
+ <22f> DW_AT_type : <0xe3>
+ <233> DW_AT_decl_file : 2
+ <234> DW_AT_decl_line : 157
+ <235> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><238>: Abbrev Number: 5 (DW_TAG_member)
+ <239> DW_AT_name : (indirect string, offset: 0x12b): envelope
+ <23d> DW_AT_type : <0x176>
+ <241> DW_AT_decl_file : 2
+ <242> DW_AT_decl_line : 158
+ <243> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><246>: Abbrev Number: 5 (DW_TAG_member)
+ <247> DW_AT_name : (indirect string, offset: 0x1df): custom_len
+ <24b> DW_AT_type : <0x263>
+ <24f> DW_AT_decl_file : 2
+ <250> DW_AT_decl_line : 159
+ <251> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><254>: Abbrev Number: 5 (DW_TAG_member)
+ <255> DW_AT_name : (indirect string, offset: 0x1fd): custom_data
+ <259> DW_AT_type : <0x275>
+ <25d> DW_AT_decl_file : 2
+ <25e> DW_AT_decl_line : 160
+ <25f> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><262>: Abbrev Number: 0
+ <1><263>: Abbrev Number: 3 (DW_TAG_typedef)
+ <264> DW_AT_type : <0x26e>
+ <268> DW_AT_name : (indirect string, offset: 0x1f7): __u32
+ <26c> DW_AT_decl_file : 1
+ <26d> DW_AT_decl_line : 28
+ <1><26e>: Abbrev Number: 7 (DW_TAG_base_type)
+ <26f> DW_AT_name : (indirect string, offset: 0x1ea): unsigned int
+ <273> DW_AT_encoding : 7 (unsigned)
+ <274> DW_AT_byte_size : 4
+ <1><275>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <276> DW_AT_type : <0xf5>
+ <1><27a>: Abbrev Number: 9 (DW_TAG_array_type)
+ <27b> DW_AT_type : <0x287>
+ <2><27f>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <280> DW_AT_type : <0x2e4>
+ <284> DW_AT_lower_bound : 0
+ <285> DW_AT_count : 2
+ <2><286>: Abbrev Number: 0
+ <1><287>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <288> DW_AT_name : (indirect string, offset: 0x26e): ff_condition_effect
+ <28c> DW_AT_byte_size : 12
+ <28d> DW_AT_decl_file : 2
+ <28e> DW_AT_decl_line : 144
+ <2><28f>: Abbrev Number: 5 (DW_TAG_member)
+ <290> DW_AT_name : (indirect string, offset: 0x226): right_saturation
+ <294> DW_AT_type : <0xe3>
+ <298> DW_AT_decl_file : 2
+ <299> DW_AT_decl_line : 145
+ <29a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><29d>: Abbrev Number: 5 (DW_TAG_member)
+ <29e> DW_AT_name : (indirect string, offset: 0x237): left_saturation
+ <2a2> DW_AT_type : <0xe3>
+ <2a6> DW_AT_decl_file : 2
+ <2a7> DW_AT_decl_line : 146
+ <2a8> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><2ab>: Abbrev Number: 5 (DW_TAG_member)
+ <2ac> DW_AT_name : (indirect string, offset: 0x247): right_coeff
+ <2b0> DW_AT_type : <0xf5>
+ <2b4> DW_AT_decl_file : 2
+ <2b5> DW_AT_decl_line : 147
+ <2b6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><2b9>: Abbrev Number: 5 (DW_TAG_member)
+ <2ba> DW_AT_name : (indirect string, offset: 0x253): left_coeff
+ <2be> DW_AT_type : <0xf5>
+ <2c2> DW_AT_decl_file : 2
+ <2c3> DW_AT_decl_line : 148
+ <2c4> DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+ <2><2c7>: Abbrev Number: 5 (DW_TAG_member)
+ <2c8> DW_AT_name : (indirect string, offset: 0x25e): deadband
+ <2cc> DW_AT_type : <0xe3>
+ <2d0> DW_AT_decl_file : 2
+ <2d1> DW_AT_decl_line : 149
+ <2d2> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><2d5>: Abbrev Number: 5 (DW_TAG_member)
+ <2d6> DW_AT_name : (indirect string, offset: 0x267): center
+ <2da> DW_AT_type : <0xf5>
+ <2de> DW_AT_decl_file : 2
+ <2df> DW_AT_decl_line : 150
+ <2e0> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><2e3>: Abbrev Number: 0
+ <1><2e4>: Abbrev Number: 11 (DW_TAG_base_type)
+ <2e5> DW_AT_name : (indirect string, offset: 0x282): sizetype
+ <2e9> DW_AT_byte_size : 8
+ <2ea> DW_AT_encoding : 7 (unsigned)
+ <1><2eb>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <2ec> DW_AT_name : (indirect string, offset: 0x2b2): ff_rumble_effect
+ <2f0> DW_AT_byte_size : 4
+ <2f1> DW_AT_decl_file : 2
+ <2f2> DW_AT_decl_line : 162
+ <2><2f3>: Abbrev Number: 5 (DW_TAG_member)
+ <2f4> DW_AT_name : (indirect string, offset: 0x292): strong_magnitude
+ <2f8> DW_AT_type : <0xe3>
+ <2fc> DW_AT_decl_file : 2
+ <2fd> DW_AT_decl_line : 163
+ <2fe> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><301>: Abbrev Number: 5 (DW_TAG_member)
+ <302> DW_AT_name : (indirect string, offset: 0x2a3): weak_magnitude
+ <306> DW_AT_type : <0xe3>
+ <30a> DW_AT_decl_file : 2
+ <30b> DW_AT_decl_line : 164
+ <30c> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><30f>: Abbrev Number: 0
+ <1><310>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_ff_effect.d2 b/mpers-m32/struct_ff_effect.d2
new file mode 100644
index 00000000..5523f80e
--- /dev/null
+++ b/mpers-m32/struct_ff_effect.d2
@@ -0,0 +1,402 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 42
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x2cd): struct_ff_effect
+DW_AT_decl_file : 3
+DW_AT_decl_line : 38
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2c3): ff_effect
+DW_AT_byte_size : 44
+DW_AT_decl_file : 2
+DW_AT_decl_line : 166
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa6): type
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 167
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc0): id
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 168
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): direction
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 169
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd9): trigger
+DW_AT_type : <0x107>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 170
+DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): replay
+DW_AT_type : <0x12c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 171
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11a): u
+DW_AT_type : <0x97>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 178
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><97>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 28
+DW_AT_decl_file : 2
+DW_AT_decl_line : 172
+<3><9b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11c): constant
+DW_AT_type : <0x151>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 173
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><a9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x185): ramp
+DW_AT_type : <0x1b7>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 174
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><b7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1af): periodic
+DW_AT_type : <0x1ea>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 175
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><c5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21c): condition
+DW_AT_type : <0x27a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 176
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><d3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x28b): rumble
+DW_AT_type : <0x2eb>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 177
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><e3>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xee>
+DW_AT_name : (indirect string, offset: 0xba): __u16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><ee>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xab): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><f5>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x100>
+DW_AT_name : (indirect string, offset: 0xc9): __s16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 25
+<1><100>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc3): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><107>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xf1): ff_trigger
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 125
+<2><10f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): button
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 126
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><11d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe8): interval
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 127
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><12c>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x110): ff_replay
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 121
+<2><134>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x103): length
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 122
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><142>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10a): delay
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 123
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><151>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x172): ff_constant_effect
+DW_AT_byte_size : 10
+DW_AT_decl_file : 2
+DW_AT_decl_line : 135
+<2><159>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x125): level
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 136
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><167>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): envelope
+DW_AT_type : <0x176>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 137
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><176>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x166): ff_envelope
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 129
+<2><17e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x134): attack_length
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 130
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><18c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x142): attack_level
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 131
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><19a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14f): fade_length
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 132
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><1a8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15b): fade_level
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 133
+DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+<1><1b7>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1a0): ff_ramp_effect
+DW_AT_byte_size : 12
+DW_AT_decl_file : 2
+DW_AT_decl_line : 139
+<2><1bf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18a): start_level
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 140
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1cd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x196): end_level
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 141
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><1db>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): envelope
+DW_AT_type : <0x176>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 142
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><1ea>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x209): ff_periodic_effect
+DW_AT_byte_size : 28
+DW_AT_decl_file : 2
+DW_AT_decl_line : 152
+<2><1f2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1b8): waveform
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 153
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><200>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c1): period
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 154
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><20e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c8): magnitude
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 155
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><21c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d2): offset
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 156
+DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+<2><22a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d9): phase
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 157
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><238>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): envelope
+DW_AT_type : <0x176>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 158
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<2><246>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1df): custom_len
+DW_AT_type : <0x263>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 159
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><254>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1fd): custom_data
+DW_AT_type : <0x275>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 160
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<1><263>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x26e>
+DW_AT_name : (indirect string, offset: 0x1f7): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><26e>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1ea): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><275>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0xf5>
+<1><27a>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0x287>
+<2><27f>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0x2e4>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><287>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x26e): ff_condition_effect
+DW_AT_byte_size : 12
+DW_AT_decl_file : 2
+DW_AT_decl_line : 144
+<2><28f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x226): right_saturation
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 145
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><29d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x237): left_saturation
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 146
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><2ab>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x247): right_coeff
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 147
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><2b9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x253): left_coeff
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 148
+DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
+<2><2c7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x25e): deadband
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 149
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><2d5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x267): center
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 150
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<1><2e4>
+Abbrev Number: 11 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x282): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><2eb>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2b2): ff_rumble_effect
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 162
+<2><2f3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x292): strong_magnitude
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 163
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><301>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2a3): weak_magnitude
+DW_AT_type : <0xe3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 164
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
diff --git a/mpers-m32/struct_ff_effect.h b/mpers-m32/struct_ff_effect.h
new file mode 100644
index 00000000..edb86630
--- /dev/null
+++ b/mpers-m32/struct_ff_effect.h
@@ -0,0 +1,70 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint16_t type;
+int16_t id;
+uint16_t direction;
+struct {
+uint16_t button;
+uint16_t interval;
+} ATTRIBUTE_PACKED trigger;
+struct {
+uint16_t length;
+uint16_t delay;
+} ATTRIBUTE_PACKED replay;
+unsigned char mpers_filler_1[2];
+union {
+struct {
+int16_t level;
+struct {
+uint16_t attack_length;
+uint16_t attack_level;
+uint16_t fade_length;
+uint16_t fade_level;
+} ATTRIBUTE_PACKED envelope;
+} ATTRIBUTE_PACKED constant;
+struct {
+int16_t start_level;
+int16_t end_level;
+struct {
+uint16_t attack_length;
+uint16_t attack_level;
+uint16_t fade_length;
+uint16_t fade_level;
+} ATTRIBUTE_PACKED envelope;
+} ATTRIBUTE_PACKED ramp;
+struct {
+uint16_t waveform;
+uint16_t period;
+int16_t magnitude;
+int16_t offset;
+uint16_t phase;
+struct {
+uint16_t attack_length;
+uint16_t attack_level;
+uint16_t fade_length;
+uint16_t fade_level;
+} ATTRIBUTE_PACKED envelope;
+unsigned char mpers_filler_2[2];
+uint32_t custom_len;
+mpers_ptr_t custom_data;
+} ATTRIBUTE_PACKED periodic;
+struct {
+uint16_t right_saturation;
+uint16_t left_saturation;
+int16_t right_coeff;
+int16_t left_coeff;
+uint16_t deadband;
+int16_t center;
+} ATTRIBUTE_PACKED condition[2];
+struct {
+uint16_t strong_magnitude;
+uint16_t weak_magnitude;
+} ATTRIBUTE_PACKED rumble;
+} u;
+} ATTRIBUTE_PACKED m32_struct_ff_effect;
+#define MPERS_m32_struct_ff_effect m32_struct_ff_effect
diff --git a/mpers-m32/struct_flock.c b/mpers-m32/struct_flock.c
new file mode 100644
index 00000000..5aa82c9b
--- /dev/null
+++ b/mpers-m32/struct_flock.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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 "flock.h"
+typedef struct_kernel_flock struct_flock;
+typedef struct_kernel_flock64 struct_flock64;
+
+struct_flock mpers_target_var;
diff --git a/mpers-m32/struct_flock.d1 b/mpers-m32/struct_flock.d1
new file mode 100644
index 00000000..bb915ba2
--- /dev/null
+++ b/mpers-m32/struct_flock.d1
@@ -0,0 +1,95 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xc8 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_flock.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x56): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x91): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 36
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x121): struct_flock
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 33
+ <1><3b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3c> DW_AT_type : <0x46>
+ <40> DW_AT_name : (indirect string, offset: 0x10d): struct_kernel_flock
+ <44> DW_AT_decl_file : 3
+ <45> DW_AT_decl_line : 35
+ <1><46>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <47> DW_AT_name : (indirect string, offset: 0x107): flock
+ <4b> DW_AT_byte_size : 16
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 148
+ <2><4e>: Abbrev Number: 5 (DW_TAG_member)
+ <4f> DW_AT_name : (indirect string, offset: 0xa2): l_type
+ <53> DW_AT_type : <0x95>
+ <57> DW_AT_decl_file : 1
+ <58> DW_AT_decl_line : 149
+ <59> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><5c>: Abbrev Number: 5 (DW_TAG_member)
+ <5d> DW_AT_name : (indirect string, offset: 0xaf): l_whence
+ <61> DW_AT_type : <0x95>
+ <65> DW_AT_decl_file : 1
+ <66> DW_AT_decl_line : 150
+ <67> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><6a>: Abbrev Number: 5 (DW_TAG_member)
+ <6b> DW_AT_name : (indirect string, offset: 0xb8): l_start
+ <6f> DW_AT_type : <0x9c>
+ <73> DW_AT_decl_file : 1
+ <74> DW_AT_decl_line : 151
+ <75> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><78>: Abbrev Number: 5 (DW_TAG_member)
+ <79> DW_AT_name : (indirect string, offset: 0xe8): l_len
+ <7d> DW_AT_type : <0x9c>
+ <81> DW_AT_decl_file : 1
+ <82> DW_AT_decl_line : 152
+ <83> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><86>: Abbrev Number: 5 (DW_TAG_member)
+ <87> DW_AT_name : (indirect string, offset: 0xee): l_pid
+ <8b> DW_AT_type : <0xb9>
+ <8f> DW_AT_decl_file : 1
+ <90> DW_AT_decl_line : 153
+ <91> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><94>: Abbrev Number: 0
+ <1><95>: Abbrev Number: 6 (DW_TAG_base_type)
+ <96> DW_AT_name : (indirect string, offset: 0xa9): short
+ <9a> DW_AT_encoding : 5 (signed)
+ <9b> DW_AT_byte_size : 2
+ <1><9c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <9d> DW_AT_type : <0xa7>
+ <a1> DW_AT_name : (indirect string, offset: 0xd9): __kernel_off_t
+ <a5> DW_AT_decl_file : 2
+ <a6> DW_AT_decl_line : 75
+ <1><a7>: Abbrev Number: 3 (DW_TAG_typedef)
+ <a8> DW_AT_type : <0xb2>
+ <ac> DW_AT_name : (indirect string, offset: 0xc9): __kernel_long_t
+ <b0> DW_AT_decl_file : 2
+ <b1> DW_AT_decl_line : 23
+ <1><b2>: Abbrev Number: 6 (DW_TAG_base_type)
+ <b3> DW_AT_name : (indirect string, offset: 0xc0): long int
+ <b7> DW_AT_encoding : 5 (signed)
+ <b8> DW_AT_byte_size : 4
+ <1><b9>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ba> DW_AT_type : <0xc4>
+ <be> DW_AT_name : (indirect string, offset: 0xf8): __kernel_pid_t
+ <c2> DW_AT_decl_file : 2
+ <c3> DW_AT_decl_line : 33
+ <1><c4>: Abbrev Number: 6 (DW_TAG_base_type)
+ <c5> DW_AT_name : (indirect string, offset: 0xf4): int
+ <c9> DW_AT_encoding : 5 (signed)
+ <ca> DW_AT_byte_size : 4
+ <1><cb>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_flock.d2 b/mpers-m32/struct_flock.d2
new file mode 100644
index 00000000..339edd1b
--- /dev/null
+++ b/mpers-m32/struct_flock.d2
@@ -0,0 +1,94 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x91): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 36
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x121): struct_flock
+DW_AT_decl_file : 4
+DW_AT_decl_line : 33
+<1><3b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x46>
+DW_AT_name : (indirect string, offset: 0x10d): struct_kernel_flock
+DW_AT_decl_file : 3
+DW_AT_decl_line : 35
+<1><46>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x107): flock
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 148
+<2><4e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa2): l_type
+DW_AT_type : <0x95>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 149
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><5c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xaf): l_whence
+DW_AT_type : <0x95>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 150
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><6a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb8): l_start
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 151
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><78>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe8): l_len
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 152
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><86>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xee): l_pid
+DW_AT_type : <0xb9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 153
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><95>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa9): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><9c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xa7>
+DW_AT_name : (indirect string, offset: 0xd9): __kernel_off_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 75
+<1><a7>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xb2>
+DW_AT_name : (indirect string, offset: 0xc9): __kernel_long_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+<1><b2>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc0): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><b9>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xc4>
+DW_AT_name : (indirect string, offset: 0xf8): __kernel_pid_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+<1><c4>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf4): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_flock.h b/mpers-m32/struct_flock.h
new file mode 100644
index 00000000..b59ab684
--- /dev/null
+++ b/mpers-m32/struct_flock.h
@@ -0,0 +1,10 @@
+#include <stdint.h>
+typedef
+struct {
+int16_t l_type;
+int16_t l_whence;
+int32_t l_start;
+int32_t l_len;
+int32_t l_pid;
+} ATTRIBUTE_PACKED m32_struct_flock;
+#define MPERS_m32_struct_flock m32_struct_flock
diff --git a/mpers-m32/struct_flock64.c b/mpers-m32/struct_flock64.c
new file mode 100644
index 00000000..3535de11
--- /dev/null
+++ b/mpers-m32/struct_flock64.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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 "flock.h"
+typedef struct_kernel_flock struct_flock;
+typedef struct_kernel_flock64 struct_flock64;
+
+struct_flock64 mpers_target_var;
diff --git a/mpers-m32/struct_flock64.d1 b/mpers-m32/struct_flock64.d1
new file mode 100644
index 00000000..8e5c9b41
--- /dev/null
+++ b/mpers-m32/struct_flock64.d1
@@ -0,0 +1,90 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xbd (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_flock64.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x58): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x93): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 36
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x11d): struct_flock64
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 34
+ <1><3b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3c> DW_AT_type : <0x46>
+ <40> DW_AT_name : (indirect string, offset: 0x107): struct_kernel_flock64
+ <44> DW_AT_decl_file : 3
+ <45> DW_AT_decl_line : 43
+ <1><46>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <47> DW_AT_name : (indirect string, offset: 0xff): flock64
+ <4b> DW_AT_byte_size : 32
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 161
+ <2><4e>: Abbrev Number: 5 (DW_TAG_member)
+ <4f> DW_AT_name : (indirect string, offset: 0xa4): l_type
+ <53> DW_AT_type : <0x95>
+ <57> DW_AT_decl_file : 1
+ <58> DW_AT_decl_line : 162
+ <59> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><5c>: Abbrev Number: 5 (DW_TAG_member)
+ <5d> DW_AT_name : (indirect string, offset: 0xb1): l_whence
+ <61> DW_AT_type : <0x95>
+ <65> DW_AT_decl_file : 1
+ <66> DW_AT_decl_line : 163
+ <67> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><6a>: Abbrev Number: 5 (DW_TAG_member)
+ <6b> DW_AT_name : (indirect string, offset: 0xba): l_start
+ <6f> DW_AT_type : <0x9c>
+ <73> DW_AT_decl_file : 1
+ <74> DW_AT_decl_line : 164
+ <75> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><78>: Abbrev Number: 5 (DW_TAG_member)
+ <79> DW_AT_name : (indirect string, offset: 0xe0): l_len
+ <7d> DW_AT_type : <0x9c>
+ <81> DW_AT_decl_file : 1
+ <82> DW_AT_decl_line : 165
+ <83> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><86>: Abbrev Number: 5 (DW_TAG_member)
+ <87> DW_AT_name : (indirect string, offset: 0xe6): l_pid
+ <8b> DW_AT_type : <0xae>
+ <8f> DW_AT_decl_file : 1
+ <90> DW_AT_decl_line : 166
+ <91> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><94>: Abbrev Number: 0
+ <1><95>: Abbrev Number: 6 (DW_TAG_base_type)
+ <96> DW_AT_name : (indirect string, offset: 0xab): short
+ <9a> DW_AT_encoding : 5 (signed)
+ <9b> DW_AT_byte_size : 2
+ <1><9c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <9d> DW_AT_type : <0xa7>
+ <a1> DW_AT_name : (indirect string, offset: 0xd0): __kernel_loff_t
+ <a5> DW_AT_decl_file : 2
+ <a6> DW_AT_decl_line : 76
+ <1><a7>: Abbrev Number: 6 (DW_TAG_base_type)
+ <a8> DW_AT_name : (indirect string, offset: 0xc2): long long int
+ <ac> DW_AT_encoding : 5 (signed)
+ <ad> DW_AT_byte_size : 8
+ <1><ae>: Abbrev Number: 3 (DW_TAG_typedef)
+ <af> DW_AT_type : <0xb9>
+ <b3> DW_AT_name : (indirect string, offset: 0xf0): __kernel_pid_t
+ <b7> DW_AT_decl_file : 2
+ <b8> DW_AT_decl_line : 33
+ <1><b9>: Abbrev Number: 6 (DW_TAG_base_type)
+ <ba> DW_AT_name : (indirect string, offset: 0xec): int
+ <be> DW_AT_encoding : 5 (signed)
+ <bf> DW_AT_byte_size : 4
+ <1><c0>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_flock64.d2 b/mpers-m32/struct_flock64.d2
new file mode 100644
index 00000000..7313fa4e
--- /dev/null
+++ b/mpers-m32/struct_flock64.d2
@@ -0,0 +1,88 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x93): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 36
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x11d): struct_flock64
+DW_AT_decl_file : 4
+DW_AT_decl_line : 34
+<1><3b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x46>
+DW_AT_name : (indirect string, offset: 0x107): struct_kernel_flock64
+DW_AT_decl_file : 3
+DW_AT_decl_line : 43
+<1><46>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xff): flock64
+DW_AT_byte_size : 32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 161
+<2><4e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa4): l_type
+DW_AT_type : <0x95>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 162
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><5c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb1): l_whence
+DW_AT_type : <0x95>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 163
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><6a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xba): l_start
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 164
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><78>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe0): l_len
+DW_AT_type : <0x9c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 165
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><86>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe6): l_pid
+DW_AT_type : <0xae>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 166
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<1><95>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xab): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><9c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xa7>
+DW_AT_name : (indirect string, offset: 0xd0): __kernel_loff_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 76
+<1><a7>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc2): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><ae>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xb9>
+DW_AT_name : (indirect string, offset: 0xf0): __kernel_pid_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+<1><b9>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xec): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_flock64.h b/mpers-m32/struct_flock64.h
new file mode 100644
index 00000000..b49b4f09
--- /dev/null
+++ b/mpers-m32/struct_flock64.h
@@ -0,0 +1,12 @@
+#include <stdint.h>
+typedef
+struct {
+int16_t l_type;
+int16_t l_whence;
+unsigned char mpers_filler_1[4];
+int64_t l_start;
+int64_t l_len;
+int32_t l_pid;
+unsigned char mpers_end_filler_2[4];
+} ATTRIBUTE_PACKED m32_struct_flock64;
+#define MPERS_m32_struct_flock64 m32_struct_flock64
diff --git a/mpers-m32/struct_group_req.c b/mpers-m32/struct_group_req.c
new file mode 100644
index 00000000..408e1165
--- /dev/null
+++ b/mpers-m32/struct_group_req.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015-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 <netinet/in.h>
+
+#ifdef MCAST_JOIN_GROUP
+
+typedef struct group_req struct_group_req;
+
+#endif /* MCAST_JOIN_GROUP */
+
+struct_group_req mpers_target_var;
diff --git a/mpers-m32/struct_group_req.d1 b/mpers-m32/struct_group_req.d1
new file mode 100644
index 00000000..2c7fce1a
--- /dev/null
+++ b/mpers-m32/struct_group_req.d1
@@ -0,0 +1,98 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xc3 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_group_req.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5a): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 37
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x136): struct_group_req
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 33
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x12c): group_req
+ <40> DW_AT_byte_size : 132
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 163
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa6): gr_interface
+ <48> DW_AT_type : <0x61>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 164
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 6 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc6): gr_group
+ <56> DW_AT_type : <0x73>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 165
+ <5c> Unknown AT value: 88: 4
+ <5d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><60>: Abbrev Number: 0
+ <1><61>: Abbrev Number: 3 (DW_TAG_typedef)
+ <62> DW_AT_type : <0x6c>
+ <66> DW_AT_name : (indirect string, offset: 0xc0): __u32
+ <6a> DW_AT_decl_file : 1
+ <6b> DW_AT_decl_line : 28
+ <1><6c>: Abbrev Number: 7 (DW_TAG_base_type)
+ <6d> DW_AT_name : (indirect string, offset: 0xb3): unsigned int
+ <71> DW_AT_encoding : 7 (unsigned)
+ <72> DW_AT_byte_size : 4
+ <1><73>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <74> DW_AT_name : (indirect string, offset: 0x112): __kernel_sockaddr_storage
+ <78> DW_AT_byte_size : 128
+ <79> DW_AT_decl_file : 3
+ <7a> DW_AT_decl_line : 24
+ <7b> Unknown AT value: 88: 4
+ <2><7c>: Abbrev Number: 5 (DW_TAG_member)
+ <7d> DW_AT_name : (indirect string, offset: 0xcf): ss_family
+ <81> DW_AT_type : <0x99>
+ <85> DW_AT_decl_file : 3
+ <86> DW_AT_decl_line : 25
+ <87> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><8a>: Abbrev Number: 5 (DW_TAG_member)
+ <8b> DW_AT_name : (indirect string, offset: 0xfd): __data
+ <8f> DW_AT_type : <0xab>
+ <93> DW_AT_decl_file : 3
+ <94> DW_AT_decl_line : 26
+ <95> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><98>: Abbrev Number: 0
+ <1><99>: Abbrev Number: 3 (DW_TAG_typedef)
+ <9a> DW_AT_type : <0xa4>
+ <9e> DW_AT_name : (indirect string, offset: 0xe8): __kernel_sa_family_t
+ <a2> DW_AT_decl_file : 3
+ <a3> DW_AT_decl_line : 23
+ <1><a4>: Abbrev Number: 7 (DW_TAG_base_type)
+ <a5> DW_AT_name : (indirect string, offset: 0xd9): unsigned short
+ <a9> DW_AT_encoding : 7 (unsigned)
+ <aa> DW_AT_byte_size : 2
+ <1><ab>: Abbrev Number: 9 (DW_TAG_array_type)
+ <ac> DW_AT_type : <0xb8>
+ <2><b0>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <b1> DW_AT_type : <0xbf>
+ <b5> DW_AT_lower_bound : 0
+ <b6> DW_AT_count : 126
+ <2><b7>: Abbrev Number: 0
+ <1><b8>: Abbrev Number: 7 (DW_TAG_base_type)
+ <b9> DW_AT_name : (indirect string, offset: 0x104): char
+ <bd> DW_AT_encoding : 8 (unsigned char)
+ <be> DW_AT_byte_size : 1
+ <1><bf>: Abbrev Number: 11 (DW_TAG_base_type)
+ <c0> DW_AT_name : (indirect string, offset: 0x109): sizetype
+ <c4> DW_AT_byte_size : 8
+ <c5> DW_AT_encoding : 7 (unsigned)
+ <1><c6>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_group_req.d2 b/mpers-m32/struct_group_req.d2
new file mode 100644
index 00000000..0c8a5d8f
--- /dev/null
+++ b/mpers-m32/struct_group_req.d2
@@ -0,0 +1,96 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 37
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x136): struct_group_req
+DW_AT_decl_file : 4
+DW_AT_decl_line : 33
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x12c): group_req
+DW_AT_byte_size : 132
+DW_AT_decl_file : 2
+DW_AT_decl_line : 163
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa6): gr_interface
+DW_AT_type : <0x61>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 164
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc6): gr_group
+DW_AT_type : <0x73>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 165
+Unknown AT value: 88: 4
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><61>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x6c>
+DW_AT_name : (indirect string, offset: 0xc0): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><6c>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb3): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><73>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x112): __kernel_sockaddr_storage
+DW_AT_byte_size : 128
+DW_AT_decl_file : 3
+DW_AT_decl_line : 24
+Unknown AT value: 88: 4
+<2><7c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): ss_family
+DW_AT_type : <0x99>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><8a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfd): __data
+DW_AT_type : <0xab>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><99>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xa4>
+DW_AT_name : (indirect string, offset: 0xe8): __kernel_sa_family_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 23
+<1><a4>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd9): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><ab>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0xb8>
+<2><b0>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0xbf>
+DW_AT_lower_bound : 0
+DW_AT_count : 126
+<1><b8>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x104): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><bf>
+Abbrev Number: 11 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x109): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/struct_group_req.h b/mpers-m32/struct_group_req.h
new file mode 100644
index 00000000..c4ff1be3
--- /dev/null
+++ b/mpers-m32/struct_group_req.h
@@ -0,0 +1,10 @@
+#include <stdint.h>
+typedef
+struct {
+uint32_t gr_interface;
+struct {
+uint16_t ss_family;
+char __data[126];
+} ATTRIBUTE_PACKED gr_group;
+} ATTRIBUTE_PACKED m32_struct_group_req;
+#define MPERS_m32_struct_group_req m32_struct_group_req
diff --git a/mpers-m32/struct_hd_geometry.c b/mpers-m32/struct_hd_geometry.c
new file mode 100644
index 00000000..bb199e67
--- /dev/null
+++ b/mpers-m32/struct_hd_geometry.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2009, 2010 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 <linux/hdreg.h>
+
+typedef struct hd_geometry struct_hd_geometry;
+
+struct_hd_geometry mpers_target_var;
diff --git a/mpers-m32/struct_hd_geometry.d1 b/mpers-m32/struct_hd_geometry.d1
new file mode 100644
index 00000000..5fb6cfd4
--- /dev/null
+++ b/mpers-m32/struct_hd_geometry.d1
@@ -0,0 +1,69 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x92 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_hd_geometry.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5c): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 37
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x101): struct_hd_geometry
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 35
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xf5): hd_geometry
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 255
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa8): heads
+ <48> DW_AT_type : <0x80>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 256
+ <4f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><52>: Abbrev Number: 5 (DW_TAG_member)
+ <53> DW_AT_name : (indirect string, offset: 0xbc): sectors
+ <57> DW_AT_type : <0x80>
+ <5b> DW_AT_decl_file : 1
+ <5c> DW_AT_decl_line : 257
+ <5e> DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1)
+ <2><61>: Abbrev Number: 5 (DW_TAG_member)
+ <62> DW_AT_name : (indirect string, offset: 0xc4): cylinders
+ <66> DW_AT_type : <0x87>
+ <6a> DW_AT_decl_file : 1
+ <6b> DW_AT_decl_line : 258
+ <6d> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><70>: Abbrev Number: 5 (DW_TAG_member)
+ <71> DW_AT_name : (indirect string, offset: 0xdd): start
+ <75> DW_AT_type : <0x8e>
+ <79> DW_AT_decl_file : 1
+ <7a> DW_AT_decl_line : 259
+ <7c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><7f>: Abbrev Number: 0
+ <1><80>: Abbrev Number: 6 (DW_TAG_base_type)
+ <81> DW_AT_name : (indirect string, offset: 0xae): unsigned char
+ <85> DW_AT_encoding : 8 (unsigned char)
+ <86> DW_AT_byte_size : 1
+ <1><87>: Abbrev Number: 6 (DW_TAG_base_type)
+ <88> DW_AT_name : (indirect string, offset: 0xce): unsigned short
+ <8c> DW_AT_encoding : 7 (unsigned)
+ <8d> DW_AT_byte_size : 2
+ <1><8e>: Abbrev Number: 6 (DW_TAG_base_type)
+ <8f> DW_AT_name : (indirect string, offset: 0xe3): long unsigned int
+ <93> DW_AT_encoding : 7 (unsigned)
+ <94> DW_AT_byte_size : 4
+ <1><95>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_hd_geometry.d2 b/mpers-m32/struct_hd_geometry.d2
new file mode 100644
index 00000000..4deae48f
--- /dev/null
+++ b/mpers-m32/struct_hd_geometry.d2
@@ -0,0 +1,63 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 37
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x101): struct_hd_geometry
+DW_AT_decl_file : 2
+DW_AT_decl_line : 35
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xf5): hd_geometry
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 255
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): heads
+DW_AT_type : <0x80>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 256
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><52>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbc): sectors
+DW_AT_type : <0x80>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 257
+DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1)
+<2><61>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc4): cylinders
+DW_AT_type : <0x87>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 258
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><70>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdd): start
+DW_AT_type : <0x8e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 259
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><80>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xae): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><87>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xce): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><8e>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe3): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_hd_geometry.h b/mpers-m32/struct_hd_geometry.h
new file mode 100644
index 00000000..eb488f8b
--- /dev/null
+++ b/mpers-m32/struct_hd_geometry.h
@@ -0,0 +1,9 @@
+#include <stdint.h>
+typedef
+struct {
+unsigned char heads;
+unsigned char sectors;
+uint16_t cylinders;
+uint32_t start;
+} ATTRIBUTE_PACKED m32_struct_hd_geometry;
+#define MPERS_m32_struct_hd_geometry m32_struct_hd_geometry
diff --git a/mpers-m32/struct_ifconf.c b/mpers-m32/struct_ifconf.c
new file mode 100644
index 00000000..d7003acf
--- /dev/null
+++ b/mpers-m32/struct_ifconf.c
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-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 "print_fields.h"
+
+#include <sys/socket.h>
+#if defined ALPHA || defined SH || defined SH64
+# include <linux/ioctl.h>
+#endif
+#include <linux/sockios.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+
+
+typedef struct ifconf struct_ifconf;
+typedef struct ifreq struct_ifreq;
+
+struct_ifconf mpers_target_var;
diff --git a/mpers-m32/struct_ifconf.d1 b/mpers-m32/struct_ifconf.d1
new file mode 100644
index 00000000..539da8e8
--- /dev/null
+++ b/mpers-m32/struct_ifconf.d1
@@ -0,0 +1,571 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x4ae (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_ifconf.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x57): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 5
+ <29> DW_AT_decl_line : 44
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x359): struct_ifconf
+ <39> DW_AT_decl_file : 5
+ <3a> DW_AT_decl_line : 41
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x352): ifconf
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 164
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa3): ifc_len
+ <48> DW_AT_type : <0x81>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 165
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xaf): ifc_ifcu
+ <56> DW_AT_type : <0x5f>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 169
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 6 (DW_TAG_union_type)
+ <60> DW_AT_byte_size : 4
+ <61> DW_AT_decl_file : 1
+ <62> DW_AT_decl_line : 166
+ <3><63>: Abbrev Number: 5 (DW_TAG_member)
+ <64> DW_AT_name : (indirect string, offset: 0xb8): ifcu_buf
+ <68> DW_AT_type : <0x88>
+ <6c> DW_AT_decl_file : 1
+ <6d> DW_AT_decl_line : 167
+ <6e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xc6): ifcu_req
+ <76> DW_AT_type : <0x94>
+ <7a> DW_AT_decl_file : 1
+ <7b> DW_AT_decl_line : 168
+ <7c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><7f>: Abbrev Number: 0
+ <2><80>: Abbrev Number: 0
+ <1><81>: Abbrev Number: 7 (DW_TAG_base_type)
+ <82> DW_AT_name : (indirect string, offset: 0xab): int
+ <86> DW_AT_encoding : 5 (signed)
+ <87> DW_AT_byte_size : 4
+ <1><88>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <89> DW_AT_type : <0x8d>
+ <1><8d>: Abbrev Number: 7 (DW_TAG_base_type)
+ <8e> DW_AT_name : (indirect string, offset: 0xc1): char
+ <92> DW_AT_encoding : 8 (unsigned char)
+ <93> DW_AT_byte_size : 1
+ <1><94>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <95> DW_AT_type : <0x99>
+ <1><99>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <9a> DW_AT_name : (indirect string, offset: 0x34c): ifreq
+ <9e> DW_AT_byte_size : 32
+ <9f> DW_AT_decl_file : 1
+ <a0> DW_AT_decl_line : 124
+ <2><a1>: Abbrev Number: 5 (DW_TAG_member)
+ <a2> DW_AT_name : (indirect string, offset: 0xcf): ifr_ifrn
+ <a6> DW_AT_type : <0xaf>
+ <aa> DW_AT_decl_file : 1
+ <ab> DW_AT_decl_line : 128
+ <ac> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><af>: Abbrev Number: 6 (DW_TAG_union_type)
+ <b0> DW_AT_byte_size : 16
+ <b1> DW_AT_decl_file : 1
+ <b2> DW_AT_decl_line : 126
+ <3><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0xd8): ifrn_name
+ <b8> DW_AT_type : <0x18c>
+ <bc> DW_AT_decl_file : 1
+ <bd> DW_AT_decl_line : 127
+ <be> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><c1>: Abbrev Number: 0
+ <2><c2>: Abbrev Number: 5 (DW_TAG_member)
+ <c3> DW_AT_name : (indirect string, offset: 0xeb): ifr_ifru
+ <c7> DW_AT_type : <0xd0>
+ <cb> DW_AT_decl_file : 1
+ <cc> DW_AT_decl_line : 143
+ <cd> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><d0>: Abbrev Number: 6 (DW_TAG_union_type)
+ <d1> DW_AT_byte_size : 16
+ <d2> DW_AT_decl_file : 1
+ <d3> DW_AT_decl_line : 129
+ <3><d4>: Abbrev Number: 5 (DW_TAG_member)
+ <d5> DW_AT_name : (indirect string, offset: 0xf4): ifru_addr
+ <d9> DW_AT_type : <0x1a0>
+ <dd> DW_AT_decl_file : 1
+ <de> DW_AT_decl_line : 130
+ <df> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><e2>: Abbrev Number: 5 (DW_TAG_member)
+ <e3> DW_AT_name : (indirect string, offset: 0x134): ifru_dstaddr
+ <e7> DW_AT_type : <0x1a0>
+ <eb> DW_AT_decl_file : 1
+ <ec> DW_AT_decl_line : 131
+ <ed> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><f0>: Abbrev Number: 5 (DW_TAG_member)
+ <f1> DW_AT_name : (indirect string, offset: 0x141): ifru_broadaddr
+ <f5> DW_AT_type : <0x1a0>
+ <f9> DW_AT_decl_file : 1
+ <fa> DW_AT_decl_line : 132
+ <fb> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><fe>: Abbrev Number: 5 (DW_TAG_member)
+ <ff> DW_AT_name : (indirect string, offset: 0x150): ifru_netmask
+ <103> DW_AT_type : <0x1a0>
+ <107> DW_AT_decl_file : 1
+ <108> DW_AT_decl_line : 133
+ <109> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><10c>: Abbrev Number: 5 (DW_TAG_member)
+ <10d> DW_AT_name : (indirect string, offset: 0x15d): ifru_hwaddr
+ <111> DW_AT_type : <0x1a0>
+ <115> DW_AT_decl_file : 1
+ <116> DW_AT_decl_line : 134
+ <117> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><11a>: Abbrev Number: 5 (DW_TAG_member)
+ <11b> DW_AT_name : (indirect string, offset: 0x169): ifru_flags
+ <11f> DW_AT_type : <0x1e4>
+ <123> DW_AT_decl_file : 1
+ <124> DW_AT_decl_line : 135
+ <125> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><128>: Abbrev Number: 5 (DW_TAG_member)
+ <129> DW_AT_name : (indirect string, offset: 0x17a): ifru_ivalue
+ <12d> DW_AT_type : <0x81>
+ <131> DW_AT_decl_file : 1
+ <132> DW_AT_decl_line : 136
+ <133> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><136>: Abbrev Number: 5 (DW_TAG_member)
+ <137> DW_AT_name : (indirect string, offset: 0x186): ifru_mtu
+ <13b> DW_AT_type : <0x81>
+ <13f> DW_AT_decl_file : 1
+ <140> DW_AT_decl_line : 137
+ <141> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><144>: Abbrev Number: 5 (DW_TAG_member)
+ <145> DW_AT_name : (indirect string, offset: 0x18f): ifru_map
+ <149> DW_AT_type : <0x1eb>
+ <14d> DW_AT_decl_file : 1
+ <14e> DW_AT_decl_line : 138
+ <14f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><152>: Abbrev Number: 5 (DW_TAG_member)
+ <153> DW_AT_name : (indirect string, offset: 0x1e7): ifru_slave
+ <157> DW_AT_type : <0x18c>
+ <15b> DW_AT_decl_file : 1
+ <15c> DW_AT_decl_line : 139
+ <15d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><160>: Abbrev Number: 5 (DW_TAG_member)
+ <161> DW_AT_name : (indirect string, offset: 0x1f2): ifru_newname
+ <165> DW_AT_type : <0x18c>
+ <169> DW_AT_decl_file : 1
+ <16a> DW_AT_decl_line : 140
+ <16b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><16e>: Abbrev Number: 5 (DW_TAG_member)
+ <16f> DW_AT_name : (indirect string, offset: 0x1ff): ifru_data
+ <173> DW_AT_type : <0x256>
+ <177> DW_AT_decl_file : 1
+ <178> DW_AT_decl_line : 141
+ <179> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><17c>: Abbrev Number: 5 (DW_TAG_member)
+ <17d> DW_AT_name : (indirect string, offset: 0x209): ifru_settings
+ <181> DW_AT_type : <0x257>
+ <185> DW_AT_decl_file : 1
+ <186> DW_AT_decl_line : 142
+ <187> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><18a>: Abbrev Number: 0
+ <2><18b>: Abbrev Number: 0
+ <1><18c>: Abbrev Number: 9 (DW_TAG_array_type)
+ <18d> DW_AT_type : <0x8d>
+ <2><191>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <192> DW_AT_type : <0x199>
+ <196> DW_AT_lower_bound : 0
+ <197> DW_AT_count : 16
+ <2><198>: Abbrev Number: 0
+ <1><199>: Abbrev Number: 11 (DW_TAG_base_type)
+ <19a> DW_AT_name : (indirect string, offset: 0xe2): sizetype
+ <19e> DW_AT_byte_size : 8
+ <19f> DW_AT_encoding : 7 (unsigned)
+ <1><1a0>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <1a1> DW_AT_name : (indirect string, offset: 0x12b): sockaddr
+ <1a5> DW_AT_byte_size : 16
+ <1a6> DW_AT_decl_file : 3
+ <1a7> DW_AT_decl_line : 76
+ <2><1a8>: Abbrev Number: 5 (DW_TAG_member)
+ <1a9> DW_AT_name : (indirect string, offset: 0xfe): sa_family
+ <1ad> DW_AT_type : <0x1c5>
+ <1b1> DW_AT_decl_file : 3
+ <1b2> DW_AT_decl_line : 77
+ <1b3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><1b6>: Abbrev Number: 5 (DW_TAG_member)
+ <1b7> DW_AT_name : (indirect string, offset: 0x123): sa_data
+ <1bb> DW_AT_type : <0x1d7>
+ <1bf> DW_AT_decl_file : 3
+ <1c0> DW_AT_decl_line : 78
+ <1c1> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><1c4>: Abbrev Number: 0
+ <1><1c5>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1c6> DW_AT_type : <0x1d0>
+ <1ca> DW_AT_name : (indirect string, offset: 0x117): sa_family_t
+ <1ce> DW_AT_decl_file : 2
+ <1cf> DW_AT_decl_line : 34
+ <1><1d0>: Abbrev Number: 7 (DW_TAG_base_type)
+ <1d1> DW_AT_name : (indirect string, offset: 0x108): unsigned short
+ <1d5> DW_AT_encoding : 7 (unsigned)
+ <1d6> DW_AT_byte_size : 2
+ <1><1d7>: Abbrev Number: 9 (DW_TAG_array_type)
+ <1d8> DW_AT_type : <0x8d>
+ <2><1dc>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <1dd> DW_AT_type : <0x199>
+ <1e1> DW_AT_lower_bound : 0
+ <1e2> DW_AT_count : 14
+ <2><1e3>: Abbrev Number: 0
+ <1><1e4>: Abbrev Number: 7 (DW_TAG_base_type)
+ <1e5> DW_AT_name : (indirect string, offset: 0x174): short
+ <1e9> DW_AT_encoding : 5 (signed)
+ <1ea> DW_AT_byte_size : 2
+ <1><1eb>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <1ec> DW_AT_name : (indirect string, offset: 0x1e1): ifmap
+ <1f0> DW_AT_byte_size : 16
+ <1f1> DW_AT_decl_file : 1
+ <1f2> DW_AT_decl_line : 101
+ <2><1f3>: Abbrev Number: 5 (DW_TAG_member)
+ <1f4> DW_AT_name : (indirect string, offset: 0x198): mem_start
+ <1f8> DW_AT_type : <0x248>
+ <1fc> DW_AT_decl_file : 1
+ <1fd> DW_AT_decl_line : 102
+ <1fe> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><201>: Abbrev Number: 5 (DW_TAG_member)
+ <202> DW_AT_name : (indirect string, offset: 0x1b4): mem_end
+ <206> DW_AT_type : <0x248>
+ <20a> DW_AT_decl_file : 1
+ <20b> DW_AT_decl_line : 103
+ <20c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><20f>: Abbrev Number: 5 (DW_TAG_member)
+ <210> DW_AT_name : (indirect string, offset: 0x1bc): base_addr
+ <214> DW_AT_type : <0x1d0>
+ <218> DW_AT_decl_file : 1
+ <219> DW_AT_decl_line : 104
+ <21a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><21d>: Abbrev Number: 5 (DW_TAG_member)
+ <21e> DW_AT_name : (indirect string, offset: 0x1c6): irq
+ <222> DW_AT_type : <0x24f>
+ <226> DW_AT_decl_file : 1
+ <227> DW_AT_decl_line : 105
+ <228> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><22b>: Abbrev Number: 5 (DW_TAG_member)
+ <22c> DW_AT_name : (indirect string, offset: 0x1d8): dma
+ <230> DW_AT_type : <0x24f>
+ <234> DW_AT_decl_file : 1
+ <235> DW_AT_decl_line : 106
+ <236> DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11)
+ <2><239>: Abbrev Number: 5 (DW_TAG_member)
+ <23a> DW_AT_name : (indirect string, offset: 0x1dc): port
+ <23e> DW_AT_type : <0x24f>
+ <242> DW_AT_decl_file : 1
+ <243> DW_AT_decl_line : 107
+ <244> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><247>: Abbrev Number: 0
+ <1><248>: Abbrev Number: 7 (DW_TAG_base_type)
+ <249> DW_AT_name : (indirect string, offset: 0x1a2): long unsigned int
+ <24d> DW_AT_encoding : 7 (unsigned)
+ <24e> DW_AT_byte_size : 4
+ <1><24f>: Abbrev Number: 7 (DW_TAG_base_type)
+ <250> DW_AT_name : (indirect string, offset: 0x1ca): unsigned char
+ <254> DW_AT_encoding : 8 (unsigned char)
+ <255> DW_AT_byte_size : 1
+ <1><256>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <1><257>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <258> DW_AT_name : (indirect string, offset: 0x340): if_settings
+ <25c> DW_AT_byte_size : 12
+ <25d> DW_AT_decl_file : 1
+ <25e> DW_AT_decl_line : 110
+ <2><25f>: Abbrev Number: 5 (DW_TAG_member)
+ <260> DW_AT_name : (indirect string, offset: 0x217): type
+ <264> DW_AT_type : <0x2f1>
+ <268> DW_AT_decl_file : 1
+ <269> DW_AT_decl_line : 111
+ <26a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><26d>: Abbrev Number: 5 (DW_TAG_member)
+ <26e> DW_AT_name : (indirect string, offset: 0x229): size
+ <272> DW_AT_type : <0x2f1>
+ <276> DW_AT_decl_file : 1
+ <277> DW_AT_decl_line : 112
+ <278> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><27b>: Abbrev Number: 5 (DW_TAG_member)
+ <27c> DW_AT_name : (indirect string, offset: 0x22e): ifs_ifsu
+ <280> DW_AT_type : <0x289>
+ <284> DW_AT_decl_file : 1
+ <285> DW_AT_decl_line : 121
+ <286> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><289>: Abbrev Number: 6 (DW_TAG_union_type)
+ <28a> DW_AT_byte_size : 4
+ <28b> DW_AT_decl_file : 1
+ <28c> DW_AT_decl_line : 113
+ <3><28d>: Abbrev Number: 5 (DW_TAG_member)
+ <28e> DW_AT_name : (indirect string, offset: 0x237): raw_hdlc
+ <292> DW_AT_type : <0x2f8>
+ <296> DW_AT_decl_file : 1
+ <297> DW_AT_decl_line : 114
+ <298> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><29b>: Abbrev Number: 5 (DW_TAG_member)
+ <29c> DW_AT_name : (indirect string, offset: 0x25f): cisco
+ <2a0> DW_AT_type : <0x329>
+ <2a4> DW_AT_decl_file : 1
+ <2a5> DW_AT_decl_line : 115
+ <2a6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2a9>: Abbrev Number: 5 (DW_TAG_member)
+ <2aa> DW_AT_name : (indirect string, offset: 0x282): fr
+ <2ae> DW_AT_type : <0x35a>
+ <2b2> DW_AT_decl_file : 1
+ <2b3> DW_AT_decl_line : 116
+ <2b4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2b7>: Abbrev Number: 5 (DW_TAG_member)
+ <2b8> DW_AT_name : (indirect string, offset: 0x2af): fr_pvc
+ <2bc> DW_AT_type : <0x3d1>
+ <2c0> DW_AT_decl_file : 1
+ <2c1> DW_AT_decl_line : 117
+ <2c2> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2c5>: Abbrev Number: 5 (DW_TAG_member)
+ <2c6> DW_AT_name : (indirect string, offset: 0x2c8): fr_pvc_info
+ <2ca> DW_AT_type : <0x3f4>
+ <2ce> DW_AT_decl_file : 1
+ <2cf> DW_AT_decl_line : 118
+ <2d0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2d3>: Abbrev Number: 5 (DW_TAG_member)
+ <2d4> DW_AT_name : (indirect string, offset: 0x2ed): sync
+ <2d8> DW_AT_type : <0x425>
+ <2dc> DW_AT_decl_file : 1
+ <2dd> DW_AT_decl_line : 119
+ <2de> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2e1>: Abbrev Number: 5 (DW_TAG_member)
+ <2e2> DW_AT_name : (indirect string, offset: 0x326): te1
+ <2e6> DW_AT_type : <0x464>
+ <2ea> DW_AT_decl_file : 1
+ <2eb> DW_AT_decl_line : 120
+ <2ec> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2ef>: Abbrev Number: 0
+ <2><2f0>: Abbrev Number: 0
+ <1><2f1>: Abbrev Number: 7 (DW_TAG_base_type)
+ <2f2> DW_AT_name : (indirect string, offset: 0x21c): unsigned int
+ <2f6> DW_AT_encoding : 7 (unsigned)
+ <2f7> DW_AT_byte_size : 4
+ <1><2f8>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <2f9> DW_AT_type : <0x2fd>
+ <1><2fd>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2fe> DW_AT_type : <0x308>
+ <302> DW_AT_name : (indirect string, offset: 0x250): raw_hdlc_proto
+ <306> DW_AT_decl_file : 4
+ <307> DW_AT_decl_line : 61
+ <1><308>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <309> DW_AT_byte_size : 4
+ <30a> DW_AT_decl_file : 4
+ <30b> DW_AT_decl_line : 58
+ <2><30c>: Abbrev Number: 5 (DW_TAG_member)
+ <30d> DW_AT_name : (indirect string, offset: 0x240): encoding
+ <311> DW_AT_type : <0x1d0>
+ <315> DW_AT_decl_file : 4
+ <316> DW_AT_decl_line : 59
+ <317> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><31a>: Abbrev Number: 5 (DW_TAG_member)
+ <31b> DW_AT_name : (indirect string, offset: 0x249): parity
+ <31f> DW_AT_type : <0x1d0>
+ <323> DW_AT_decl_file : 4
+ <324> DW_AT_decl_line : 60
+ <325> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><328>: Abbrev Number: 0
+ <1><329>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <32a> DW_AT_type : <0x32e>
+ <1><32e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <32f> DW_AT_type : <0x339>
+ <333> DW_AT_name : (indirect string, offset: 0x276): cisco_proto
+ <337> DW_AT_decl_file : 4
+ <338> DW_AT_decl_line : 81
+ <1><339>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <33a> DW_AT_byte_size : 8
+ <33b> DW_AT_decl_file : 4
+ <33c> DW_AT_decl_line : 78
+ <2><33d>: Abbrev Number: 5 (DW_TAG_member)
+ <33e> DW_AT_name : (indirect string, offset: 0x265): interval
+ <342> DW_AT_type : <0x2f1>
+ <346> DW_AT_decl_file : 4
+ <347> DW_AT_decl_line : 79
+ <348> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><34b>: Abbrev Number: 5 (DW_TAG_member)
+ <34c> DW_AT_name : (indirect string, offset: 0x26e): timeout
+ <350> DW_AT_type : <0x2f1>
+ <354> DW_AT_decl_file : 4
+ <355> DW_AT_decl_line : 80
+ <356> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><359>: Abbrev Number: 0
+ <1><35a>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <35b> DW_AT_type : <0x35f>
+ <1><35f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <360> DW_AT_type : <0x36a>
+ <364> DW_AT_name : (indirect string, offset: 0x2a6): fr_proto
+ <368> DW_AT_decl_file : 4
+ <369> DW_AT_decl_line : 70
+ <1><36a>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <36b> DW_AT_byte_size : 24
+ <36c> DW_AT_decl_file : 4
+ <36d> DW_AT_decl_line : 62
+ <2><36e>: Abbrev Number: 5 (DW_TAG_member)
+ <36f> DW_AT_name : (indirect string, offset: 0x285): t391
+ <373> DW_AT_type : <0x2f1>
+ <377> DW_AT_decl_file : 4
+ <378> DW_AT_decl_line : 63
+ <379> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><37c>: Abbrev Number: 5 (DW_TAG_member)
+ <37d> DW_AT_name : (indirect string, offset: 0x28a): t392
+ <381> DW_AT_type : <0x2f1>
+ <385> DW_AT_decl_file : 4
+ <386> DW_AT_decl_line : 64
+ <387> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><38a>: Abbrev Number: 5 (DW_TAG_member)
+ <38b> DW_AT_name : (indirect string, offset: 0x28f): n391
+ <38f> DW_AT_type : <0x2f1>
+ <393> DW_AT_decl_file : 4
+ <394> DW_AT_decl_line : 65
+ <395> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><398>: Abbrev Number: 5 (DW_TAG_member)
+ <399> DW_AT_name : (indirect string, offset: 0x294): n392
+ <39d> DW_AT_type : <0x2f1>
+ <3a1> DW_AT_decl_file : 4
+ <3a2> DW_AT_decl_line : 66
+ <3a3> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><3a6>: Abbrev Number: 5 (DW_TAG_member)
+ <3a7> DW_AT_name : (indirect string, offset: 0x299): n393
+ <3ab> DW_AT_type : <0x2f1>
+ <3af> DW_AT_decl_file : 4
+ <3b0> DW_AT_decl_line : 67
+ <3b1> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><3b4>: Abbrev Number: 5 (DW_TAG_member)
+ <3b5> DW_AT_name : (indirect string, offset: 0x29e): lmi
+ <3b9> DW_AT_type : <0x1d0>
+ <3bd> DW_AT_decl_file : 4
+ <3be> DW_AT_decl_line : 68
+ <3bf> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><3c2>: Abbrev Number: 5 (DW_TAG_member)
+ <3c3> DW_AT_name : (indirect string, offset: 0x2a2): dce
+ <3c7> DW_AT_type : <0x1d0>
+ <3cb> DW_AT_decl_file : 4
+ <3cc> DW_AT_decl_line : 69
+ <3cd> DW_AT_data_member_location: 2 byte block: 23 16 (DW_OP_plus_uconst: 22)
+ <2><3d0>: Abbrev Number: 0
+ <1><3d1>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <3d2> DW_AT_type : <0x3d6>
+ <1><3d6>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3d7> DW_AT_type : <0x3e1>
+ <3db> DW_AT_name : (indirect string, offset: 0x2bb): fr_proto_pvc
+ <3df> DW_AT_decl_file : 4
+ <3e0> DW_AT_decl_line : 73
+ <1><3e1>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <3e2> DW_AT_byte_size : 4
+ <3e3> DW_AT_decl_file : 4
+ <3e4> DW_AT_decl_line : 71
+ <2><3e5>: Abbrev Number: 5 (DW_TAG_member)
+ <3e6> DW_AT_name : (indirect string, offset: 0x2b6): dlci
+ <3ea> DW_AT_type : <0x2f1>
+ <3ee> DW_AT_decl_file : 4
+ <3ef> DW_AT_decl_line : 72
+ <3f0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><3f3>: Abbrev Number: 0
+ <1><3f4>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <3f5> DW_AT_type : <0x3f9>
+ <1><3f9>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3fa> DW_AT_type : <0x404>
+ <3fe> DW_AT_name : (indirect string, offset: 0x2db): fr_proto_pvc_info
+ <402> DW_AT_decl_file : 4
+ <403> DW_AT_decl_line : 77
+ <1><404>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <405> DW_AT_byte_size : 20
+ <406> DW_AT_decl_file : 4
+ <407> DW_AT_decl_line : 74
+ <2><408>: Abbrev Number: 5 (DW_TAG_member)
+ <409> DW_AT_name : (indirect string, offset: 0x2b6): dlci
+ <40d> DW_AT_type : <0x2f1>
+ <411> DW_AT_decl_file : 4
+ <412> DW_AT_decl_line : 75
+ <413> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><416>: Abbrev Number: 5 (DW_TAG_member)
+ <417> DW_AT_name : (indirect string, offset: 0x2d4): master
+ <41b> DW_AT_type : <0x18c>
+ <41f> DW_AT_decl_file : 4
+ <420> DW_AT_decl_line : 76
+ <421> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><424>: Abbrev Number: 0
+ <1><425>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <426> DW_AT_type : <0x42a>
+ <1><42a>: Abbrev Number: 3 (DW_TAG_typedef)
+ <42b> DW_AT_type : <0x435>
+ <42f> DW_AT_name : (indirect string, offset: 0x311): sync_serial_settings
+ <433> DW_AT_decl_file : 4
+ <434> DW_AT_decl_line : 51
+ <1><435>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <436> DW_AT_byte_size : 12
+ <437> DW_AT_decl_file : 4
+ <438> DW_AT_decl_line : 47
+ <2><439>: Abbrev Number: 5 (DW_TAG_member)
+ <43a> DW_AT_name : (indirect string, offset: 0x2f2): clock_rate
+ <43e> DW_AT_type : <0x2f1>
+ <442> DW_AT_decl_file : 4
+ <443> DW_AT_decl_line : 48
+ <444> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><447>: Abbrev Number: 5 (DW_TAG_member)
+ <448> DW_AT_name : (indirect string, offset: 0x2fd): clock_type
+ <44c> DW_AT_type : <0x2f1>
+ <450> DW_AT_decl_file : 4
+ <451> DW_AT_decl_line : 49
+ <452> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><455>: Abbrev Number: 5 (DW_TAG_member)
+ <456> DW_AT_name : (indirect string, offset: 0x308): loopback
+ <45a> DW_AT_type : <0x1d0>
+ <45e> DW_AT_decl_file : 4
+ <45f> DW_AT_decl_line : 50
+ <460> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><463>: Abbrev Number: 0
+ <1><464>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <465> DW_AT_type : <0x469>
+ <1><469>: Abbrev Number: 3 (DW_TAG_typedef)
+ <46a> DW_AT_type : <0x474>
+ <46e> DW_AT_name : (indirect string, offset: 0x333): te1_settings
+ <472> DW_AT_decl_file : 4
+ <473> DW_AT_decl_line : 57
+ <1><474>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <475> DW_AT_byte_size : 16
+ <476> DW_AT_decl_file : 4
+ <477> DW_AT_decl_line : 52
+ <2><478>: Abbrev Number: 5 (DW_TAG_member)
+ <479> DW_AT_name : (indirect string, offset: 0x2f2): clock_rate
+ <47d> DW_AT_type : <0x2f1>
+ <481> DW_AT_decl_file : 4
+ <482> DW_AT_decl_line : 53
+ <483> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><486>: Abbrev Number: 5 (DW_TAG_member)
+ <487> DW_AT_name : (indirect string, offset: 0x2fd): clock_type
+ <48b> DW_AT_type : <0x2f1>
+ <48f> DW_AT_decl_file : 4
+ <490> DW_AT_decl_line : 54
+ <491> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><494>: Abbrev Number: 5 (DW_TAG_member)
+ <495> DW_AT_name : (indirect string, offset: 0x308): loopback
+ <499> DW_AT_type : <0x1d0>
+ <49d> DW_AT_decl_file : 4
+ <49e> DW_AT_decl_line : 55
+ <49f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><4a2>: Abbrev Number: 5 (DW_TAG_member)
+ <4a3> DW_AT_name : (indirect string, offset: 0x32a): slot_map
+ <4a7> DW_AT_type : <0x2f1>
+ <4ab> DW_AT_decl_file : 4
+ <4ac> DW_AT_decl_line : 56
+ <4ad> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><4b0>: Abbrev Number: 0
+ <1><4b1>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_ifconf.d2 b/mpers-m32/struct_ifconf.d2
new file mode 100644
index 00000000..6f2a8c69
--- /dev/null
+++ b/mpers-m32/struct_ifconf.d2
@@ -0,0 +1,645 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 5
+DW_AT_decl_line : 44
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x359): struct_ifconf
+DW_AT_decl_file : 5
+DW_AT_decl_line : 41
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x352): ifconf
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 164
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa3): ifc_len
+DW_AT_type : <0x81>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 165
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xaf): ifc_ifcu
+DW_AT_type : <0x5f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 169
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 1
+DW_AT_decl_line : 166
+<3><63>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb8): ifcu_buf
+DW_AT_type : <0x88>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 167
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc6): ifcu_req
+DW_AT_type : <0x94>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 168
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><81>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xab): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><88>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x8d>
+<1><8d>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc1): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><94>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x99>
+<1><99>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x34c): ifreq
+DW_AT_byte_size : 32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 124
+<2><a1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): ifr_ifrn
+DW_AT_type : <0xaf>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 128
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><af>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 126
+<3><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd8): ifrn_name
+DW_AT_type : <0x18c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 127
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><c2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xeb): ifr_ifru
+DW_AT_type : <0xd0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 143
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><d0>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 129
+<3><d4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf4): ifru_addr
+DW_AT_type : <0x1a0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 130
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><e2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x134): ifru_dstaddr
+DW_AT_type : <0x1a0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 131
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><f0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x141): ifru_broadaddr
+DW_AT_type : <0x1a0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 132
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><fe>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x150): ifru_netmask
+DW_AT_type : <0x1a0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 133
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><10c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15d): ifru_hwaddr
+DW_AT_type : <0x1a0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 134
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><11a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x169): ifru_flags
+DW_AT_type : <0x1e4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 135
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><128>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17a): ifru_ivalue
+DW_AT_type : <0x81>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 136
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><136>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x186): ifru_mtu
+DW_AT_type : <0x81>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 137
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><144>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18f): ifru_map
+DW_AT_type : <0x1eb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 138
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><152>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e7): ifru_slave
+DW_AT_type : <0x18c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 139
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><160>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f2): ifru_newname
+DW_AT_type : <0x18c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 140
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><16e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ff): ifru_data
+DW_AT_type : <0x256>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 141
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><17c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x209): ifru_settings
+DW_AT_type : <0x257>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 142
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><18c>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0x8d>
+<2><191>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0x199>
+DW_AT_lower_bound : 0
+DW_AT_count : 16
+<1><199>
+Abbrev Number: 11 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe2): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><1a0>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x12b): sockaddr
+DW_AT_byte_size : 16
+DW_AT_decl_file : 3
+DW_AT_decl_line : 76
+<2><1a8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfe): sa_family
+DW_AT_type : <0x1c5>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 77
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1b6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x123): sa_data
+DW_AT_type : <0x1d7>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 78
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><1c5>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1d0>
+DW_AT_name : (indirect string, offset: 0x117): sa_family_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 34
+<1><1d0>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x108): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><1d7>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0x8d>
+<2><1dc>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0x199>
+DW_AT_lower_bound : 0
+DW_AT_count : 14
+<1><1e4>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x174): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><1eb>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1e1): ifmap
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 101
+<2><1f3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x198): mem_start
+DW_AT_type : <0x248>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 102
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><201>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1b4): mem_end
+DW_AT_type : <0x248>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 103
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><20f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1bc): base_addr
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 104
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><21d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c6): irq
+DW_AT_type : <0x24f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 105
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<2><22b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d8): dma
+DW_AT_type : <0x24f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 106
+DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11)
+<2><239>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1dc): port
+DW_AT_type : <0x24f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 107
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><248>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1a2): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><24f>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1ca): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><256>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+<1><257>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x340): if_settings
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 110
+<2><25f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x217): type
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 111
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><26d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x229): size
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 112
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><27b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x22e): ifs_ifsu
+DW_AT_type : <0x289>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 121
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><289>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 1
+DW_AT_decl_line : 113
+<3><28d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x237): raw_hdlc
+DW_AT_type : <0x2f8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 114
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><29b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x25f): cisco
+DW_AT_type : <0x329>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 115
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2a9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x282): fr
+DW_AT_type : <0x35a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 116
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2b7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2af): fr_pvc
+DW_AT_type : <0x3d1>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 117
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2c5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2c8): fr_pvc_info
+DW_AT_type : <0x3f4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 118
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2d3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2ed): sync
+DW_AT_type : <0x425>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 119
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2e1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x326): te1
+DW_AT_type : <0x464>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 120
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><2f1>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x21c): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><2f8>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x2fd>
+<1><2fd>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x308>
+DW_AT_name : (indirect string, offset: 0x250): raw_hdlc_proto
+DW_AT_decl_file : 4
+DW_AT_decl_line : 61
+<1><308>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 4
+DW_AT_decl_line : 58
+<2><30c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x240): encoding
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 59
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><31a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x249): parity
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 60
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><329>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x32e>
+<1><32e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x339>
+DW_AT_name : (indirect string, offset: 0x276): cisco_proto
+DW_AT_decl_file : 4
+DW_AT_decl_line : 81
+<1><339>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 4
+DW_AT_decl_line : 78
+<2><33d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x265): interval
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 79
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><34b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x26e): timeout
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 80
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><35a>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x35f>
+<1><35f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x36a>
+DW_AT_name : (indirect string, offset: 0x2a6): fr_proto
+DW_AT_decl_file : 4
+DW_AT_decl_line : 70
+<1><36a>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 24
+DW_AT_decl_file : 4
+DW_AT_decl_line : 62
+<2><36e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x285): t391
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 63
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><37c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x28a): t392
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 64
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><38a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x28f): n391
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 65
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><398>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x294): n392
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 66
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><3a6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x299): n393
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 67
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><3b4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x29e): lmi
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 68
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><3c2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2a2): dce
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 69
+DW_AT_data_member_location: 2 byte block: 23 16 (DW_OP_plus_uconst: 22)
+<1><3d1>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x3d6>
+<1><3d6>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3e1>
+DW_AT_name : (indirect string, offset: 0x2bb): fr_proto_pvc
+DW_AT_decl_file : 4
+DW_AT_decl_line : 73
+<1><3e1>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 4
+DW_AT_decl_line : 71
+<2><3e5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2b6): dlci
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><3f4>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x3f9>
+<1><3f9>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x404>
+DW_AT_name : (indirect string, offset: 0x2db): fr_proto_pvc_info
+DW_AT_decl_file : 4
+DW_AT_decl_line : 77
+<1><404>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 20
+DW_AT_decl_file : 4
+DW_AT_decl_line : 74
+<2><408>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2b6): dlci
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 75
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><416>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2d4): master
+DW_AT_type : <0x18c>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 76
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><425>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x42a>
+<1><42a>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x435>
+DW_AT_name : (indirect string, offset: 0x311): sync_serial_settings
+DW_AT_decl_file : 4
+DW_AT_decl_line : 51
+<1><435>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 4
+DW_AT_decl_line : 47
+<2><439>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f2): clock_rate
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><447>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2fd): clock_type
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 49
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><455>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x308): loopback
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 50
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><464>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x469>
+<1><469>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x474>
+DW_AT_name : (indirect string, offset: 0x333): te1_settings
+DW_AT_decl_file : 4
+DW_AT_decl_line : 57
+<1><474>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 4
+DW_AT_decl_line : 52
+<2><478>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f2): clock_rate
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 53
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><486>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2fd): clock_type
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><494>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x308): loopback
+DW_AT_type : <0x1d0>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><4a2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x32a): slot_map
+DW_AT_type : <0x2f1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
diff --git a/mpers-m32/struct_ifconf.h b/mpers-m32/struct_ifconf.h
new file mode 100644
index 00000000..a73e572f
--- /dev/null
+++ b/mpers-m32/struct_ifconf.h
@@ -0,0 +1,14 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+int32_t ifc_len;
+union {
+mpers_ptr_t ifcu_buf;
+mpers_ptr_t ifcu_req;
+} ifc_ifcu;
+} ATTRIBUTE_PACKED m32_struct_ifconf;
+#define MPERS_m32_struct_ifconf m32_struct_ifconf
diff --git a/mpers-m32/struct_ifreq.c b/mpers-m32/struct_ifreq.c
new file mode 100644
index 00000000..2a1795c4
--- /dev/null
+++ b/mpers-m32/struct_ifreq.c
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-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 "print_fields.h"
+
+#include <sys/socket.h>
+#if defined ALPHA || defined SH || defined SH64
+# include <linux/ioctl.h>
+#endif
+#include <linux/sockios.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+
+
+typedef struct ifconf struct_ifconf;
+typedef struct ifreq struct_ifreq;
+
+struct_ifreq mpers_target_var;
diff --git a/mpers-m32/struct_ifreq.d1 b/mpers-m32/struct_ifreq.d1
new file mode 100644
index 00000000..f49f8301
--- /dev/null
+++ b/mpers-m32/struct_ifreq.d1
@@ -0,0 +1,532 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x45e (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_ifreq.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x56): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x91): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 5
+ <29> DW_AT_decl_line : 44
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x32e): struct_ifreq
+ <39> DW_AT_decl_file : 5
+ <3a> DW_AT_decl_line : 42
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x328): ifreq
+ <40> DW_AT_byte_size : 32
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 124
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa2): ifr_ifrn
+ <48> DW_AT_type : <0x51>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 128
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 6 (DW_TAG_union_type)
+ <52> DW_AT_byte_size : 16
+ <53> DW_AT_decl_file : 1
+ <54> DW_AT_decl_line : 126
+ <3><55>: Abbrev Number: 5 (DW_TAG_member)
+ <56> DW_AT_name : (indirect string, offset: 0xab): ifrn_name
+ <5a> DW_AT_type : <0x12e>
+ <5e> DW_AT_decl_file : 1
+ <5f> DW_AT_decl_line : 127
+ <60> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><63>: Abbrev Number: 0
+ <2><64>: Abbrev Number: 5 (DW_TAG_member)
+ <65> DW_AT_name : (indirect string, offset: 0xc3): ifr_ifru
+ <69> DW_AT_type : <0x72>
+ <6d> DW_AT_decl_file : 1
+ <6e> DW_AT_decl_line : 143
+ <6f> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><72>: Abbrev Number: 6 (DW_TAG_union_type)
+ <73> DW_AT_byte_size : 16
+ <74> DW_AT_decl_file : 1
+ <75> DW_AT_decl_line : 129
+ <3><76>: Abbrev Number: 5 (DW_TAG_member)
+ <77> DW_AT_name : (indirect string, offset: 0xcc): ifru_addr
+ <7b> DW_AT_type : <0x149>
+ <7f> DW_AT_decl_file : 1
+ <80> DW_AT_decl_line : 130
+ <81> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><84>: Abbrev Number: 5 (DW_TAG_member)
+ <85> DW_AT_name : (indirect string, offset: 0x10c): ifru_dstaddr
+ <89> DW_AT_type : <0x149>
+ <8d> DW_AT_decl_file : 1
+ <8e> DW_AT_decl_line : 131
+ <8f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><92>: Abbrev Number: 5 (DW_TAG_member)
+ <93> DW_AT_name : (indirect string, offset: 0x119): ifru_broadaddr
+ <97> DW_AT_type : <0x149>
+ <9b> DW_AT_decl_file : 1
+ <9c> DW_AT_decl_line : 132
+ <9d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><a0>: Abbrev Number: 5 (DW_TAG_member)
+ <a1> DW_AT_name : (indirect string, offset: 0x128): ifru_netmask
+ <a5> DW_AT_type : <0x149>
+ <a9> DW_AT_decl_file : 1
+ <aa> DW_AT_decl_line : 133
+ <ab> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ae>: Abbrev Number: 5 (DW_TAG_member)
+ <af> DW_AT_name : (indirect string, offset: 0x135): ifru_hwaddr
+ <b3> DW_AT_type : <0x149>
+ <b7> DW_AT_decl_file : 1
+ <b8> DW_AT_decl_line : 134
+ <b9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><bc>: Abbrev Number: 5 (DW_TAG_member)
+ <bd> DW_AT_name : (indirect string, offset: 0x141): ifru_flags
+ <c1> DW_AT_type : <0x18d>
+ <c5> DW_AT_decl_file : 1
+ <c6> DW_AT_decl_line : 135
+ <c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ca>: Abbrev Number: 5 (DW_TAG_member)
+ <cb> DW_AT_name : (indirect string, offset: 0x152): ifru_ivalue
+ <cf> DW_AT_type : <0x194>
+ <d3> DW_AT_decl_file : 1
+ <d4> DW_AT_decl_line : 136
+ <d5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><d8>: Abbrev Number: 5 (DW_TAG_member)
+ <d9> DW_AT_name : (indirect string, offset: 0x162): ifru_mtu
+ <dd> DW_AT_type : <0x194>
+ <e1> DW_AT_decl_file : 1
+ <e2> DW_AT_decl_line : 137
+ <e3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><e6>: Abbrev Number: 5 (DW_TAG_member)
+ <e7> DW_AT_name : (indirect string, offset: 0x16b): ifru_map
+ <eb> DW_AT_type : <0x19b>
+ <ef> DW_AT_decl_file : 1
+ <f0> DW_AT_decl_line : 138
+ <f1> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><f4>: Abbrev Number: 5 (DW_TAG_member)
+ <f5> DW_AT_name : (indirect string, offset: 0x1c3): ifru_slave
+ <f9> DW_AT_type : <0x12e>
+ <fd> DW_AT_decl_file : 1
+ <fe> DW_AT_decl_line : 139
+ <ff> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><102>: Abbrev Number: 5 (DW_TAG_member)
+ <103> DW_AT_name : (indirect string, offset: 0x1ce): ifru_newname
+ <107> DW_AT_type : <0x12e>
+ <10b> DW_AT_decl_file : 1
+ <10c> DW_AT_decl_line : 140
+ <10d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><110>: Abbrev Number: 5 (DW_TAG_member)
+ <111> DW_AT_name : (indirect string, offset: 0x1db): ifru_data
+ <115> DW_AT_type : <0x206>
+ <119> DW_AT_decl_file : 1
+ <11a> DW_AT_decl_line : 141
+ <11b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><11e>: Abbrev Number: 5 (DW_TAG_member)
+ <11f> DW_AT_name : (indirect string, offset: 0x1e5): ifru_settings
+ <123> DW_AT_type : <0x207>
+ <127> DW_AT_decl_file : 1
+ <128> DW_AT_decl_line : 142
+ <129> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><12c>: Abbrev Number: 0
+ <2><12d>: Abbrev Number: 0
+ <1><12e>: Abbrev Number: 7 (DW_TAG_array_type)
+ <12f> DW_AT_type : <0x13b>
+ <2><133>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <134> DW_AT_type : <0x142>
+ <138> DW_AT_lower_bound : 0
+ <139> DW_AT_count : 16
+ <2><13a>: Abbrev Number: 0
+ <1><13b>: Abbrev Number: 9 (DW_TAG_base_type)
+ <13c> DW_AT_name : (indirect string, offset: 0xb5): char
+ <140> DW_AT_encoding : 8 (unsigned char)
+ <141> DW_AT_byte_size : 1
+ <1><142>: Abbrev Number: 10 (DW_TAG_base_type)
+ <143> DW_AT_name : (indirect string, offset: 0xba): sizetype
+ <147> DW_AT_byte_size : 8
+ <148> DW_AT_encoding : 7 (unsigned)
+ <1><149>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <14a> DW_AT_name : (indirect string, offset: 0x103): sockaddr
+ <14e> DW_AT_byte_size : 16
+ <14f> DW_AT_decl_file : 3
+ <150> DW_AT_decl_line : 76
+ <2><151>: Abbrev Number: 5 (DW_TAG_member)
+ <152> DW_AT_name : (indirect string, offset: 0xd6): sa_family
+ <156> DW_AT_type : <0x16e>
+ <15a> DW_AT_decl_file : 3
+ <15b> DW_AT_decl_line : 77
+ <15c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><15f>: Abbrev Number: 5 (DW_TAG_member)
+ <160> DW_AT_name : (indirect string, offset: 0xfb): sa_data
+ <164> DW_AT_type : <0x180>
+ <168> DW_AT_decl_file : 3
+ <169> DW_AT_decl_line : 78
+ <16a> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><16d>: Abbrev Number: 0
+ <1><16e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <16f> DW_AT_type : <0x179>
+ <173> DW_AT_name : (indirect string, offset: 0xef): sa_family_t
+ <177> DW_AT_decl_file : 2
+ <178> DW_AT_decl_line : 34
+ <1><179>: Abbrev Number: 9 (DW_TAG_base_type)
+ <17a> DW_AT_name : (indirect string, offset: 0xe0): unsigned short
+ <17e> DW_AT_encoding : 7 (unsigned)
+ <17f> DW_AT_byte_size : 2
+ <1><180>: Abbrev Number: 7 (DW_TAG_array_type)
+ <181> DW_AT_type : <0x13b>
+ <2><185>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <186> DW_AT_type : <0x142>
+ <18a> DW_AT_lower_bound : 0
+ <18b> DW_AT_count : 14
+ <2><18c>: Abbrev Number: 0
+ <1><18d>: Abbrev Number: 9 (DW_TAG_base_type)
+ <18e> DW_AT_name : (indirect string, offset: 0x14c): short
+ <192> DW_AT_encoding : 5 (signed)
+ <193> DW_AT_byte_size : 2
+ <1><194>: Abbrev Number: 9 (DW_TAG_base_type)
+ <195> DW_AT_name : (indirect string, offset: 0x15e): int
+ <199> DW_AT_encoding : 5 (signed)
+ <19a> DW_AT_byte_size : 4
+ <1><19b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <19c> DW_AT_name : (indirect string, offset: 0x1bd): ifmap
+ <1a0> DW_AT_byte_size : 16
+ <1a1> DW_AT_decl_file : 1
+ <1a2> DW_AT_decl_line : 101
+ <2><1a3>: Abbrev Number: 5 (DW_TAG_member)
+ <1a4> DW_AT_name : (indirect string, offset: 0x174): mem_start
+ <1a8> DW_AT_type : <0x1f8>
+ <1ac> DW_AT_decl_file : 1
+ <1ad> DW_AT_decl_line : 102
+ <1ae> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><1b1>: Abbrev Number: 5 (DW_TAG_member)
+ <1b2> DW_AT_name : (indirect string, offset: 0x190): mem_end
+ <1b6> DW_AT_type : <0x1f8>
+ <1ba> DW_AT_decl_file : 1
+ <1bb> DW_AT_decl_line : 103
+ <1bc> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><1bf>: Abbrev Number: 5 (DW_TAG_member)
+ <1c0> DW_AT_name : (indirect string, offset: 0x198): base_addr
+ <1c4> DW_AT_type : <0x179>
+ <1c8> DW_AT_decl_file : 1
+ <1c9> DW_AT_decl_line : 104
+ <1ca> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><1cd>: Abbrev Number: 5 (DW_TAG_member)
+ <1ce> DW_AT_name : (indirect string, offset: 0x1a2): irq
+ <1d2> DW_AT_type : <0x1ff>
+ <1d6> DW_AT_decl_file : 1
+ <1d7> DW_AT_decl_line : 105
+ <1d8> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><1db>: Abbrev Number: 5 (DW_TAG_member)
+ <1dc> DW_AT_name : (indirect string, offset: 0x1b4): dma
+ <1e0> DW_AT_type : <0x1ff>
+ <1e4> DW_AT_decl_file : 1
+ <1e5> DW_AT_decl_line : 106
+ <1e6> DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11)
+ <2><1e9>: Abbrev Number: 5 (DW_TAG_member)
+ <1ea> DW_AT_name : (indirect string, offset: 0x1b8): port
+ <1ee> DW_AT_type : <0x1ff>
+ <1f2> DW_AT_decl_file : 1
+ <1f3> DW_AT_decl_line : 107
+ <1f4> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><1f7>: Abbrev Number: 0
+ <1><1f8>: Abbrev Number: 9 (DW_TAG_base_type)
+ <1f9> DW_AT_name : (indirect string, offset: 0x17e): long unsigned int
+ <1fd> DW_AT_encoding : 7 (unsigned)
+ <1fe> DW_AT_byte_size : 4
+ <1><1ff>: Abbrev Number: 9 (DW_TAG_base_type)
+ <200> DW_AT_name : (indirect string, offset: 0x1a6): unsigned char
+ <204> DW_AT_encoding : 8 (unsigned char)
+ <205> DW_AT_byte_size : 1
+ <1><206>: Abbrev Number: 11 (DW_TAG_pointer_type)
+ <1><207>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <208> DW_AT_name : (indirect string, offset: 0x31c): if_settings
+ <20c> DW_AT_byte_size : 12
+ <20d> DW_AT_decl_file : 1
+ <20e> DW_AT_decl_line : 110
+ <2><20f>: Abbrev Number: 5 (DW_TAG_member)
+ <210> DW_AT_name : (indirect string, offset: 0x1f3): type
+ <214> DW_AT_type : <0x2a1>
+ <218> DW_AT_decl_file : 1
+ <219> DW_AT_decl_line : 111
+ <21a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><21d>: Abbrev Number: 5 (DW_TAG_member)
+ <21e> DW_AT_name : (indirect string, offset: 0x205): size
+ <222> DW_AT_type : <0x2a1>
+ <226> DW_AT_decl_file : 1
+ <227> DW_AT_decl_line : 112
+ <228> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><22b>: Abbrev Number: 5 (DW_TAG_member)
+ <22c> DW_AT_name : (indirect string, offset: 0x20a): ifs_ifsu
+ <230> DW_AT_type : <0x239>
+ <234> DW_AT_decl_file : 1
+ <235> DW_AT_decl_line : 121
+ <236> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><239>: Abbrev Number: 6 (DW_TAG_union_type)
+ <23a> DW_AT_byte_size : 4
+ <23b> DW_AT_decl_file : 1
+ <23c> DW_AT_decl_line : 113
+ <3><23d>: Abbrev Number: 5 (DW_TAG_member)
+ <23e> DW_AT_name : (indirect string, offset: 0x213): raw_hdlc
+ <242> DW_AT_type : <0x2a8>
+ <246> DW_AT_decl_file : 1
+ <247> DW_AT_decl_line : 114
+ <248> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><24b>: Abbrev Number: 5 (DW_TAG_member)
+ <24c> DW_AT_name : (indirect string, offset: 0x23b): cisco
+ <250> DW_AT_type : <0x2d9>
+ <254> DW_AT_decl_file : 1
+ <255> DW_AT_decl_line : 115
+ <256> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><259>: Abbrev Number: 5 (DW_TAG_member)
+ <25a> DW_AT_name : (indirect string, offset: 0x25e): fr
+ <25e> DW_AT_type : <0x30a>
+ <262> DW_AT_decl_file : 1
+ <263> DW_AT_decl_line : 116
+ <264> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><267>: Abbrev Number: 5 (DW_TAG_member)
+ <268> DW_AT_name : (indirect string, offset: 0x28b): fr_pvc
+ <26c> DW_AT_type : <0x381>
+ <270> DW_AT_decl_file : 1
+ <271> DW_AT_decl_line : 117
+ <272> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><275>: Abbrev Number: 5 (DW_TAG_member)
+ <276> DW_AT_name : (indirect string, offset: 0x2a4): fr_pvc_info
+ <27a> DW_AT_type : <0x3a4>
+ <27e> DW_AT_decl_file : 1
+ <27f> DW_AT_decl_line : 118
+ <280> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><283>: Abbrev Number: 5 (DW_TAG_member)
+ <284> DW_AT_name : (indirect string, offset: 0x2c9): sync
+ <288> DW_AT_type : <0x3d5>
+ <28c> DW_AT_decl_file : 1
+ <28d> DW_AT_decl_line : 119
+ <28e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><291>: Abbrev Number: 5 (DW_TAG_member)
+ <292> DW_AT_name : (indirect string, offset: 0x302): te1
+ <296> DW_AT_type : <0x414>
+ <29a> DW_AT_decl_file : 1
+ <29b> DW_AT_decl_line : 120
+ <29c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><29f>: Abbrev Number: 0
+ <2><2a0>: Abbrev Number: 0
+ <1><2a1>: Abbrev Number: 9 (DW_TAG_base_type)
+ <2a2> DW_AT_name : (indirect string, offset: 0x1f8): unsigned int
+ <2a6> DW_AT_encoding : 7 (unsigned)
+ <2a7> DW_AT_byte_size : 4
+ <1><2a8>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <2a9> DW_AT_type : <0x2ad>
+ <1><2ad>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2ae> DW_AT_type : <0x2b8>
+ <2b2> DW_AT_name : (indirect string, offset: 0x22c): raw_hdlc_proto
+ <2b6> DW_AT_decl_file : 4
+ <2b7> DW_AT_decl_line : 61
+ <1><2b8>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <2b9> DW_AT_byte_size : 4
+ <2ba> DW_AT_decl_file : 4
+ <2bb> DW_AT_decl_line : 58
+ <2><2bc>: Abbrev Number: 5 (DW_TAG_member)
+ <2bd> DW_AT_name : (indirect string, offset: 0x21c): encoding
+ <2c1> DW_AT_type : <0x179>
+ <2c5> DW_AT_decl_file : 4
+ <2c6> DW_AT_decl_line : 59
+ <2c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><2ca>: Abbrev Number: 5 (DW_TAG_member)
+ <2cb> DW_AT_name : (indirect string, offset: 0x225): parity
+ <2cf> DW_AT_type : <0x179>
+ <2d3> DW_AT_decl_file : 4
+ <2d4> DW_AT_decl_line : 60
+ <2d5> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><2d8>: Abbrev Number: 0
+ <1><2d9>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <2da> DW_AT_type : <0x2de>
+ <1><2de>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2df> DW_AT_type : <0x2e9>
+ <2e3> DW_AT_name : (indirect string, offset: 0x252): cisco_proto
+ <2e7> DW_AT_decl_file : 4
+ <2e8> DW_AT_decl_line : 81
+ <1><2e9>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <2ea> DW_AT_byte_size : 8
+ <2eb> DW_AT_decl_file : 4
+ <2ec> DW_AT_decl_line : 78
+ <2><2ed>: Abbrev Number: 5 (DW_TAG_member)
+ <2ee> DW_AT_name : (indirect string, offset: 0x241): interval
+ <2f2> DW_AT_type : <0x2a1>
+ <2f6> DW_AT_decl_file : 4
+ <2f7> DW_AT_decl_line : 79
+ <2f8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><2fb>: Abbrev Number: 5 (DW_TAG_member)
+ <2fc> DW_AT_name : (indirect string, offset: 0x24a): timeout
+ <300> DW_AT_type : <0x2a1>
+ <304> DW_AT_decl_file : 4
+ <305> DW_AT_decl_line : 80
+ <306> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><309>: Abbrev Number: 0
+ <1><30a>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <30b> DW_AT_type : <0x30f>
+ <1><30f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <310> DW_AT_type : <0x31a>
+ <314> DW_AT_name : (indirect string, offset: 0x282): fr_proto
+ <318> DW_AT_decl_file : 4
+ <319> DW_AT_decl_line : 70
+ <1><31a>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <31b> DW_AT_byte_size : 24
+ <31c> DW_AT_decl_file : 4
+ <31d> DW_AT_decl_line : 62
+ <2><31e>: Abbrev Number: 5 (DW_TAG_member)
+ <31f> DW_AT_name : (indirect string, offset: 0x261): t391
+ <323> DW_AT_type : <0x2a1>
+ <327> DW_AT_decl_file : 4
+ <328> DW_AT_decl_line : 63
+ <329> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><32c>: Abbrev Number: 5 (DW_TAG_member)
+ <32d> DW_AT_name : (indirect string, offset: 0x266): t392
+ <331> DW_AT_type : <0x2a1>
+ <335> DW_AT_decl_file : 4
+ <336> DW_AT_decl_line : 64
+ <337> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><33a>: Abbrev Number: 5 (DW_TAG_member)
+ <33b> DW_AT_name : (indirect string, offset: 0x26b): n391
+ <33f> DW_AT_type : <0x2a1>
+ <343> DW_AT_decl_file : 4
+ <344> DW_AT_decl_line : 65
+ <345> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><348>: Abbrev Number: 5 (DW_TAG_member)
+ <349> DW_AT_name : (indirect string, offset: 0x270): n392
+ <34d> DW_AT_type : <0x2a1>
+ <351> DW_AT_decl_file : 4
+ <352> DW_AT_decl_line : 66
+ <353> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><356>: Abbrev Number: 5 (DW_TAG_member)
+ <357> DW_AT_name : (indirect string, offset: 0x275): n393
+ <35b> DW_AT_type : <0x2a1>
+ <35f> DW_AT_decl_file : 4
+ <360> DW_AT_decl_line : 67
+ <361> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><364>: Abbrev Number: 5 (DW_TAG_member)
+ <365> DW_AT_name : (indirect string, offset: 0x27a): lmi
+ <369> DW_AT_type : <0x179>
+ <36d> DW_AT_decl_file : 4
+ <36e> DW_AT_decl_line : 68
+ <36f> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><372>: Abbrev Number: 5 (DW_TAG_member)
+ <373> DW_AT_name : (indirect string, offset: 0x27e): dce
+ <377> DW_AT_type : <0x179>
+ <37b> DW_AT_decl_file : 4
+ <37c> DW_AT_decl_line : 69
+ <37d> DW_AT_data_member_location: 2 byte block: 23 16 (DW_OP_plus_uconst: 22)
+ <2><380>: Abbrev Number: 0
+ <1><381>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <382> DW_AT_type : <0x386>
+ <1><386>: Abbrev Number: 3 (DW_TAG_typedef)
+ <387> DW_AT_type : <0x391>
+ <38b> DW_AT_name : (indirect string, offset: 0x297): fr_proto_pvc
+ <38f> DW_AT_decl_file : 4
+ <390> DW_AT_decl_line : 73
+ <1><391>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <392> DW_AT_byte_size : 4
+ <393> DW_AT_decl_file : 4
+ <394> DW_AT_decl_line : 71
+ <2><395>: Abbrev Number: 5 (DW_TAG_member)
+ <396> DW_AT_name : (indirect string, offset: 0x292): dlci
+ <39a> DW_AT_type : <0x2a1>
+ <39e> DW_AT_decl_file : 4
+ <39f> DW_AT_decl_line : 72
+ <3a0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><3a3>: Abbrev Number: 0
+ <1><3a4>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <3a5> DW_AT_type : <0x3a9>
+ <1><3a9>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3aa> DW_AT_type : <0x3b4>
+ <3ae> DW_AT_name : (indirect string, offset: 0x2b7): fr_proto_pvc_info
+ <3b2> DW_AT_decl_file : 4
+ <3b3> DW_AT_decl_line : 77
+ <1><3b4>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <3b5> DW_AT_byte_size : 20
+ <3b6> DW_AT_decl_file : 4
+ <3b7> DW_AT_decl_line : 74
+ <2><3b8>: Abbrev Number: 5 (DW_TAG_member)
+ <3b9> DW_AT_name : (indirect string, offset: 0x292): dlci
+ <3bd> DW_AT_type : <0x2a1>
+ <3c1> DW_AT_decl_file : 4
+ <3c2> DW_AT_decl_line : 75
+ <3c3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><3c6>: Abbrev Number: 5 (DW_TAG_member)
+ <3c7> DW_AT_name : (indirect string, offset: 0x2b0): master
+ <3cb> DW_AT_type : <0x12e>
+ <3cf> DW_AT_decl_file : 4
+ <3d0> DW_AT_decl_line : 76
+ <3d1> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><3d4>: Abbrev Number: 0
+ <1><3d5>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <3d6> DW_AT_type : <0x3da>
+ <1><3da>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3db> DW_AT_type : <0x3e5>
+ <3df> DW_AT_name : (indirect string, offset: 0x2ed): sync_serial_settings
+ <3e3> DW_AT_decl_file : 4
+ <3e4> DW_AT_decl_line : 51
+ <1><3e5>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <3e6> DW_AT_byte_size : 12
+ <3e7> DW_AT_decl_file : 4
+ <3e8> DW_AT_decl_line : 47
+ <2><3e9>: Abbrev Number: 5 (DW_TAG_member)
+ <3ea> DW_AT_name : (indirect string, offset: 0x2ce): clock_rate
+ <3ee> DW_AT_type : <0x2a1>
+ <3f2> DW_AT_decl_file : 4
+ <3f3> DW_AT_decl_line : 48
+ <3f4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><3f7>: Abbrev Number: 5 (DW_TAG_member)
+ <3f8> DW_AT_name : (indirect string, offset: 0x2d9): clock_type
+ <3fc> DW_AT_type : <0x2a1>
+ <400> DW_AT_decl_file : 4
+ <401> DW_AT_decl_line : 49
+ <402> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><405>: Abbrev Number: 5 (DW_TAG_member)
+ <406> DW_AT_name : (indirect string, offset: 0x2e4): loopback
+ <40a> DW_AT_type : <0x179>
+ <40e> DW_AT_decl_file : 4
+ <40f> DW_AT_decl_line : 50
+ <410> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><413>: Abbrev Number: 0
+ <1><414>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <415> DW_AT_type : <0x419>
+ <1><419>: Abbrev Number: 3 (DW_TAG_typedef)
+ <41a> DW_AT_type : <0x424>
+ <41e> DW_AT_name : (indirect string, offset: 0x30f): te1_settings
+ <422> DW_AT_decl_file : 4
+ <423> DW_AT_decl_line : 57
+ <1><424>: Abbrev Number: 13 (DW_TAG_structure_type)
+ <425> DW_AT_byte_size : 16
+ <426> DW_AT_decl_file : 4
+ <427> DW_AT_decl_line : 52
+ <2><428>: Abbrev Number: 5 (DW_TAG_member)
+ <429> DW_AT_name : (indirect string, offset: 0x2ce): clock_rate
+ <42d> DW_AT_type : <0x2a1>
+ <431> DW_AT_decl_file : 4
+ <432> DW_AT_decl_line : 53
+ <433> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><436>: Abbrev Number: 5 (DW_TAG_member)
+ <437> DW_AT_name : (indirect string, offset: 0x2d9): clock_type
+ <43b> DW_AT_type : <0x2a1>
+ <43f> DW_AT_decl_file : 4
+ <440> DW_AT_decl_line : 54
+ <441> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><444>: Abbrev Number: 5 (DW_TAG_member)
+ <445> DW_AT_name : (indirect string, offset: 0x2e4): loopback
+ <449> DW_AT_type : <0x179>
+ <44d> DW_AT_decl_file : 4
+ <44e> DW_AT_decl_line : 55
+ <44f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><452>: Abbrev Number: 5 (DW_TAG_member)
+ <453> DW_AT_name : (indirect string, offset: 0x306): slot_map
+ <457> DW_AT_type : <0x2a1>
+ <45b> DW_AT_decl_file : 4
+ <45c> DW_AT_decl_line : 56
+ <45d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><460>: Abbrev Number: 0
+ <1><461>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_ifreq.d2 b/mpers-m32/struct_ifreq.d2
new file mode 100644
index 00000000..d55ecdfc
--- /dev/null
+++ b/mpers-m32/struct_ifreq.d2
@@ -0,0 +1,600 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x91): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 5
+DW_AT_decl_line : 44
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x32e): struct_ifreq
+DW_AT_decl_file : 5
+DW_AT_decl_line : 42
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x328): ifreq
+DW_AT_byte_size : 32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 124
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa2): ifr_ifrn
+DW_AT_type : <0x51>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 128
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 126
+<3><55>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xab): ifrn_name
+DW_AT_type : <0x12e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 127
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><64>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc3): ifr_ifru
+DW_AT_type : <0x72>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 143
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><72>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 129
+<3><76>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcc): ifru_addr
+DW_AT_type : <0x149>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 130
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><84>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10c): ifru_dstaddr
+DW_AT_type : <0x149>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 131
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><92>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x119): ifru_broadaddr
+DW_AT_type : <0x149>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 132
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><a0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x128): ifru_netmask
+DW_AT_type : <0x149>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 133
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><ae>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x135): ifru_hwaddr
+DW_AT_type : <0x149>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 134
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x141): ifru_flags
+DW_AT_type : <0x18d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 135
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x152): ifru_ivalue
+DW_AT_type : <0x194>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 136
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><d8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x162): ifru_mtu
+DW_AT_type : <0x194>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 137
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><e6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16b): ifru_map
+DW_AT_type : <0x19b>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 138
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><f4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c3): ifru_slave
+DW_AT_type : <0x12e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 139
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><102>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ce): ifru_newname
+DW_AT_type : <0x12e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 140
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><110>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1db): ifru_data
+DW_AT_type : <0x206>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 141
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><11e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e5): ifru_settings
+DW_AT_type : <0x207>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 142
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><12e>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x13b>
+<2><133>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x142>
+DW_AT_lower_bound : 0
+DW_AT_count : 16
+<1><13b>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb5): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><142>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xba): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><149>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x103): sockaddr
+DW_AT_byte_size : 16
+DW_AT_decl_file : 3
+DW_AT_decl_line : 76
+<2><151>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd6): sa_family
+DW_AT_type : <0x16e>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 77
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><15f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfb): sa_data
+DW_AT_type : <0x180>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 78
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><16e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x179>
+DW_AT_name : (indirect string, offset: 0xef): sa_family_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 34
+<1><179>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe0): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><180>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x13b>
+<2><185>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x142>
+DW_AT_lower_bound : 0
+DW_AT_count : 14
+<1><18d>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x14c): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><194>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x15e): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><19b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1bd): ifmap
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 101
+<2><1a3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x174): mem_start
+DW_AT_type : <0x1f8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 102
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1b1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x190): mem_end
+DW_AT_type : <0x1f8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 103
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><1bf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x198): base_addr
+DW_AT_type : <0x179>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 104
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><1cd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a2): irq
+DW_AT_type : <0x1ff>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 105
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<2><1db>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1b4): dma
+DW_AT_type : <0x1ff>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 106
+DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11)
+<2><1e9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1b8): port
+DW_AT_type : <0x1ff>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 107
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><1f8>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x17e): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><1ff>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1a6): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><206>
+Abbrev Number: 11 (DW_TAG_pointer_type)
+<1><207>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x31c): if_settings
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 110
+<2><20f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f3): type
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 111
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><21d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x205): size
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 112
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><22b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x20a): ifs_ifsu
+DW_AT_type : <0x239>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 121
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><239>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 1
+DW_AT_decl_line : 113
+<3><23d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x213): raw_hdlc
+DW_AT_type : <0x2a8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 114
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><24b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x23b): cisco
+DW_AT_type : <0x2d9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 115
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><259>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x25e): fr
+DW_AT_type : <0x30a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 116
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><267>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x28b): fr_pvc
+DW_AT_type : <0x381>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 117
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><275>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2a4): fr_pvc_info
+DW_AT_type : <0x3a4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 118
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><283>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2c9): sync
+DW_AT_type : <0x3d5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 119
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><291>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x302): te1
+DW_AT_type : <0x414>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 120
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><2a1>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1f8): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><2a8>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x2ad>
+<1><2ad>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2b8>
+DW_AT_name : (indirect string, offset: 0x22c): raw_hdlc_proto
+DW_AT_decl_file : 4
+DW_AT_decl_line : 61
+<1><2b8>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 4
+DW_AT_decl_line : 58
+<2><2bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21c): encoding
+DW_AT_type : <0x179>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 59
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><2ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x225): parity
+DW_AT_type : <0x179>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 60
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<1><2d9>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x2de>
+<1><2de>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2e9>
+DW_AT_name : (indirect string, offset: 0x252): cisco_proto
+DW_AT_decl_file : 4
+DW_AT_decl_line : 81
+<1><2e9>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 4
+DW_AT_decl_line : 78
+<2><2ed>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x241): interval
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 79
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><2fb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x24a): timeout
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 80
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><30a>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x30f>
+<1><30f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x31a>
+DW_AT_name : (indirect string, offset: 0x282): fr_proto
+DW_AT_decl_file : 4
+DW_AT_decl_line : 70
+<1><31a>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 24
+DW_AT_decl_file : 4
+DW_AT_decl_line : 62
+<2><31e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x261): t391
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 63
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><32c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x266): t392
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 64
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><33a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x26b): n391
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 65
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><348>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x270): n392
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 66
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><356>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x275): n393
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 67
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><364>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x27a): lmi
+DW_AT_type : <0x179>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 68
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><372>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x27e): dce
+DW_AT_type : <0x179>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 69
+DW_AT_data_member_location: 2 byte block: 23 16 (DW_OP_plus_uconst: 22)
+<1><381>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x386>
+<1><386>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x391>
+DW_AT_name : (indirect string, offset: 0x297): fr_proto_pvc
+DW_AT_decl_file : 4
+DW_AT_decl_line : 73
+<1><391>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 4
+DW_AT_decl_line : 71
+<2><395>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x292): dlci
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><3a4>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x3a9>
+<1><3a9>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b4>
+DW_AT_name : (indirect string, offset: 0x2b7): fr_proto_pvc_info
+DW_AT_decl_file : 4
+DW_AT_decl_line : 77
+<1><3b4>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 20
+DW_AT_decl_file : 4
+DW_AT_decl_line : 74
+<2><3b8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x292): dlci
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 75
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><3c6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2b0): master
+DW_AT_type : <0x12e>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 76
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><3d5>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x3da>
+<1><3da>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3e5>
+DW_AT_name : (indirect string, offset: 0x2ed): sync_serial_settings
+DW_AT_decl_file : 4
+DW_AT_decl_line : 51
+<1><3e5>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 4
+DW_AT_decl_line : 47
+<2><3e9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2ce): clock_rate
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><3f7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2d9): clock_type
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 49
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><405>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2e4): loopback
+DW_AT_type : <0x179>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 50
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><414>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x419>
+<1><419>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x424>
+DW_AT_name : (indirect string, offset: 0x30f): te1_settings
+DW_AT_decl_file : 4
+DW_AT_decl_line : 57
+<1><424>
+Abbrev Number: 13 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 4
+DW_AT_decl_line : 52
+<2><428>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2ce): clock_rate
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 53
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><436>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2d9): clock_type
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><444>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2e4): loopback
+DW_AT_type : <0x179>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><452>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x306): slot_map
+DW_AT_type : <0x2a1>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
diff --git a/mpers-m32/struct_ifreq.h b/mpers-m32/struct_ifreq.h
new file mode 100644
index 00000000..4c31b1ac
--- /dev/null
+++ b/mpers-m32/struct_ifreq.h
@@ -0,0 +1,62 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+union {
+char ifrn_name[16];
+} ifr_ifrn;
+union {
+struct {
+uint16_t sa_family;
+char sa_data[14];
+} ATTRIBUTE_PACKED ifru_addr;
+struct {
+uint16_t sa_family;
+char sa_data[14];
+} ATTRIBUTE_PACKED ifru_dstaddr;
+struct {
+uint16_t sa_family;
+char sa_data[14];
+} ATTRIBUTE_PACKED ifru_broadaddr;
+struct {
+uint16_t sa_family;
+char sa_data[14];
+} ATTRIBUTE_PACKED ifru_netmask;
+struct {
+uint16_t sa_family;
+char sa_data[14];
+} ATTRIBUTE_PACKED ifru_hwaddr;
+int16_t ifru_flags;
+int32_t ifru_ivalue;
+int32_t ifru_mtu;
+struct {
+uint32_t mem_start;
+uint32_t mem_end;
+uint16_t base_addr;
+unsigned char irq;
+unsigned char dma;
+unsigned char port;
+unsigned char mpers_end_filler_1[3];
+} ATTRIBUTE_PACKED ifru_map;
+char ifru_slave[16];
+char ifru_newname[16];
+mpers_ptr_t ifru_data;
+struct {
+uint32_t type;
+uint32_t size;
+union {
+mpers_ptr_t raw_hdlc;
+mpers_ptr_t cisco;
+mpers_ptr_t fr;
+mpers_ptr_t fr_pvc;
+mpers_ptr_t fr_pvc_info;
+mpers_ptr_t sync;
+mpers_ptr_t te1;
+} ifs_ifsu;
+} ATTRIBUTE_PACKED ifru_settings;
+} ifr_ifru;
+} ATTRIBUTE_PACKED m32_struct_ifreq;
+#define MPERS_m32_struct_ifreq m32_struct_ifreq
diff --git a/mpers-m32/struct_keyctl_kdf_params.c b/mpers-m32/struct_keyctl_kdf_params.c
new file mode 100644
index 00000000..849e538b
--- /dev/null
+++ b/mpers-m32/struct_keyctl_kdf_params.c
@@ -0,0 +1,7 @@
+#include "defs.h"
+
+
+#include "keyctl_kdf_params.h"
+typedef struct keyctl_kdf_params struct_keyctl_kdf_params;
+
+struct_keyctl_kdf_params mpers_target_var;
diff --git a/mpers-m32/struct_keyctl_kdf_params.d1 b/mpers-m32/struct_keyctl_kdf_params.d1
new file mode 100644
index 00000000..d1c68fb7
--- /dev/null
+++ b/mpers-m32/struct_keyctl_kdf_params.d1
@@ -0,0 +1,88 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xb6 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_keyctl_kdf_params.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x62): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9d): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 7
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x117): struct_keyctl_kdf_params
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 5
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x105): keyctl_kdf_params
+ <40> DW_AT_byte_size : 44
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 13
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xae): hashname
+ <48> DW_AT_type : <0x7c>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 14
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xbc): otherinfo
+ <56> DW_AT_type : <0x7c>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 15
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xc6): otherinfolen
+ <64> DW_AT_type : <0x88>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 16
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xf4): __spare
+ <72> DW_AT_type : <0xa5>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 17
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 0
+ <1><7c>: Abbrev Number: 6 (DW_TAG_pointer_type)
+ <7d> DW_AT_type : <0x81>
+ <1><81>: Abbrev Number: 7 (DW_TAG_base_type)
+ <82> DW_AT_name : (indirect string, offset: 0xb7): char
+ <86> DW_AT_encoding : 8 (unsigned char)
+ <87> DW_AT_byte_size : 1
+ <1><88>: Abbrev Number: 3 (DW_TAG_typedef)
+ <89> DW_AT_type : <0x93>
+ <8d> DW_AT_name : (indirect string, offset: 0xeb): uint32_t
+ <91> DW_AT_decl_file : 2
+ <92> DW_AT_decl_line : 65
+ <1><93>: Abbrev Number: 3 (DW_TAG_typedef)
+ <94> DW_AT_type : <0x9e>
+ <98> DW_AT_name : (indirect string, offset: 0xe0): __uint32_t
+ <9c> DW_AT_decl_file : 2
+ <9d> DW_AT_decl_line : 41
+ <1><9e>: Abbrev Number: 7 (DW_TAG_base_type)
+ <9f> DW_AT_name : (indirect string, offset: 0xd3): unsigned int
+ <a3> DW_AT_encoding : 7 (unsigned)
+ <a4> DW_AT_byte_size : 4
+ <1><a5>: Abbrev Number: 8 (DW_TAG_array_type)
+ <a6> DW_AT_type : <0x88>
+ <2><aa>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <ab> DW_AT_type : <0xb2>
+ <af> DW_AT_lower_bound : 0
+ <b0> DW_AT_count : 8
+ <2><b1>: Abbrev Number: 0
+ <1><b2>: Abbrev Number: 10 (DW_TAG_base_type)
+ <b3> DW_AT_name : (indirect string, offset: 0xfc): sizetype
+ <b7> DW_AT_byte_size : 8
+ <b8> DW_AT_encoding : 7 (unsigned)
+ <1><b9>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_keyctl_kdf_params.d2 b/mpers-m32/struct_keyctl_kdf_params.d2
new file mode 100644
index 00000000..172fa0f6
--- /dev/null
+++ b/mpers-m32/struct_keyctl_kdf_params.d2
@@ -0,0 +1,86 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9d): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 7
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x117): struct_keyctl_kdf_params
+DW_AT_decl_file : 3
+DW_AT_decl_line : 5
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x105): keyctl_kdf_params
+DW_AT_byte_size : 44
+DW_AT_decl_file : 1
+DW_AT_decl_line : 13
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xae): hashname
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 14
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbc): otherinfo
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 15
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc6): otherinfolen
+DW_AT_type : <0x88>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 16
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf4): __spare
+DW_AT_type : <0xa5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 17
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><7c>
+Abbrev Number: 6 (DW_TAG_pointer_type)
+DW_AT_type : <0x81>
+<1><81>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb7): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><88>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x93>
+DW_AT_name : (indirect string, offset: 0xeb): uint32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 65
+<1><93>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x9e>
+DW_AT_name : (indirect string, offset: 0xe0): __uint32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 41
+<1><9e>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd3): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><a5>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0x88>
+<2><aa>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0xb2>
+DW_AT_lower_bound : 0
+DW_AT_count : 8
+<1><b2>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xfc): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
diff --git a/mpers-m32/struct_keyctl_kdf_params.h b/mpers-m32/struct_keyctl_kdf_params.h
new file mode 100644
index 00000000..92ce13ce
--- /dev/null
+++ b/mpers-m32/struct_keyctl_kdf_params.h
@@ -0,0 +1,13 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+mpers_ptr_t hashname;
+mpers_ptr_t otherinfo;
+uint32_t otherinfolen;
+uint32_t __spare[8];
+} ATTRIBUTE_PACKED m32_struct_keyctl_kdf_params;
+#define MPERS_m32_struct_keyctl_kdf_params m32_struct_keyctl_kdf_params
diff --git a/mpers-m32/struct_loop_info.c b/mpers-m32/struct_loop_info.c
new file mode 100644
index 00000000..ab12d80f
--- /dev/null
+++ b/mpers-m32/struct_loop_info.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2012 The Chromium OS Authors.
+ * Copyright (c) 2012-2018 The strace developers.
+ * Written by Mike Frysinger <vapier@gentoo.org>.
+ *
+ * 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 <linux/ioctl.h>
+#include <linux/loop.h>
+
+typedef struct loop_info struct_loop_info;
+
+
+struct_loop_info mpers_target_var;
diff --git a/mpers-m32/struct_loop_info.d1 b/mpers-m32/struct_loop_info.d1
new file mode 100644
index 00000000..8a8beb1b
--- /dev/null
+++ b/mpers-m32/struct_loop_info.d1
@@ -0,0 +1,162 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x154 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_loop_info.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5a): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 36
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x189): struct_loop_info
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 33
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x17f): loop_info
+ <40> DW_AT_byte_size : 140
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 31
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa6): lo_number
+ <48> DW_AT_type : <0xee>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 32
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xb4): lo_device
+ <56> DW_AT_type : <0xf5>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 33
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xde): lo_inode
+ <64> DW_AT_type : <0x107>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 34
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xf9): lo_rdevice
+ <72> DW_AT_type : <0xf5>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 35
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x104): lo_offset
+ <80> DW_AT_type : <0xee>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 36
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x10e): lo_encrypt_type
+ <8e> DW_AT_type : <0xee>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 37
+ <94> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x11e): lo_encrypt_key_size
+ <9c> DW_AT_type : <0xee>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 38
+ <a2> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x132): lo_flags
+ <aa> DW_AT_type : <0xee>
+ <ae> DW_AT_decl_file : 1
+ <af> DW_AT_decl_line : 39
+ <b0> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x13b): lo_name
+ <b8> DW_AT_type : <0x10e>
+ <bc> DW_AT_decl_file : 1
+ <bd> DW_AT_decl_line : 40
+ <be> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x151): lo_encrypt_key
+ <c6> DW_AT_type : <0x129>
+ <ca> DW_AT_decl_file : 1
+ <cb> DW_AT_decl_line : 41
+ <cc> DW_AT_data_member_location: 2 byte block: 23 60 (DW_OP_plus_uconst: 96)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x16e): lo_init
+ <d4> DW_AT_type : <0x13d>
+ <d8> DW_AT_decl_file : 1
+ <d9> DW_AT_decl_line : 42
+ <da> DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128)
+ <2><de>: Abbrev Number: 5 (DW_TAG_member)
+ <df> DW_AT_name : (indirect string, offset: 0x176): reserved
+ <e3> DW_AT_type : <0x14a>
+ <e7> DW_AT_decl_file : 1
+ <e8> DW_AT_decl_line : 43
+ <e9> DW_AT_data_member_location: 3 byte block: 23 88 1 (DW_OP_plus_uconst: 136)
+ <2><ed>: Abbrev Number: 0
+ <1><ee>: Abbrev Number: 6 (DW_TAG_base_type)
+ <ef> DW_AT_name : (indirect string, offset: 0xb0): int
+ <f3> DW_AT_encoding : 5 (signed)
+ <f4> DW_AT_byte_size : 4
+ <1><f5>: Abbrev Number: 3 (DW_TAG_typedef)
+ <f6> DW_AT_type : <0x100>
+ <fa> DW_AT_name : (indirect string, offset: 0xcb): __kernel_old_dev_t
+ <fe> DW_AT_decl_file : 2
+ <ff> DW_AT_decl_line : 57
+ <1><100>: Abbrev Number: 6 (DW_TAG_base_type)
+ <101> DW_AT_name : (indirect string, offset: 0xbe): unsigned int
+ <105> DW_AT_encoding : 7 (unsigned)
+ <106> DW_AT_byte_size : 4
+ <1><107>: Abbrev Number: 6 (DW_TAG_base_type)
+ <108> DW_AT_name : (indirect string, offset: 0xe7): long unsigned int
+ <10c> DW_AT_encoding : 7 (unsigned)
+ <10d> DW_AT_byte_size : 4
+ <1><10e>: Abbrev Number: 7 (DW_TAG_array_type)
+ <10f> DW_AT_type : <0x11b>
+ <2><113>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <114> DW_AT_type : <0x122>
+ <118> DW_AT_lower_bound : 0
+ <119> DW_AT_count : 64
+ <2><11a>: Abbrev Number: 0
+ <1><11b>: Abbrev Number: 6 (DW_TAG_base_type)
+ <11c> DW_AT_name : (indirect string, offset: 0x143): char
+ <120> DW_AT_encoding : 8 (unsigned char)
+ <121> DW_AT_byte_size : 1
+ <1><122>: Abbrev Number: 9 (DW_TAG_base_type)
+ <123> DW_AT_name : (indirect string, offset: 0x148): sizetype
+ <127> DW_AT_byte_size : 8
+ <128> DW_AT_encoding : 7 (unsigned)
+ <1><129>: Abbrev Number: 7 (DW_TAG_array_type)
+ <12a> DW_AT_type : <0x136>
+ <2><12e>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <12f> DW_AT_type : <0x122>
+ <133> DW_AT_lower_bound : 0
+ <134> DW_AT_count : 32
+ <2><135>: Abbrev Number: 0
+ <1><136>: Abbrev Number: 6 (DW_TAG_base_type)
+ <137> DW_AT_name : (indirect string, offset: 0x160): unsigned char
+ <13b> DW_AT_encoding : 8 (unsigned char)
+ <13c> DW_AT_byte_size : 1
+ <1><13d>: Abbrev Number: 7 (DW_TAG_array_type)
+ <13e> DW_AT_type : <0x107>
+ <2><142>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <143> DW_AT_type : <0x122>
+ <147> DW_AT_lower_bound : 0
+ <148> DW_AT_count : 2
+ <2><149>: Abbrev Number: 0
+ <1><14a>: Abbrev Number: 7 (DW_TAG_array_type)
+ <14b> DW_AT_type : <0x11b>
+ <2><14f>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <150> DW_AT_type : <0x122>
+ <154> DW_AT_lower_bound : 0
+ <155> DW_AT_count : 4
+ <2><156>: Abbrev Number: 0
+ <1><157>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_loop_info.d2 b/mpers-m32/struct_loop_info.d2
new file mode 100644
index 00000000..ac955a5e
--- /dev/null
+++ b/mpers-m32/struct_loop_info.d2
@@ -0,0 +1,172 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 36
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x189): struct_loop_info
+DW_AT_decl_file : 3
+DW_AT_decl_line : 33
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x17f): loop_info
+DW_AT_byte_size : 140
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa6): lo_number
+DW_AT_type : <0xee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb4): lo_device
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xde): lo_inode
+DW_AT_type : <0x107>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf9): lo_rdevice
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x104): lo_offset
+DW_AT_type : <0xee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10e): lo_encrypt_type
+DW_AT_type : <0xee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11e): lo_encrypt_key_size
+DW_AT_type : <0xee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x132): lo_flags
+DW_AT_type : <0xee>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13b): lo_name
+DW_AT_type : <0x10e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x151): lo_encrypt_key
+DW_AT_type : <0x129>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 60 (DW_OP_plus_uconst: 96)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16e): lo_init
+DW_AT_type : <0x13d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128)
+<2><de>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x176): reserved
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 3 byte block: 23 88 1 (DW_OP_plus_uconst: 136)
+<1><ee>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb0): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><f5>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x100>
+DW_AT_name : (indirect string, offset: 0xcb): __kernel_old_dev_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 57
+<1><100>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xbe): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><107>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe7): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><10e>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x11b>
+<2><113>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x122>
+DW_AT_lower_bound : 0
+DW_AT_count : 64
+<1><11b>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x143): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><122>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x148): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><129>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x136>
+<2><12e>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x122>
+DW_AT_lower_bound : 0
+DW_AT_count : 32
+<1><136>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x160): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><13d>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x107>
+<2><142>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x122>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><14a>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x11b>
+<2><14f>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x122>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
diff --git a/mpers-m32/struct_loop_info.h b/mpers-m32/struct_loop_info.h
new file mode 100644
index 00000000..b15cd27e
--- /dev/null
+++ b/mpers-m32/struct_loop_info.h
@@ -0,0 +1,17 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t lo_number;
+uint32_t lo_device;
+uint32_t lo_inode;
+uint32_t lo_rdevice;
+int32_t lo_offset;
+int32_t lo_encrypt_type;
+int32_t lo_encrypt_key_size;
+int32_t lo_flags;
+char lo_name[64];
+unsigned char lo_encrypt_key[32];
+uint32_t lo_init[2];
+char reserved[4];
+} ATTRIBUTE_PACKED m32_struct_loop_info;
+#define MPERS_m32_struct_loop_info m32_struct_loop_info
diff --git a/mpers-m32/struct_mmsghdr.c b/mpers-m32/struct_mmsghdr.c
new file mode 100644
index 00000000..73bc1652
--- /dev/null
+++ b/mpers-m32/struct_mmsghdr.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 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 "defs.h"
+
+
+#include "msghdr.h"
+typedef struct mmsghdr struct_mmsghdr;
+
+struct_mmsghdr mpers_target_var;
diff --git a/mpers-m32/struct_mmsghdr.d1 b/mpers-m32/struct_mmsghdr.d1
new file mode 100644
index 00000000..0fc9f731
--- /dev/null
+++ b/mpers-m32/struct_mmsghdr.d1
@@ -0,0 +1,161 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x155 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_mmsghdr.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x58): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x93): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 7
+ <29> DW_AT_decl_line : 34
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x19a): struct_mmsghdr
+ <39> DW_AT_decl_file : 7
+ <3a> DW_AT_decl_line : 32
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x192): mmsghdr
+ <40> DW_AT_byte_size : 32
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 96
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa4): msg_hdr
+ <48> DW_AT_type : <0x60>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 97
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0x18a): msg_len
+ <56> DW_AT_type : <0x151>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 98
+ <5c> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><5f>: Abbrev Number: 0
+ <1><60>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <61> DW_AT_name : (indirect string, offset: 0x183): msghdr
+ <65> DW_AT_byte_size : 28
+ <66> DW_AT_decl_file : 1
+ <67> DW_AT_decl_line : 86
+ <2><68>: Abbrev Number: 5 (DW_TAG_member)
+ <69> DW_AT_name : (indirect string, offset: 0xac): msg_name
+ <6d> DW_AT_type : <0xcb>
+ <71> DW_AT_decl_file : 1
+ <72> DW_AT_decl_line : 87
+ <73> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><76>: Abbrev Number: 5 (DW_TAG_member)
+ <77> DW_AT_name : (indirect string, offset: 0xb5): msg_namelen
+ <7b> DW_AT_type : <0xcc>
+ <7f> DW_AT_decl_file : 1
+ <80> DW_AT_decl_line : 88
+ <81> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><84>: Abbrev Number: 5 (DW_TAG_member)
+ <85> DW_AT_name : (indirect string, offset: 0xed): msg_iov
+ <89> DW_AT_type : <0xff>
+ <8d> DW_AT_decl_file : 1
+ <8e> DW_AT_decl_line : 89
+ <8f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><92>: Abbrev Number: 5 (DW_TAG_member)
+ <93> DW_AT_name : (indirect string, offset: 0x13f): msg_iovlen
+ <97> DW_AT_type : <0x146>
+ <9b> DW_AT_decl_file : 1
+ <9c> DW_AT_decl_line : 90
+ <9d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><a0>: Abbrev Number: 5 (DW_TAG_member)
+ <a1> DW_AT_name : (indirect string, offset: 0x15e): msg_control
+ <a5> DW_AT_type : <0xcb>
+ <a9> DW_AT_decl_file : 1
+ <aa> DW_AT_decl_line : 91
+ <ab> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><ae>: Abbrev Number: 5 (DW_TAG_member)
+ <af> DW_AT_name : (indirect string, offset: 0x16a): msg_controllen
+ <b3> DW_AT_type : <0x146>
+ <b7> DW_AT_decl_file : 1
+ <b8> DW_AT_decl_line : 92
+ <b9> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><bc>: Abbrev Number: 5 (DW_TAG_member)
+ <bd> DW_AT_name : (indirect string, offset: 0x179): msg_flags
+ <c1> DW_AT_type : <0xf8>
+ <c5> DW_AT_decl_file : 1
+ <c6> DW_AT_decl_line : 93
+ <c7> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><ca>: Abbrev Number: 0
+ <1><cb>: Abbrev Number: 6 (DW_TAG_pointer_type)
+ <1><cc>: Abbrev Number: 3 (DW_TAG_typedef)
+ <cd> DW_AT_type : <0xd7>
+ <d1> DW_AT_name : (indirect string, offset: 0xe3): socklen_t
+ <d5> DW_AT_decl_file : 3
+ <d6> DW_AT_decl_line : 116
+ <1><d7>: Abbrev Number: 3 (DW_TAG_typedef)
+ <d8> DW_AT_type : <0xe2>
+ <dc> DW_AT_name : (indirect string, offset: 0xd7): __socklen_t
+ <e0> DW_AT_decl_file : 3
+ <e1> DW_AT_decl_line : 111
+ <1><e2>: Abbrev Number: 3 (DW_TAG_typedef)
+ <e3> DW_AT_type : <0xed>
+ <e7> DW_AT_name : (indirect string, offset: 0xcf): int32_t
+ <eb> DW_AT_decl_file : 2
+ <ec> DW_AT_decl_line : 64
+ <1><ed>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ee> DW_AT_type : <0xf8>
+ <f2> DW_AT_name : (indirect string, offset: 0xc5): __int32_t
+ <f6> DW_AT_decl_file : 2
+ <f7> DW_AT_decl_line : 40
+ <1><f8>: Abbrev Number: 7 (DW_TAG_base_type)
+ <f9> DW_AT_name : (indirect string, offset: 0xc1): int
+ <fd> DW_AT_encoding : 5 (signed)
+ <fe> DW_AT_byte_size : 4
+ <1><ff>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <100> DW_AT_type : <0x104>
+ <1><104>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <105> DW_AT_name : (indirect string, offset: 0x139): iovec
+ <109> DW_AT_byte_size : 8
+ <10a> DW_AT_decl_file : 4
+ <10b> DW_AT_decl_line : 23
+ <2><10c>: Abbrev Number: 5 (DW_TAG_member)
+ <10d> DW_AT_name : (indirect string, offset: 0xf5): iov_base
+ <111> DW_AT_type : <0xcb>
+ <115> DW_AT_decl_file : 4
+ <116> DW_AT_decl_line : 24
+ <117> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><11a>: Abbrev Number: 5 (DW_TAG_member)
+ <11b> DW_AT_name : (indirect string, offset: 0xfe): iov_len
+ <11f> DW_AT_type : <0x129>
+ <123> DW_AT_decl_file : 4
+ <124> DW_AT_decl_line : 25
+ <125> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><128>: Abbrev Number: 0
+ <1><129>: Abbrev Number: 3 (DW_TAG_typedef)
+ <12a> DW_AT_type : <0x134>
+ <12e> DW_AT_name : (indirect string, offset: 0x129): __kernel_size_t
+ <132> DW_AT_decl_file : 5
+ <133> DW_AT_decl_line : 65
+ <1><134>: Abbrev Number: 3 (DW_TAG_typedef)
+ <135> DW_AT_type : <0x13f>
+ <139> DW_AT_name : (indirect string, offset: 0x118): __kernel_ulong_t
+ <13d> DW_AT_decl_file : 5
+ <13e> DW_AT_decl_line : 24
+ <1><13f>: Abbrev Number: 7 (DW_TAG_base_type)
+ <140> DW_AT_name : (indirect string, offset: 0x106): long unsigned int
+ <144> DW_AT_encoding : 7 (unsigned)
+ <145> DW_AT_byte_size : 4
+ <1><146>: Abbrev Number: 3 (DW_TAG_typedef)
+ <147> DW_AT_type : <0x151>
+ <14b> DW_AT_name : (indirect string, offset: 0x157): size_t
+ <14f> DW_AT_decl_file : 6
+ <150> DW_AT_decl_line : 62
+ <1><151>: Abbrev Number: 7 (DW_TAG_base_type)
+ <152> DW_AT_name : (indirect string, offset: 0x14a): unsigned int
+ <156> DW_AT_encoding : 7 (unsigned)
+ <157> DW_AT_byte_size : 4
+ <1><158>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_mmsghdr.d2 b/mpers-m32/struct_mmsghdr.d2
new file mode 100644
index 00000000..36066428
--- /dev/null
+++ b/mpers-m32/struct_mmsghdr.d2
@@ -0,0 +1,171 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x93): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 7
+DW_AT_decl_line : 34
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x19a): struct_mmsghdr
+DW_AT_decl_file : 7
+DW_AT_decl_line : 32
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x192): mmsghdr
+DW_AT_byte_size : 32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 96
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa4): msg_hdr
+DW_AT_type : <0x60>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 97
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18a): msg_len
+DW_AT_type : <0x151>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 98
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<1><60>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x183): msghdr
+DW_AT_byte_size : 28
+DW_AT_decl_file : 1
+DW_AT_decl_line : 86
+<2><68>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xac): msg_name
+DW_AT_type : <0xcb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 87
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><76>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb5): msg_namelen
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 88
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><84>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xed): msg_iov
+DW_AT_type : <0xff>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 89
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><92>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13f): msg_iovlen
+DW_AT_type : <0x146>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 90
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><a0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): msg_control
+DW_AT_type : <0xcb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 91
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><ae>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16a): msg_controllen
+DW_AT_type : <0x146>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 92
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x179): msg_flags
+DW_AT_type : <0xf8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 93
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<1><cb>
+Abbrev Number: 6 (DW_TAG_pointer_type)
+<1><cc>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xd7>
+DW_AT_name : (indirect string, offset: 0xe3): socklen_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 116
+<1><d7>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xe2>
+DW_AT_name : (indirect string, offset: 0xd7): __socklen_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 111
+<1><e2>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xed>
+DW_AT_name : (indirect string, offset: 0xcf): int32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 64
+<1><ed>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xf8>
+DW_AT_name : (indirect string, offset: 0xc5): __int32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 40
+<1><f8>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc1): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><ff>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x104>
+<1><104>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x139): iovec
+DW_AT_byte_size : 8
+DW_AT_decl_file : 4
+DW_AT_decl_line : 23
+<2><10c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf5): iov_base
+DW_AT_type : <0xcb>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><11a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfe): iov_len
+DW_AT_type : <0x129>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><129>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x134>
+DW_AT_name : (indirect string, offset: 0x129): __kernel_size_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 65
+<1><134>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x13f>
+DW_AT_name : (indirect string, offset: 0x118): __kernel_ulong_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 24
+<1><13f>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x106): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><146>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x151>
+DW_AT_name : (indirect string, offset: 0x157): size_t
+DW_AT_decl_file : 6
+DW_AT_decl_line : 62
+<1><151>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x14a): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_mmsghdr.h b/mpers-m32/struct_mmsghdr.h
new file mode 100644
index 00000000..d5849460
--- /dev/null
+++ b/mpers-m32/struct_mmsghdr.h
@@ -0,0 +1,19 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+struct {
+mpers_ptr_t msg_name;
+int32_t msg_namelen;
+mpers_ptr_t msg_iov;
+uint32_t msg_iovlen;
+mpers_ptr_t msg_control;
+uint32_t msg_controllen;
+int32_t msg_flags;
+} ATTRIBUTE_PACKED msg_hdr;
+uint32_t msg_len;
+} ATTRIBUTE_PACKED m32_struct_mmsghdr;
+#define MPERS_m32_struct_mmsghdr m32_struct_mmsghdr
diff --git a/mpers-m32/struct_msghdr.c b/mpers-m32/struct_msghdr.c
new file mode 100644
index 00000000..0100d766
--- /dev/null
+++ b/mpers-m32/struct_msghdr.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016 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 "defs.h"
+
+
+#include "msghdr.h"
+typedef struct msghdr struct_msghdr;
+
+struct_msghdr mpers_target_var;
diff --git a/mpers-m32/struct_msghdr.d1 b/mpers-m32/struct_msghdr.d1
new file mode 100644
index 00000000..493444f8
--- /dev/null
+++ b/mpers-m32/struct_msghdr.d1
@@ -0,0 +1,143 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x130 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_msghdr.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x57): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 7
+ <29> DW_AT_decl_line : 34
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x181): struct_msghdr
+ <39> DW_AT_decl_file : 7
+ <3a> DW_AT_decl_line : 32
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x17a): msghdr
+ <40> DW_AT_byte_size : 28
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 86
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa3): msg_name
+ <48> DW_AT_type : <0xa6>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 87
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xac): msg_namelen
+ <56> DW_AT_type : <0xa7>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 88
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xe4): msg_iov
+ <64> DW_AT_type : <0xda>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 89
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0x136): msg_iovlen
+ <72> DW_AT_type : <0x121>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 90
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x155): msg_control
+ <80> DW_AT_type : <0xa6>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 91
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x161): msg_controllen
+ <8e> DW_AT_type : <0x121>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 92
+ <94> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x170): msg_flags
+ <9c> DW_AT_type : <0xd3>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 93
+ <a2> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><a5>: Abbrev Number: 0
+ <1><a6>: Abbrev Number: 6 (DW_TAG_pointer_type)
+ <1><a7>: Abbrev Number: 3 (DW_TAG_typedef)
+ <a8> DW_AT_type : <0xb2>
+ <ac> DW_AT_name : (indirect string, offset: 0xda): socklen_t
+ <b0> DW_AT_decl_file : 3
+ <b1> DW_AT_decl_line : 116
+ <1><b2>: Abbrev Number: 3 (DW_TAG_typedef)
+ <b3> DW_AT_type : <0xbd>
+ <b7> DW_AT_name : (indirect string, offset: 0xce): __socklen_t
+ <bb> DW_AT_decl_file : 3
+ <bc> DW_AT_decl_line : 111
+ <1><bd>: Abbrev Number: 3 (DW_TAG_typedef)
+ <be> DW_AT_type : <0xc8>
+ <c2> DW_AT_name : (indirect string, offset: 0xc6): int32_t
+ <c6> DW_AT_decl_file : 2
+ <c7> DW_AT_decl_line : 64
+ <1><c8>: Abbrev Number: 3 (DW_TAG_typedef)
+ <c9> DW_AT_type : <0xd3>
+ <cd> DW_AT_name : (indirect string, offset: 0xbc): __int32_t
+ <d1> DW_AT_decl_file : 2
+ <d2> DW_AT_decl_line : 40
+ <1><d3>: Abbrev Number: 7 (DW_TAG_base_type)
+ <d4> DW_AT_name : (indirect string, offset: 0xb8): int
+ <d8> DW_AT_encoding : 5 (signed)
+ <d9> DW_AT_byte_size : 4
+ <1><da>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <db> DW_AT_type : <0xdf>
+ <1><df>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <e0> DW_AT_name : (indirect string, offset: 0x130): iovec
+ <e4> DW_AT_byte_size : 8
+ <e5> DW_AT_decl_file : 4
+ <e6> DW_AT_decl_line : 23
+ <2><e7>: Abbrev Number: 5 (DW_TAG_member)
+ <e8> DW_AT_name : (indirect string, offset: 0xec): iov_base
+ <ec> DW_AT_type : <0xa6>
+ <f0> DW_AT_decl_file : 4
+ <f1> DW_AT_decl_line : 24
+ <f2> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><f5>: Abbrev Number: 5 (DW_TAG_member)
+ <f6> DW_AT_name : (indirect string, offset: 0xf5): iov_len
+ <fa> DW_AT_type : <0x104>
+ <fe> DW_AT_decl_file : 4
+ <ff> DW_AT_decl_line : 25
+ <100> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><103>: Abbrev Number: 0
+ <1><104>: Abbrev Number: 3 (DW_TAG_typedef)
+ <105> DW_AT_type : <0x10f>
+ <109> DW_AT_name : (indirect string, offset: 0x120): __kernel_size_t
+ <10d> DW_AT_decl_file : 5
+ <10e> DW_AT_decl_line : 65
+ <1><10f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <110> DW_AT_type : <0x11a>
+ <114> DW_AT_name : (indirect string, offset: 0x10f): __kernel_ulong_t
+ <118> DW_AT_decl_file : 5
+ <119> DW_AT_decl_line : 24
+ <1><11a>: Abbrev Number: 7 (DW_TAG_base_type)
+ <11b> DW_AT_name : (indirect string, offset: 0xfd): long unsigned int
+ <11f> DW_AT_encoding : 7 (unsigned)
+ <120> DW_AT_byte_size : 4
+ <1><121>: Abbrev Number: 3 (DW_TAG_typedef)
+ <122> DW_AT_type : <0x12c>
+ <126> DW_AT_name : (indirect string, offset: 0x14e): size_t
+ <12a> DW_AT_decl_file : 6
+ <12b> DW_AT_decl_line : 62
+ <1><12c>: Abbrev Number: 7 (DW_TAG_base_type)
+ <12d> DW_AT_name : (indirect string, offset: 0x141): unsigned int
+ <131> DW_AT_encoding : 7 (unsigned)
+ <132> DW_AT_byte_size : 4
+ <1><133>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_msghdr.d2 b/mpers-m32/struct_msghdr.d2
new file mode 100644
index 00000000..b7009ec7
--- /dev/null
+++ b/mpers-m32/struct_msghdr.d2
@@ -0,0 +1,151 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 7
+DW_AT_decl_line : 34
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x181): struct_msghdr
+DW_AT_decl_file : 7
+DW_AT_decl_line : 32
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x17a): msghdr
+DW_AT_byte_size : 28
+DW_AT_decl_file : 1
+DW_AT_decl_line : 86
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa3): msg_name
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 87
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xac): msg_namelen
+DW_AT_type : <0xa7>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 88
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe4): msg_iov
+DW_AT_type : <0xda>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 89
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): msg_iovlen
+DW_AT_type : <0x121>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 90
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x155): msg_control
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 91
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x161): msg_controllen
+DW_AT_type : <0x121>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 92
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x170): msg_flags
+DW_AT_type : <0xd3>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 93
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<1><a6>
+Abbrev Number: 6 (DW_TAG_pointer_type)
+<1><a7>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xb2>
+DW_AT_name : (indirect string, offset: 0xda): socklen_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 116
+<1><b2>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xbd>
+DW_AT_name : (indirect string, offset: 0xce): __socklen_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 111
+<1><bd>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xc8>
+DW_AT_name : (indirect string, offset: 0xc6): int32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 64
+<1><c8>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xd3>
+DW_AT_name : (indirect string, offset: 0xbc): __int32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 40
+<1><d3>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb8): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><da>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0xdf>
+<1><df>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x130): iovec
+DW_AT_byte_size : 8
+DW_AT_decl_file : 4
+DW_AT_decl_line : 23
+<2><e7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xec): iov_base
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><f5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf5): iov_len
+DW_AT_type : <0x104>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><104>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x10f>
+DW_AT_name : (indirect string, offset: 0x120): __kernel_size_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 65
+<1><10f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x11a>
+DW_AT_name : (indirect string, offset: 0x10f): __kernel_ulong_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 24
+<1><11a>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xfd): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><121>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x12c>
+DW_AT_name : (indirect string, offset: 0x14e): size_t
+DW_AT_decl_file : 6
+DW_AT_decl_line : 62
+<1><12c>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x141): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_msghdr.h b/mpers-m32/struct_msghdr.h
new file mode 100644
index 00000000..9011aa3a
--- /dev/null
+++ b/mpers-m32/struct_msghdr.h
@@ -0,0 +1,16 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+mpers_ptr_t msg_name;
+int32_t msg_namelen;
+mpers_ptr_t msg_iov;
+uint32_t msg_iovlen;
+mpers_ptr_t msg_control;
+uint32_t msg_controllen;
+int32_t msg_flags;
+} ATTRIBUTE_PACKED m32_struct_msghdr;
+#define MPERS_m32_struct_msghdr m32_struct_msghdr
diff --git a/mpers-m32/struct_mtd_oob_buf.c b/mpers-m32/struct_mtd_oob_buf.c
new file mode 100644
index 00000000..c5fa12cf
--- /dev/null
+++ b/mpers-m32/struct_mtd_oob_buf.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2012 Mike Frysinger <vapier@gentoo.org>
+ * Copyright (c) 2012-2018 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"
+
+#ifdef HAVE_STRUCT_MTD_WRITE_REQ
+
+
+# include <linux/ioctl.h>
+# include <mtd/mtd-abi.h>
+
+typedef struct mtd_oob_buf struct_mtd_oob_buf;
+
+#endif /* HAVE_STRUCT_MTD_WRITE_REQ */
+
+struct_mtd_oob_buf mpers_target_var;
diff --git a/mpers-m32/struct_mtd_oob_buf.d1 b/mpers-m32/struct_mtd_oob_buf.d1
new file mode 100644
index 00000000..4f8fac79
--- /dev/null
+++ b/mpers-m32/struct_mtd_oob_buf.d1
@@ -0,0 +1,66 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x89 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_mtd_oob_buf.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5c): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 40
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xe6): struct_mtd_oob_buf
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 36
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xda): mtd_oob_buf
+ <40> DW_AT_byte_size : 12
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 30
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa8): start
+ <48> DW_AT_type : <0x6e>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 31
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc1): length
+ <56> DW_AT_type : <0x6e>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 32
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xc8): ptr
+ <64> DW_AT_type : <0x80>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 33
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 0
+ <1><6e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <6f> DW_AT_type : <0x79>
+ <73> DW_AT_name : (indirect string, offset: 0xbb): __u32
+ <77> DW_AT_decl_file : 1
+ <78> DW_AT_decl_line : 28
+ <1><79>: Abbrev Number: 6 (DW_TAG_base_type)
+ <7a> DW_AT_name : (indirect string, offset: 0xae): unsigned int
+ <7e> DW_AT_encoding : 7 (unsigned)
+ <7f> DW_AT_byte_size : 4
+ <1><80>: Abbrev Number: 7 (DW_TAG_pointer_type)
+ <81> DW_AT_type : <0x85>
+ <1><85>: Abbrev Number: 6 (DW_TAG_base_type)
+ <86> DW_AT_name : (indirect string, offset: 0xcc): unsigned char
+ <8a> DW_AT_encoding : 8 (unsigned char)
+ <8b> DW_AT_byte_size : 1
+ <1><8c>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_mtd_oob_buf.d2 b/mpers-m32/struct_mtd_oob_buf.d2
new file mode 100644
index 00000000..cd1b3568
--- /dev/null
+++ b/mpers-m32/struct_mtd_oob_buf.d2
@@ -0,0 +1,60 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 40
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xe6): struct_mtd_oob_buf
+DW_AT_decl_file : 3
+DW_AT_decl_line : 36
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xda): mtd_oob_buf
+DW_AT_byte_size : 12
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): start
+DW_AT_type : <0x6e>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): length
+DW_AT_type : <0x6e>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc8): ptr
+DW_AT_type : <0x80>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><6e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x79>
+DW_AT_name : (indirect string, offset: 0xbb): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><79>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xae): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><80>
+Abbrev Number: 7 (DW_TAG_pointer_type)
+DW_AT_type : <0x85>
+<1><85>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xcc): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
diff --git a/mpers-m32/struct_mtd_oob_buf.h b/mpers-m32/struct_mtd_oob_buf.h
new file mode 100644
index 00000000..56018085
--- /dev/null
+++ b/mpers-m32/struct_mtd_oob_buf.h
@@ -0,0 +1,12 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint32_t start;
+uint32_t length;
+mpers_ptr_t ptr;
+} ATTRIBUTE_PACKED m32_struct_mtd_oob_buf;
+#define MPERS_m32_struct_mtd_oob_buf m32_struct_mtd_oob_buf
diff --git a/mpers-m32/struct_rt_sigframe.c b/mpers-m32/struct_rt_sigframe.c
new file mode 100644
index 00000000..e5a0b486
--- /dev/null
+++ b/mpers-m32/struct_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * 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 "defs.h"
+
+
+#include "rt_sigframe.h"
+
+struct_rt_sigframe mpers_target_var;
diff --git a/mpers-m32/struct_rt_sigframe.d1 b/mpers-m32/struct_rt_sigframe.d1
new file mode 100644
index 00000000..41b38a77
--- /dev/null
+++ b/mpers-m32/struct_rt_sigframe.d1
@@ -0,0 +1,657 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x55d (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_rt_sigframe.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5c): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 10
+ <29> DW_AT_decl_line : 33
+ <2a> DW_AT_location : 5 byte block: 3 10 0 0 0 (DW_OP_addr: 10)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x3a4): struct_rt_sigframe
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 39
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_byte_size : 5184
+ <3e> DW_AT_decl_file : 4
+ <3f> DW_AT_decl_line : 35
+ <2><40>: Abbrev Number: 5 (DW_TAG_member)
+ <41> DW_AT_name : (indirect string, offset: 0xa8): info
+ <45> DW_AT_type : <0x5e>
+ <49> DW_AT_decl_file : 4
+ <4a> DW_AT_decl_line : 36
+ <4b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4e>: Abbrev Number: 5 (DW_TAG_member)
+ <4f> DW_AT_name : (indirect string, offset: 0x25c): uc
+ <53> DW_AT_type : <0x379>
+ <57> DW_AT_decl_file : 4
+ <58> DW_AT_decl_line : 37
+ <59> DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128)
+ <2><5d>: Abbrev Number: 0
+ <1><5e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <5f> DW_AT_type : <0x69>
+ <63> DW_AT_name : (indirect string, offset: 0x252): siginfo_t
+ <67> DW_AT_decl_file : 1
+ <68> DW_AT_decl_line : 100
+ <1><69>: Abbrev Number: 6 (DW_TAG_structure_type)
+ <6a> DW_AT_name : (indirect string, offset: 0x24a): siginfo
+ <6e> DW_AT_byte_size : 124
+ <6f> DW_AT_decl_file : 1
+ <70> DW_AT_decl_line : 47
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xad): si_signo
+ <76> DW_AT_type : <0x2c2>
+ <7a> DW_AT_decl_file : 1
+ <7b> DW_AT_decl_line : 48
+ <7c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><7f>: Abbrev Number: 5 (DW_TAG_member)
+ <80> DW_AT_name : (indirect string, offset: 0xba): si_errno
+ <84> DW_AT_type : <0x2c2>
+ <88> DW_AT_decl_file : 1
+ <89> DW_AT_decl_line : 49
+ <8a> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><8d>: Abbrev Number: 5 (DW_TAG_member)
+ <8e> DW_AT_name : (indirect string, offset: 0xc3): si_code
+ <92> DW_AT_type : <0x2c2>
+ <96> DW_AT_decl_file : 1
+ <97> DW_AT_decl_line : 50
+ <98> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><9b>: Abbrev Number: 5 (DW_TAG_member)
+ <9c> DW_AT_name : (indirect string, offset: 0xcb): _sifields
+ <a0> DW_AT_type : <0xa9>
+ <a4> DW_AT_decl_file : 1
+ <a5> DW_AT_decl_line : 99
+ <a6> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><a9>: Abbrev Number: 7 (DW_TAG_union_type)
+ <aa> DW_AT_byte_size : 112
+ <ab> DW_AT_decl_file : 1
+ <ac> DW_AT_decl_line : 51
+ <3><ad>: Abbrev Number: 5 (DW_TAG_member)
+ <ae> DW_AT_name : (indirect string, offset: 0xd5): _pad
+ <b2> DW_AT_type : <0x2c9>
+ <b6> DW_AT_decl_file : 1
+ <b7> DW_AT_decl_line : 52
+ <b8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><bb>: Abbrev Number: 5 (DW_TAG_member)
+ <bc> DW_AT_name : (indirect string, offset: 0xe3): _kill
+ <c0> DW_AT_type : <0xc9>
+ <c4> DW_AT_decl_file : 1
+ <c5> DW_AT_decl_line : 56
+ <c6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><c9>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <ca> DW_AT_byte_size : 8
+ <cb> DW_AT_decl_file : 1
+ <cc> DW_AT_decl_line : 53
+ <4><cd>: Abbrev Number: 5 (DW_TAG_member)
+ <ce> DW_AT_name : (indirect string, offset: 0xe9): _pid
+ <d2> DW_AT_type : <0x2dd>
+ <d6> DW_AT_decl_file : 1
+ <d7> DW_AT_decl_line : 54
+ <d8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><db>: Abbrev Number: 5 (DW_TAG_member)
+ <dc> DW_AT_name : (indirect string, offset: 0xfd): _uid
+ <e0> DW_AT_type : <0x2e8>
+ <e4> DW_AT_decl_file : 1
+ <e5> DW_AT_decl_line : 55
+ <e6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><e9>: Abbrev Number: 0
+ <3><ea>: Abbrev Number: 5 (DW_TAG_member)
+ <eb> DW_AT_name : (indirect string, offset: 0x120): _timer
+ <ef> DW_AT_type : <0xf8>
+ <f3> DW_AT_decl_file : 1
+ <f4> DW_AT_decl_line : 63
+ <f5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><f8>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <f9> DW_AT_byte_size : 16
+ <fa> DW_AT_decl_file : 1
+ <fb> DW_AT_decl_line : 57
+ <4><fc>: Abbrev Number: 5 (DW_TAG_member)
+ <fd> DW_AT_name : (indirect string, offset: 0x127): _tid
+ <101> DW_AT_type : <0x2fa>
+ <105> DW_AT_decl_file : 1
+ <106> DW_AT_decl_line : 58
+ <107> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><10a>: Abbrev Number: 5 (DW_TAG_member)
+ <10b> DW_AT_name : (indirect string, offset: 0x13d): _overrun
+ <10f> DW_AT_type : <0x2c2>
+ <113> DW_AT_decl_file : 1
+ <114> DW_AT_decl_line : 59
+ <115> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><118>: Abbrev Number: 5 (DW_TAG_member)
+ <119> DW_AT_name : (indirect string, offset: 0xd5): _pad
+ <11d> DW_AT_type : <0x305>
+ <121> DW_AT_decl_file : 1
+ <122> DW_AT_decl_line : 60
+ <123> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><126>: Abbrev Number: 5 (DW_TAG_member)
+ <127> DW_AT_name : (indirect string, offset: 0x14b): _sigval
+ <12b> DW_AT_type : <0x319>
+ <12f> DW_AT_decl_file : 1
+ <130> DW_AT_decl_line : 61
+ <131> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><134>: Abbrev Number: 5 (DW_TAG_member)
+ <135> DW_AT_name : (indirect string, offset: 0x177): _sys_private
+ <139> DW_AT_type : <0x2c2>
+ <13d> DW_AT_decl_file : 1
+ <13e> DW_AT_decl_line : 62
+ <13f> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <4><142>: Abbrev Number: 0
+ <3><143>: Abbrev Number: 5 (DW_TAG_member)
+ <144> DW_AT_name : (indirect string, offset: 0x184): _rt
+ <148> DW_AT_type : <0x151>
+ <14c> DW_AT_decl_file : 1
+ <14d> DW_AT_decl_line : 68
+ <14e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><151>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <152> DW_AT_byte_size : 12
+ <153> DW_AT_decl_file : 1
+ <154> DW_AT_decl_line : 64
+ <4><155>: Abbrev Number: 5 (DW_TAG_member)
+ <156> DW_AT_name : (indirect string, offset: 0xe9): _pid
+ <15a> DW_AT_type : <0x2dd>
+ <15e> DW_AT_decl_file : 1
+ <15f> DW_AT_decl_line : 65
+ <160> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><163>: Abbrev Number: 5 (DW_TAG_member)
+ <164> DW_AT_name : (indirect string, offset: 0xfd): _uid
+ <168> DW_AT_type : <0x2e8>
+ <16c> DW_AT_decl_file : 1
+ <16d> DW_AT_decl_line : 66
+ <16e> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><171>: Abbrev Number: 5 (DW_TAG_member)
+ <172> DW_AT_name : (indirect string, offset: 0x14b): _sigval
+ <176> DW_AT_type : <0x319>
+ <17a> DW_AT_decl_file : 1
+ <17b> DW_AT_decl_line : 67
+ <17c> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><17f>: Abbrev Number: 0
+ <3><180>: Abbrev Number: 5 (DW_TAG_member)
+ <181> DW_AT_name : (indirect string, offset: 0x188): _sigchld
+ <185> DW_AT_type : <0x18e>
+ <189> DW_AT_decl_file : 1
+ <18a> DW_AT_decl_line : 75
+ <18b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><18e>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <18f> DW_AT_byte_size : 20
+ <190> DW_AT_decl_file : 1
+ <191> DW_AT_decl_line : 69
+ <4><192>: Abbrev Number: 5 (DW_TAG_member)
+ <193> DW_AT_name : (indirect string, offset: 0xe9): _pid
+ <197> DW_AT_type : <0x2dd>
+ <19b> DW_AT_decl_file : 1
+ <19c> DW_AT_decl_line : 70
+ <19d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><1a0>: Abbrev Number: 5 (DW_TAG_member)
+ <1a1> DW_AT_name : (indirect string, offset: 0xfd): _uid
+ <1a5> DW_AT_type : <0x2e8>
+ <1a9> DW_AT_decl_file : 1
+ <1aa> DW_AT_decl_line : 71
+ <1ab> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><1ae>: Abbrev Number: 5 (DW_TAG_member)
+ <1af> DW_AT_name : (indirect string, offset: 0x191): _status
+ <1b3> DW_AT_type : <0x2c2>
+ <1b7> DW_AT_decl_file : 1
+ <1b8> DW_AT_decl_line : 72
+ <1b9> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><1bc>: Abbrev Number: 5 (DW_TAG_member)
+ <1bd> DW_AT_name : (indirect string, offset: 0x199): _utime
+ <1c1> DW_AT_type : <0x34a>
+ <1c5> DW_AT_decl_file : 1
+ <1c6> DW_AT_decl_line : 73
+ <1c7> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <4><1ca>: Abbrev Number: 5 (DW_TAG_member)
+ <1cb> DW_AT_name : (indirect string, offset: 0x1ca): _stime
+ <1cf> DW_AT_type : <0x34a>
+ <1d3> DW_AT_decl_file : 1
+ <1d4> DW_AT_decl_line : 74
+ <1d5> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <4><1d8>: Abbrev Number: 0
+ <3><1d9>: Abbrev Number: 5 (DW_TAG_member)
+ <1da> DW_AT_name : (indirect string, offset: 0x1d1): _sigfault
+ <1de> DW_AT_type : <0x1e7>
+ <1e2> DW_AT_decl_file : 1
+ <1e3> DW_AT_decl_line : 89
+ <1e4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1e7>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <1e8> DW_AT_byte_size : 16
+ <1e9> DW_AT_decl_file : 1
+ <1ea> DW_AT_decl_line : 76
+ <4><1eb>: Abbrev Number: 5 (DW_TAG_member)
+ <1ec> DW_AT_name : (indirect string, offset: 0x1db): _addr
+ <1f0> DW_AT_type : <0x349>
+ <1f4> DW_AT_decl_file : 1
+ <1f5> DW_AT_decl_line : 77
+ <1f6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><1f9>: Abbrev Number: 5 (DW_TAG_member)
+ <1fa> DW_AT_name : (indirect string, offset: 0x1e1): _addr_lsb
+ <1fe> DW_AT_type : <0x367>
+ <202> DW_AT_decl_file : 1
+ <203> DW_AT_decl_line : 81
+ <204> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><207>: Abbrev Number: 9 (DW_TAG_member)
+ <208> DW_AT_type : <0x211>
+ <20c> DW_AT_decl_file : 1
+ <20d> DW_AT_decl_line : 82
+ <20e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><211>: Abbrev Number: 7 (DW_TAG_union_type)
+ <212> DW_AT_byte_size : 8
+ <213> DW_AT_decl_file : 1
+ <214> DW_AT_decl_line : 82
+ <5><215>: Abbrev Number: 5 (DW_TAG_member)
+ <216> DW_AT_name : (indirect string, offset: 0x1f1): _addr_bnd
+ <21a> DW_AT_type : <0x223>
+ <21e> DW_AT_decl_file : 1
+ <21f> DW_AT_decl_line : 86
+ <220> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <5><223>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <224> DW_AT_byte_size : 8
+ <225> DW_AT_decl_file : 1
+ <226> DW_AT_decl_line : 83
+ <6><227>: Abbrev Number: 5 (DW_TAG_member)
+ <228> DW_AT_name : (indirect string, offset: 0x1fb): _lower
+ <22c> DW_AT_type : <0x349>
+ <230> DW_AT_decl_file : 1
+ <231> DW_AT_decl_line : 84
+ <232> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <6><235>: Abbrev Number: 5 (DW_TAG_member)
+ <236> DW_AT_name : (indirect string, offset: 0x202): _upper
+ <23a> DW_AT_type : <0x349>
+ <23e> DW_AT_decl_file : 1
+ <23f> DW_AT_decl_line : 85
+ <240> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <6><243>: Abbrev Number: 0
+ <5><244>: Abbrev Number: 5 (DW_TAG_member)
+ <245> DW_AT_name : (indirect string, offset: 0x209): _pkey
+ <249> DW_AT_type : <0x36e>
+ <24d> DW_AT_decl_file : 1
+ <24e> DW_AT_decl_line : 87
+ <24f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <5><252>: Abbrev Number: 0
+ <4><253>: Abbrev Number: 0
+ <3><254>: Abbrev Number: 5 (DW_TAG_member)
+ <255> DW_AT_name : (indirect string, offset: 0x215): _sigpoll
+ <259> DW_AT_type : <0x262>
+ <25d> DW_AT_decl_file : 1
+ <25e> DW_AT_decl_line : 93
+ <25f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><262>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <263> DW_AT_byte_size : 8
+ <264> DW_AT_decl_file : 1
+ <265> DW_AT_decl_line : 90
+ <4><266>: Abbrev Number: 5 (DW_TAG_member)
+ <267> DW_AT_name : (indirect string, offset: 0x21e): _band
+ <26b> DW_AT_type : <0x360>
+ <26f> DW_AT_decl_file : 1
+ <270> DW_AT_decl_line : 91
+ <271> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><274>: Abbrev Number: 5 (DW_TAG_member)
+ <275> DW_AT_name : (indirect string, offset: 0x224): _fd
+ <279> DW_AT_type : <0x2c2>
+ <27d> DW_AT_decl_file : 1
+ <27e> DW_AT_decl_line : 92
+ <27f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><282>: Abbrev Number: 0
+ <3><283>: Abbrev Number: 5 (DW_TAG_member)
+ <284> DW_AT_name : (indirect string, offset: 0x228): _sigsys
+ <288> DW_AT_type : <0x291>
+ <28c> DW_AT_decl_file : 1
+ <28d> DW_AT_decl_line : 98
+ <28e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><291>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <292> DW_AT_byte_size : 12
+ <293> DW_AT_decl_file : 1
+ <294> DW_AT_decl_line : 94
+ <4><295>: Abbrev Number: 5 (DW_TAG_member)
+ <296> DW_AT_name : (indirect string, offset: 0x230): _call_addr
+ <29a> DW_AT_type : <0x349>
+ <29e> DW_AT_decl_file : 1
+ <29f> DW_AT_decl_line : 95
+ <2a0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><2a3>: Abbrev Number: 5 (DW_TAG_member)
+ <2a4> DW_AT_name : (indirect string, offset: 0x23b): _syscall
+ <2a8> DW_AT_type : <0x2c2>
+ <2ac> DW_AT_decl_file : 1
+ <2ad> DW_AT_decl_line : 96
+ <2ae> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><2b1>: Abbrev Number: 5 (DW_TAG_member)
+ <2b2> DW_AT_name : (indirect string, offset: 0x244): _arch
+ <2b6> DW_AT_type : <0x2f3>
+ <2ba> DW_AT_decl_file : 1
+ <2bb> DW_AT_decl_line : 97
+ <2bc> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <4><2bf>: Abbrev Number: 0
+ <3><2c0>: Abbrev Number: 0
+ <2><2c1>: Abbrev Number: 0
+ <1><2c2>: Abbrev Number: 10 (DW_TAG_base_type)
+ <2c3> DW_AT_name : (indirect string, offset: 0xb6): int
+ <2c7> DW_AT_encoding : 5 (signed)
+ <2c8> DW_AT_byte_size : 4
+ <1><2c9>: Abbrev Number: 11 (DW_TAG_array_type)
+ <2ca> DW_AT_type : <0x2c2>
+ <2><2ce>: Abbrev Number: 12 (DW_TAG_subrange_type)
+ <2cf> DW_AT_type : <0x2d6>
+ <2d3> DW_AT_lower_bound : 0
+ <2d4> DW_AT_count : 28
+ <2><2d5>: Abbrev Number: 0
+ <1><2d6>: Abbrev Number: 13 (DW_TAG_base_type)
+ <2d7> DW_AT_name : (indirect string, offset: 0xda): sizetype
+ <2db> DW_AT_byte_size : 8
+ <2dc> DW_AT_encoding : 7 (unsigned)
+ <1><2dd>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2de> DW_AT_type : <0x2c2>
+ <2e2> DW_AT_name : (indirect string, offset: 0xee): __kernel_pid_t
+ <2e6> DW_AT_decl_file : 2
+ <2e7> DW_AT_decl_line : 33
+ <1><2e8>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2e9> DW_AT_type : <0x2f3>
+ <2ed> DW_AT_name : (indirect string, offset: 0x10f): __kernel_uid32_t
+ <2f1> DW_AT_decl_file : 2
+ <2f2> DW_AT_decl_line : 49
+ <1><2f3>: Abbrev Number: 10 (DW_TAG_base_type)
+ <2f4> DW_AT_name : (indirect string, offset: 0x102): unsigned int
+ <2f8> DW_AT_encoding : 7 (unsigned)
+ <2f9> DW_AT_byte_size : 4
+ <1><2fa>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2fb> DW_AT_type : <0x2c2>
+ <2ff> DW_AT_name : (indirect string, offset: 0x12c): __kernel_timer_t
+ <303> DW_AT_decl_file : 2
+ <304> DW_AT_decl_line : 79
+ <1><305>: Abbrev Number: 11 (DW_TAG_array_type)
+ <306> DW_AT_type : <0x312>
+ <2><30a>: Abbrev Number: 12 (DW_TAG_subrange_type)
+ <30b> DW_AT_type : <0x2d6>
+ <30f> DW_AT_lower_bound : 0
+ <310> DW_AT_count : 0
+ <2><311>: Abbrev Number: 0
+ <1><312>: Abbrev Number: 10 (DW_TAG_base_type)
+ <313> DW_AT_name : (indirect string, offset: 0x146): char
+ <317> DW_AT_encoding : 8 (unsigned char)
+ <318> DW_AT_byte_size : 1
+ <1><319>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31a> DW_AT_type : <0x324>
+ <31e> DW_AT_name : (indirect string, offset: 0x16e): sigval_t
+ <322> DW_AT_decl_file : 1
+ <323> DW_AT_decl_line : 26
+ <1><324>: Abbrev Number: 14 (DW_TAG_union_type)
+ <325> DW_AT_name : (indirect string, offset: 0x167): sigval
+ <329> DW_AT_byte_size : 4
+ <32a> DW_AT_decl_file : 1
+ <32b> DW_AT_decl_line : 23
+ <2><32c>: Abbrev Number: 5 (DW_TAG_member)
+ <32d> DW_AT_name : (indirect string, offset: 0x153): sival_int
+ <331> DW_AT_type : <0x2c2>
+ <335> DW_AT_decl_file : 1
+ <336> DW_AT_decl_line : 24
+ <337> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><33a>: Abbrev Number: 5 (DW_TAG_member)
+ <33b> DW_AT_name : (indirect string, offset: 0x15d): sival_ptr
+ <33f> DW_AT_type : <0x349>
+ <343> DW_AT_decl_file : 1
+ <344> DW_AT_decl_line : 25
+ <345> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><348>: Abbrev Number: 0
+ <1><349>: Abbrev Number: 15 (DW_TAG_pointer_type)
+ <1><34a>: Abbrev Number: 3 (DW_TAG_typedef)
+ <34b> DW_AT_type : <0x355>
+ <34f> DW_AT_name : (indirect string, offset: 0x1b9): __kernel_clock_t
+ <353> DW_AT_decl_file : 2
+ <354> DW_AT_decl_line : 78
+ <1><355>: Abbrev Number: 3 (DW_TAG_typedef)
+ <356> DW_AT_type : <0x360>
+ <35a> DW_AT_name : (indirect string, offset: 0x1a9): __kernel_long_t
+ <35e> DW_AT_decl_file : 2
+ <35f> DW_AT_decl_line : 23
+ <1><360>: Abbrev Number: 10 (DW_TAG_base_type)
+ <361> DW_AT_name : (indirect string, offset: 0x1a0): long int
+ <365> DW_AT_encoding : 5 (signed)
+ <366> DW_AT_byte_size : 4
+ <1><367>: Abbrev Number: 10 (DW_TAG_base_type)
+ <368> DW_AT_name : (indirect string, offset: 0x1eb): short
+ <36c> DW_AT_encoding : 5 (signed)
+ <36d> DW_AT_byte_size : 2
+ <1><36e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <36f> DW_AT_type : <0x2f3>
+ <373> DW_AT_name : (indirect string, offset: 0x20f): __u32
+ <377> DW_AT_decl_file : 3
+ <378> DW_AT_decl_line : 28
+ <1><379>: Abbrev Number: 3 (DW_TAG_typedef)
+ <37a> DW_AT_type : <0x384>
+ <37e> DW_AT_name : (indirect string, offset: 0x399): ucontext_t
+ <382> DW_AT_decl_file : 5
+ <383> DW_AT_decl_line : 96
+ <1><384>: Abbrev Number: 16 (DW_TAG_structure_type)
+ <385> DW_AT_name : (indirect string, offset: 0x390): ucontext
+ <389> DW_AT_byte_size : 5056
+ <38b> DW_AT_decl_file : 5
+ <38c> DW_AT_decl_line : 85
+ <2><38d>: Abbrev Number: 5 (DW_TAG_member)
+ <38e> DW_AT_name : (indirect string, offset: 0x25f): uc_flags
+ <392> DW_AT_type : <0x403>
+ <396> DW_AT_decl_file : 5
+ <397> DW_AT_decl_line : 86
+ <398> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><39b>: Abbrev Number: 5 (DW_TAG_member)
+ <39c> DW_AT_name : (indirect string, offset: 0x27a): uc_link
+ <3a0> DW_AT_type : <0x40a>
+ <3a4> DW_AT_decl_file : 5
+ <3a5> DW_AT_decl_line : 87
+ <3a6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><3a9>: Abbrev Number: 5 (DW_TAG_member)
+ <3aa> DW_AT_name : (indirect string, offset: 0x282): uc_stack
+ <3ae> DW_AT_type : <0x40f>
+ <3b2> DW_AT_decl_file : 5
+ <3b3> DW_AT_decl_line : 88
+ <3b4> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><3b7>: Abbrev Number: 5 (DW_TAG_member)
+ <3b8> DW_AT_name : (indirect string, offset: 0x2bd): uc_mcontext
+ <3bc> DW_AT_type : <0x458>
+ <3c0> DW_AT_decl_file : 5
+ <3c1> DW_AT_decl_line : 89
+ <3c2> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><3c5>: Abbrev Number: 5 (DW_TAG_member)
+ <3c6> DW_AT_name : (indirect string, offset: 0x33a): uc_sigmask
+ <3ca> DW_AT_type : <0x505>
+ <3ce> DW_AT_decl_file : 5
+ <3cf> DW_AT_decl_line : 90
+ <3d0> DW_AT_data_member_location: 3 byte block: 23 c0 22 (DW_OP_plus_uconst: 4416)
+ <2><3d4>: Abbrev Number: 5 (DW_TAG_member)
+ <3d5> DW_AT_name : (indirect string, offset: 0x352): __padding_rt_sigset
+ <3d9> DW_AT_type : <0x530>
+ <3dd> DW_AT_decl_file : 5
+ <3de> DW_AT_decl_line : 92
+ <3df> DW_AT_data_member_location: 3 byte block: 23 c4 22 (DW_OP_plus_uconst: 4420)
+ <2><3e3>: Abbrev Number: 5 (DW_TAG_member)
+ <3e4> DW_AT_name : (indirect string, offset: 0x37a): __padding
+ <3e8> DW_AT_type : <0x546>
+ <3ec> DW_AT_decl_file : 5
+ <3ed> DW_AT_decl_line : 94
+ <3ee> DW_AT_data_member_location: 3 byte block: 23 c8 22 (DW_OP_plus_uconst: 4424)
+ <2><3f2>: Abbrev Number: 17 (DW_TAG_member)
+ <3f3> DW_AT_name : (indirect string, offset: 0x384): uc_regspace
+ <3f7> DW_AT_type : <0x553>
+ <3fb> DW_AT_decl_file : 5
+ <3fc> DW_AT_decl_line : 95
+ <3fd> Unknown AT value: 88: 8
+ <3fe> DW_AT_data_member_location: 3 byte block: 23 c0 23 (DW_OP_plus_uconst: 4544)
+ <2><402>: Abbrev Number: 0
+ <1><403>: Abbrev Number: 10 (DW_TAG_base_type)
+ <404> DW_AT_name : (indirect string, offset: 0x268): long unsigned int
+ <408> DW_AT_encoding : 7 (unsigned)
+ <409> DW_AT_byte_size : 4
+ <1><40a>: Abbrev Number: 18 (DW_TAG_pointer_type)
+ <40b> DW_AT_type : <0x384>
+ <1><40f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <410> DW_AT_type : <0x41a>
+ <414> DW_AT_name : (indirect string, offset: 0x2b5): stack_t
+ <418> DW_AT_decl_file : 6
+ <419> DW_AT_decl_line : 97
+ <1><41a>: Abbrev Number: 6 (DW_TAG_structure_type)
+ <41b> DW_AT_name : (indirect string, offset: 0x2a9): sigaltstack
+ <41f> DW_AT_byte_size : 12
+ <420> DW_AT_decl_file : 6
+ <421> DW_AT_decl_line : 93
+ <2><422>: Abbrev Number: 5 (DW_TAG_member)
+ <423> DW_AT_name : (indirect string, offset: 0x28b): ss_sp
+ <427> DW_AT_type : <0x349>
+ <42b> DW_AT_decl_file : 6
+ <42c> DW_AT_decl_line : 94
+ <42d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><430>: Abbrev Number: 5 (DW_TAG_member)
+ <431> DW_AT_name : (indirect string, offset: 0x291): ss_flags
+ <435> DW_AT_type : <0x2c2>
+ <439> DW_AT_decl_file : 6
+ <43a> DW_AT_decl_line : 95
+ <43b> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><43e>: Abbrev Number: 5 (DW_TAG_member)
+ <43f> DW_AT_name : (indirect string, offset: 0x29a): ss_size
+ <443> DW_AT_type : <0x44d>
+ <447> DW_AT_decl_file : 6
+ <448> DW_AT_decl_line : 96
+ <449> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><44c>: Abbrev Number: 0
+ <1><44d>: Abbrev Number: 3 (DW_TAG_typedef)
+ <44e> DW_AT_type : <0x2f3>
+ <452> DW_AT_name : (indirect string, offset: 0x2a2): size_t
+ <456> DW_AT_decl_file : 7
+ <457> DW_AT_decl_line : 62
+ <1><458>: Abbrev Number: 3 (DW_TAG_typedef)
+ <459> DW_AT_type : <0x463>
+ <45d> DW_AT_name : (indirect string, offset: 0x32f): mcontext_t
+ <461> DW_AT_decl_file : 5
+ <462> DW_AT_decl_line : 83
+ <1><463>: Abbrev Number: 16 (DW_TAG_structure_type)
+ <464> DW_AT_name : (indirect string, offset: 0x324): sigcontext
+ <468> DW_AT_byte_size : 4384
+ <46a> DW_AT_decl_file : 8
+ <46b> DW_AT_decl_line : 22
+ <2><46c>: Abbrev Number: 5 (DW_TAG_member)
+ <46d> DW_AT_name : (indirect string, offset: 0x2c9): fault_address
+ <471> DW_AT_type : <0x4c6>
+ <475> DW_AT_decl_file : 8
+ <476> DW_AT_decl_line : 23
+ <477> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><47a>: Abbrev Number: 5 (DW_TAG_member)
+ <47b> DW_AT_name : (indirect string, offset: 0x2f4): regs
+ <47f> DW_AT_type : <0x4d8>
+ <483> DW_AT_decl_file : 8
+ <484> DW_AT_decl_line : 24
+ <485> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><488>: Abbrev Number: 5 (DW_TAG_member)
+ <489> DW_AT_name : (indirect string, offset: 0x2f9): sp
+ <48d> DW_AT_type : <0x4c6>
+ <491> DW_AT_decl_file : 8
+ <492> DW_AT_decl_line : 25
+ <493> DW_AT_data_member_location: 3 byte block: 23 80 2 (DW_OP_plus_uconst: 256)
+ <2><497>: Abbrev Number: 5 (DW_TAG_member)
+ <498> DW_AT_name : (indirect string, offset: 0x2fc): pc
+ <49c> DW_AT_type : <0x4c6>
+ <4a0> DW_AT_decl_file : 8
+ <4a1> DW_AT_decl_line : 26
+ <4a2> DW_AT_data_member_location: 3 byte block: 23 88 2 (DW_OP_plus_uconst: 264)
+ <2><4a6>: Abbrev Number: 5 (DW_TAG_member)
+ <4a7> DW_AT_name : (indirect string, offset: 0x2ff): pstate
+ <4ab> DW_AT_type : <0x4c6>
+ <4af> DW_AT_decl_file : 8
+ <4b0> DW_AT_decl_line : 27
+ <4b1> DW_AT_data_member_location: 3 byte block: 23 90 2 (DW_OP_plus_uconst: 272)
+ <2><4b5>: Abbrev Number: 17 (DW_TAG_member)
+ <4b6> DW_AT_name : (indirect string, offset: 0x306): __reserved
+ <4ba> DW_AT_type : <0x4e5>
+ <4be> DW_AT_decl_file : 8
+ <4bf> DW_AT_decl_line : 28
+ <4c0> Unknown AT value: 88: 16
+ <4c1> DW_AT_data_member_location: 3 byte block: 23 a0 2 (DW_OP_plus_uconst: 288)
+ <2><4c5>: Abbrev Number: 0
+ <1><4c6>: Abbrev Number: 3 (DW_TAG_typedef)
+ <4c7> DW_AT_type : <0x4d1>
+ <4cb> DW_AT_name : (indirect string, offset: 0x2ee): __u64
+ <4cf> DW_AT_decl_file : 3
+ <4d0> DW_AT_decl_line : 31
+ <1><4d1>: Abbrev Number: 10 (DW_TAG_base_type)
+ <4d2> DW_AT_name : (indirect string, offset: 0x2d7): long long unsigned int
+ <4d6> DW_AT_encoding : 7 (unsigned)
+ <4d7> DW_AT_byte_size : 8
+ <1><4d8>: Abbrev Number: 11 (DW_TAG_array_type)
+ <4d9> DW_AT_type : <0x4c6>
+ <2><4dd>: Abbrev Number: 12 (DW_TAG_subrange_type)
+ <4de> DW_AT_type : <0x2d6>
+ <4e2> DW_AT_lower_bound : 0
+ <4e3> DW_AT_count : 31
+ <2><4e4>: Abbrev Number: 0
+ <1><4e5>: Abbrev Number: 11 (DW_TAG_array_type)
+ <4e6> DW_AT_type : <0x4f3>
+ <2><4ea>: Abbrev Number: 19 (DW_TAG_subrange_type)
+ <4eb> DW_AT_type : <0x2d6>
+ <4ef> DW_AT_lower_bound : 0
+ <4f0> DW_AT_count : 4096
+ <2><4f2>: Abbrev Number: 0
+ <1><4f3>: Abbrev Number: 3 (DW_TAG_typedef)
+ <4f4> DW_AT_type : <0x4fe>
+ <4f8> DW_AT_name : (indirect string, offset: 0x31f): __u8
+ <4fc> DW_AT_decl_file : 3
+ <4fd> DW_AT_decl_line : 24
+ <1><4fe>: Abbrev Number: 10 (DW_TAG_base_type)
+ <4ff> DW_AT_name : (indirect string, offset: 0x311): unsigned char
+ <503> DW_AT_encoding : 8 (unsigned char)
+ <504> DW_AT_byte_size : 1
+ <1><505>: Abbrev Number: 3 (DW_TAG_typedef)
+ <506> DW_AT_type : <0x510>
+ <50a> DW_AT_name : (indirect string, offset: 0x349): sigset_t
+ <50e> DW_AT_decl_file : 6
+ <50f> DW_AT_decl_line : 79
+ <1><510>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <511> DW_AT_byte_size : 4
+ <512> DW_AT_decl_file : 6
+ <513> DW_AT_decl_line : 77
+ <2><514>: Abbrev Number: 5 (DW_TAG_member)
+ <515> DW_AT_name : (indirect string, offset: 0x345): sig
+ <519> DW_AT_type : <0x523>
+ <51d> DW_AT_decl_file : 6
+ <51e> DW_AT_decl_line : 78
+ <51f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><522>: Abbrev Number: 0
+ <1><523>: Abbrev Number: 11 (DW_TAG_array_type)
+ <524> DW_AT_type : <0x403>
+ <2><528>: Abbrev Number: 12 (DW_TAG_subrange_type)
+ <529> DW_AT_type : <0x2d6>
+ <52d> DW_AT_lower_bound : 0
+ <52e> DW_AT_count : 1
+ <2><52f>: Abbrev Number: 0
+ <1><530>: Abbrev Number: 3 (DW_TAG_typedef)
+ <531> DW_AT_type : <0x53b>
+ <535> DW_AT_name : (indirect string, offset: 0x371): uint32_t
+ <539> DW_AT_decl_file : 9
+ <53a> DW_AT_decl_line : 65
+ <1><53b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <53c> DW_AT_type : <0x2f3>
+ <540> DW_AT_name : (indirect string, offset: 0x366): __uint32_t
+ <544> DW_AT_decl_file : 9
+ <545> DW_AT_decl_line : 41
+ <1><546>: Abbrev Number: 11 (DW_TAG_array_type)
+ <547> DW_AT_type : <0x312>
+ <2><54b>: Abbrev Number: 12 (DW_TAG_subrange_type)
+ <54c> DW_AT_type : <0x2d6>
+ <550> DW_AT_lower_bound : 0
+ <551> DW_AT_count : 120
+ <2><552>: Abbrev Number: 0
+ <1><553>: Abbrev Number: 11 (DW_TAG_array_type)
+ <554> DW_AT_type : <0x403>
+ <2><558>: Abbrev Number: 12 (DW_TAG_subrange_type)
+ <559> DW_AT_type : <0x2d6>
+ <55d> DW_AT_lower_bound : 0
+ <55e> DW_AT_count : 128
+ <2><55f>: Abbrev Number: 0
+ <1><560>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_rt_sigframe.d2 b/mpers-m32/struct_rt_sigframe.d2
new file mode 100644
index 00000000..847ed69d
--- /dev/null
+++ b/mpers-m32/struct_rt_sigframe.d2
@@ -0,0 +1,740 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 10
+DW_AT_decl_line : 33
+DW_AT_location : 5 byte block: 3 10 0 0 0 (DW_OP_addr: 10)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x3a4): struct_rt_sigframe
+DW_AT_decl_file : 4
+DW_AT_decl_line : 39
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 5184
+DW_AT_decl_file : 4
+DW_AT_decl_line : 35
+<2><40>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): info
+DW_AT_type : <0x5e>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x25c): uc
+DW_AT_type : <0x379>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128)
+<1><5e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x69>
+DW_AT_name : (indirect string, offset: 0x252): siginfo_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 100
+<1><69>
+Abbrev Number: 6 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x24a): siginfo
+DW_AT_byte_size : 124
+DW_AT_decl_file : 1
+DW_AT_decl_line : 47
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xad): si_signo
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><7f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xba): si_errno
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 49
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><8d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc3): si_code
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 50
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><9b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcb): _sifields
+DW_AT_type : <0xa9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 99
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><a9>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 112
+DW_AT_decl_file : 1
+DW_AT_decl_line : 51
+<3><ad>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): _pad
+DW_AT_type : <0x2c9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 52
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><bb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe3): _kill
+DW_AT_type : <0xc9>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><c9>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 53
+<4><cd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe9): _pid
+DW_AT_type : <0x2dd>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><db>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfd): _uid
+DW_AT_type : <0x2e8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<3><ea>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x120): _timer
+DW_AT_type : <0xf8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 63
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><f8>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 57
+<4><fc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x127): _tid
+DW_AT_type : <0x2fa>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 58
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><10a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13d): _overrun
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 59
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><118>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): _pad
+DW_AT_type : <0x305>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 60
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><126>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14b): _sigval
+DW_AT_type : <0x319>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 61
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><134>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x177): _sys_private
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 62
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<3><143>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x184): _rt
+DW_AT_type : <0x151>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 68
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><151>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 64
+<4><155>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe9): _pid
+DW_AT_type : <0x2dd>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 65
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><163>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfd): _uid
+DW_AT_type : <0x2e8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 66
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><171>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14b): _sigval
+DW_AT_type : <0x319>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 67
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<3><180>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x188): _sigchld
+DW_AT_type : <0x18e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 75
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><18e>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 20
+DW_AT_decl_file : 1
+DW_AT_decl_line : 69
+<4><192>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe9): _pid
+DW_AT_type : <0x2dd>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 70
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><1a0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfd): _uid
+DW_AT_type : <0x2e8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 71
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><1ae>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x191): _status
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><1bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x199): _utime
+DW_AT_type : <0x34a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 73
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<4><1ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ca): _stime
+DW_AT_type : <0x34a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 74
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<3><1d9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d1): _sigfault
+DW_AT_type : <0x1e7>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 89
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><1e7>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 76
+<4><1eb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1db): _addr
+DW_AT_type : <0x349>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><1f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e1): _addr_lsb
+DW_AT_type : <0x367>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 81
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><207>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_type : <0x211>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 82
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<4><211>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 82
+<5><215>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f1): _addr_bnd
+DW_AT_type : <0x223>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 86
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<5><223>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 83
+<6><227>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1fb): _lower
+DW_AT_type : <0x349>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 84
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<6><235>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x202): _upper
+DW_AT_type : <0x349>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 85
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<5><244>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x209): _pkey
+DW_AT_type : <0x36e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 87
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><254>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x215): _sigpoll
+DW_AT_type : <0x262>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 93
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><262>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 90
+<4><266>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21e): _band
+DW_AT_type : <0x360>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 91
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><274>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x224): _fd
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 92
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<3><283>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x228): _sigsys
+DW_AT_type : <0x291>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 98
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><291>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 12
+DW_AT_decl_file : 1
+DW_AT_decl_line : 94
+<4><295>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x230): _call_addr
+DW_AT_type : <0x349>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 95
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><2a3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x23b): _syscall
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 96
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<4><2b1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x244): _arch
+DW_AT_type : <0x2f3>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 97
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><2c2>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb6): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><2c9>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x2c2>
+<2><2ce>
+Abbrev Number: 12 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 28
+<1><2d6>
+Abbrev Number: 13 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xda): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><2dd>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2c2>
+DW_AT_name : (indirect string, offset: 0xee): __kernel_pid_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+<1><2e8>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2f3>
+DW_AT_name : (indirect string, offset: 0x10f): __kernel_uid32_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 49
+<1><2f3>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x102): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><2fa>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2c2>
+DW_AT_name : (indirect string, offset: 0x12c): __kernel_timer_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 79
+<1><305>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x312>
+<2><30a>
+Abbrev Number: 12 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 0
+<1><312>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x146): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><319>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x324>
+DW_AT_name : (indirect string, offset: 0x16e): sigval_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><324>
+Abbrev Number: 14 (DW_TAG_union_type)
+DW_AT_name : (indirect string, offset: 0x167): sigval
+DW_AT_byte_size : 4
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<2><32c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x153): sival_int
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><33a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15d): sival_ptr
+DW_AT_type : <0x349>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><349>
+Abbrev Number: 15 (DW_TAG_pointer_type)
+<1><34a>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x355>
+DW_AT_name : (indirect string, offset: 0x1b9): __kernel_clock_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 78
+<1><355>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x360>
+DW_AT_name : (indirect string, offset: 0x1a9): __kernel_long_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+<1><360>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1a0): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><367>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1eb): short
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 2
+<1><36e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2f3>
+DW_AT_name : (indirect string, offset: 0x20f): __u32
+DW_AT_decl_file : 3
+DW_AT_decl_line : 28
+<1><379>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x384>
+DW_AT_name : (indirect string, offset: 0x399): ucontext_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 96
+<1><384>
+Abbrev Number: 16 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x390): ucontext
+DW_AT_byte_size : 5056
+DW_AT_decl_file : 5
+DW_AT_decl_line : 85
+<2><38d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x25f): uc_flags
+DW_AT_type : <0x403>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 86
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><39b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x27a): uc_link
+DW_AT_type : <0x40a>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 87
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><3a9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x282): uc_stack
+DW_AT_type : <0x40f>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 88
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><3b7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2bd): uc_mcontext
+DW_AT_type : <0x458>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 89
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><3c5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x33a): uc_sigmask
+DW_AT_type : <0x505>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 90
+DW_AT_data_member_location: 3 byte block: 23 c0 22 (DW_OP_plus_uconst: 4416)
+<2><3d4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x352): __padding_rt_sigset
+DW_AT_type : <0x530>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 92
+DW_AT_data_member_location: 3 byte block: 23 c4 22 (DW_OP_plus_uconst: 4420)
+<2><3e3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x37a): __padding
+DW_AT_type : <0x546>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 94
+DW_AT_data_member_location: 3 byte block: 23 c8 22 (DW_OP_plus_uconst: 4424)
+<2><3f2>
+Abbrev Number: 17 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x384): uc_regspace
+DW_AT_type : <0x553>
+DW_AT_decl_file : 5
+DW_AT_decl_line : 95
+Unknown AT value: 88: 8
+DW_AT_data_member_location: 3 byte block: 23 c0 23 (DW_OP_plus_uconst: 4544)
+<1><403>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x268): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><40a>
+Abbrev Number: 18 (DW_TAG_pointer_type)
+DW_AT_type : <0x384>
+<1><40f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x41a>
+DW_AT_name : (indirect string, offset: 0x2b5): stack_t
+DW_AT_decl_file : 6
+DW_AT_decl_line : 97
+<1><41a>
+Abbrev Number: 6 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2a9): sigaltstack
+DW_AT_byte_size : 12
+DW_AT_decl_file : 6
+DW_AT_decl_line : 93
+<2><422>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x28b): ss_sp
+DW_AT_type : <0x349>
+DW_AT_decl_file : 6
+DW_AT_decl_line : 94
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><430>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x291): ss_flags
+DW_AT_type : <0x2c2>
+DW_AT_decl_file : 6
+DW_AT_decl_line : 95
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><43e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x29a): ss_size
+DW_AT_type : <0x44d>
+DW_AT_decl_file : 6
+DW_AT_decl_line : 96
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><44d>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2f3>
+DW_AT_name : (indirect string, offset: 0x2a2): size_t
+DW_AT_decl_file : 7
+DW_AT_decl_line : 62
+<1><458>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x463>
+DW_AT_name : (indirect string, offset: 0x32f): mcontext_t
+DW_AT_decl_file : 5
+DW_AT_decl_line : 83
+<1><463>
+Abbrev Number: 16 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x324): sigcontext
+DW_AT_byte_size : 4384
+DW_AT_decl_file : 8
+DW_AT_decl_line : 22
+<2><46c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2c9): fault_address
+DW_AT_type : <0x4c6>
+DW_AT_decl_file : 8
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><47a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f4): regs
+DW_AT_type : <0x4d8>
+DW_AT_decl_file : 8
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><488>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f9): sp
+DW_AT_type : <0x4c6>
+DW_AT_decl_file : 8
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 3 byte block: 23 80 2 (DW_OP_plus_uconst: 256)
+<2><497>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2fc): pc
+DW_AT_type : <0x4c6>
+DW_AT_decl_file : 8
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 3 byte block: 23 88 2 (DW_OP_plus_uconst: 264)
+<2><4a6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2ff): pstate
+DW_AT_type : <0x4c6>
+DW_AT_decl_file : 8
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 3 byte block: 23 90 2 (DW_OP_plus_uconst: 272)
+<2><4b5>
+Abbrev Number: 17 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x306): __reserved
+DW_AT_type : <0x4e5>
+DW_AT_decl_file : 8
+DW_AT_decl_line : 28
+Unknown AT value: 88: 16
+DW_AT_data_member_location: 3 byte block: 23 a0 2 (DW_OP_plus_uconst: 288)
+<1><4c6>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x4d1>
+DW_AT_name : (indirect string, offset: 0x2ee): __u64
+DW_AT_decl_file : 3
+DW_AT_decl_line : 31
+<1><4d1>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x2d7): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><4d8>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x4c6>
+<2><4dd>
+Abbrev Number: 12 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 31
+<1><4e5>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x4f3>
+<2><4ea>
+Abbrev Number: 19 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 4096
+<1><4f3>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x4fe>
+DW_AT_name : (indirect string, offset: 0x31f): __u8
+DW_AT_decl_file : 3
+DW_AT_decl_line : 24
+<1><4fe>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x311): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><505>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x510>
+DW_AT_name : (indirect string, offset: 0x349): sigset_t
+DW_AT_decl_file : 6
+DW_AT_decl_line : 79
+<1><510>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 6
+DW_AT_decl_line : 77
+<2><514>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x345): sig
+DW_AT_type : <0x523>
+DW_AT_decl_file : 6
+DW_AT_decl_line : 78
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><523>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x403>
+<2><528>
+Abbrev Number: 12 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 1
+<1><530>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x53b>
+DW_AT_name : (indirect string, offset: 0x371): uint32_t
+DW_AT_decl_file : 9
+DW_AT_decl_line : 65
+<1><53b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2f3>
+DW_AT_name : (indirect string, offset: 0x366): __uint32_t
+DW_AT_decl_file : 9
+DW_AT_decl_line : 41
+<1><546>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x312>
+<2><54b>
+Abbrev Number: 12 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 120
+<1><553>
+Abbrev Number: 11 (DW_TAG_array_type)
+DW_AT_type : <0x403>
+<2><558>
+Abbrev Number: 12 (DW_TAG_subrange_type)
+DW_AT_type : <0x2d6>
+DW_AT_lower_bound : 0
+DW_AT_count : 128
diff --git a/mpers-m32/struct_rt_sigframe.h b/mpers-m32/struct_rt_sigframe.h
new file mode 100644
index 00000000..c9e29854
--- /dev/null
+++ b/mpers-m32/struct_rt_sigframe.h
@@ -0,0 +1,93 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+struct {
+int32_t si_signo;
+int32_t si_errno;
+int32_t si_code;
+union {
+int32_t _pad[28];
+struct {
+int32_t _pid;
+uint32_t _uid;
+} ATTRIBUTE_PACKED _kill;
+struct {
+int32_t _tid;
+int32_t _overrun;
+char _pad[0];
+union {
+int32_t sival_int;
+mpers_ptr_t sival_ptr;
+} _sigval;
+int32_t _sys_private;
+} ATTRIBUTE_PACKED _timer;
+struct {
+int32_t _pid;
+uint32_t _uid;
+union {
+int32_t sival_int;
+mpers_ptr_t sival_ptr;
+} _sigval;
+} ATTRIBUTE_PACKED _rt;
+struct {
+int32_t _pid;
+uint32_t _uid;
+int32_t _status;
+int32_t _utime;
+int32_t _stime;
+} ATTRIBUTE_PACKED _sigchld;
+struct {
+mpers_ptr_t _addr;
+int16_t _addr_lsb;
+unsigned char mpers_filler_1[2];
+union {
+struct {
+mpers_ptr_t _lower;
+mpers_ptr_t _upper;
+} ATTRIBUTE_PACKED _addr_bnd;
+uint32_t _pkey;
+} ;
+} ATTRIBUTE_PACKED _sigfault;
+struct {
+int32_t _band;
+int32_t _fd;
+} ATTRIBUTE_PACKED _sigpoll;
+struct {
+mpers_ptr_t _call_addr;
+int32_t _syscall;
+uint32_t _arch;
+} ATTRIBUTE_PACKED _sigsys;
+} _sifields;
+} ATTRIBUTE_PACKED info;
+unsigned char mpers_filler_2[4];
+struct {
+uint32_t uc_flags;
+mpers_ptr_t uc_link;
+struct {
+mpers_ptr_t ss_sp;
+int32_t ss_flags;
+uint32_t ss_size;
+} ATTRIBUTE_PACKED uc_stack;
+unsigned char mpers_filler_3[12];
+struct {
+uint64_t fault_address;
+uint64_t regs[31];
+uint64_t sp;
+uint64_t pc;
+uint64_t pstate;
+unsigned char mpers_filler_4[8];
+unsigned char __reserved[4096];
+} ATTRIBUTE_PACKED uc_mcontext;
+struct {
+uint32_t sig[1];
+} ATTRIBUTE_PACKED uc_sigmask;
+uint32_t __padding_rt_sigset;
+char __padding[120];
+uint32_t uc_regspace[128];
+} ATTRIBUTE_PACKED uc;
+} ATTRIBUTE_PACKED m32_struct_rt_sigframe;
+#define MPERS_m32_struct_rt_sigframe m32_struct_rt_sigframe
diff --git a/mpers-m32/struct_rtc_pll_info.c b/mpers-m32/struct_rtc_pll_info.c
new file mode 100644
index 00000000..79a8ca2a
--- /dev/null
+++ b/mpers-m32/struct_rtc_pll_info.c
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
+ * Copyright (c) 2004-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 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 <linux/ioctl.h>
+#include <linux/rtc.h>
+
+typedef struct rtc_pll_info struct_rtc_pll_info;
+
+struct_rtc_pll_info mpers_target_var;
diff --git a/mpers-m32/struct_rtc_pll_info.d1 b/mpers-m32/struct_rtc_pll_info.d1
new file mode 100644
index 00000000..3f5a75ac
--- /dev/null
+++ b/mpers-m32/struct_rtc_pll_info.d1
@@ -0,0 +1,83 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xb1 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_rtc_pll_info.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5d): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x98): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 38
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x108): struct_rtc_pll_info
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 36
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xfb): rtc_pll_info
+ <40> DW_AT_byte_size : 28
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 37
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa9): pll_ctrl
+ <48> DW_AT_type : <0xa6>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 38
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xb6): pll_value
+ <56> DW_AT_type : <0xa6>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 39
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xc0): pll_max
+ <64> DW_AT_type : <0xa6>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 40
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xc8): pll_min
+ <72> DW_AT_type : <0xa6>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 41
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xd0): pll_posmult
+ <80> DW_AT_type : <0xa6>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 42
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0xdc): pll_negmult
+ <8e> DW_AT_type : <0xa6>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 43
+ <94> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0xe8): pll_clock
+ <9c> DW_AT_type : <0xad>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 44
+ <a2> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><a5>: Abbrev Number: 0
+ <1><a6>: Abbrev Number: 6 (DW_TAG_base_type)
+ <a7> DW_AT_name : (indirect string, offset: 0xb2): int
+ <ab> DW_AT_encoding : 5 (signed)
+ <ac> DW_AT_byte_size : 4
+ <1><ad>: Abbrev Number: 6 (DW_TAG_base_type)
+ <ae> DW_AT_name : (indirect string, offset: 0xf2): long int
+ <b2> DW_AT_encoding : 5 (signed)
+ <b3> DW_AT_byte_size : 4
+ <1><b4>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_rtc_pll_info.d2 b/mpers-m32/struct_rtc_pll_info.d2
new file mode 100644
index 00000000..539a9729
--- /dev/null
+++ b/mpers-m32/struct_rtc_pll_info.d2
@@ -0,0 +1,79 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x98): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 38
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x108): struct_rtc_pll_info
+DW_AT_decl_file : 2
+DW_AT_decl_line : 36
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xfb): rtc_pll_info
+DW_AT_byte_size : 28
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa9): pll_ctrl
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb6): pll_value
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc0): pll_max
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc8): pll_min
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): pll_posmult
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdc): pll_negmult
+DW_AT_type : <0xa6>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe8): pll_clock
+DW_AT_type : <0xad>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 44
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<1><a6>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb2): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><ad>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf2): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_rtc_pll_info.h b/mpers-m32/struct_rtc_pll_info.h
new file mode 100644
index 00000000..304d2120
--- /dev/null
+++ b/mpers-m32/struct_rtc_pll_info.h
@@ -0,0 +1,12 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t pll_ctrl;
+int32_t pll_value;
+int32_t pll_max;
+int32_t pll_min;
+int32_t pll_posmult;
+int32_t pll_negmult;
+int32_t pll_clock;
+} ATTRIBUTE_PACKED m32_struct_rtc_pll_info;
+#define MPERS_m32_struct_rtc_pll_info m32_struct_rtc_pll_info
diff --git a/mpers-m32/struct_sg_io_hdr.c b/mpers-m32/struct_sg_io_hdr.c
new file mode 100644
index 00000000..38581827
--- /dev/null
+++ b/mpers-m32/struct_sg_io_hdr.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2007 Vladimir Nadvornik <nadvornik@suse.cz>
+ * Copyright (c) 2007-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015 Bart Van Assche <bart.vanassche@sandisk.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 "defs.h"
+
+#ifdef HAVE_SCSI_SG_H
+
+
+# include <scsi/sg.h>
+
+typedef struct sg_io_hdr struct_sg_io_hdr;
+
+#endif /* HAVE_SCSI_SG_H */
+
+struct_sg_io_hdr mpers_target_var;
diff --git a/mpers-m32/struct_sg_io_hdr.d1 b/mpers-m32/struct_sg_io_hdr.d1
new file mode 100644
index 00000000..a373de43
--- /dev/null
+++ b/mpers-m32/struct_sg_io_hdr.d1
@@ -0,0 +1,184 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x197 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sg_io_hdr.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5a): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 41
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x1a9): struct_sg_io_hdr
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 37
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x19f): sg_io_hdr
+ <40> DW_AT_byte_size : 64
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 26
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa6): interface_id
+ <48> DW_AT_type : <0x178>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 27
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xb7): dxfer_direction
+ <56> DW_AT_type : <0x178>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 28
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xc7): cmd_len
+ <64> DW_AT_type : <0x17f>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 29
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xdd): mx_sb_len
+ <72> DW_AT_type : <0x17f>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 30
+ <78> DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xe7): iovec_count
+ <80> DW_AT_type : <0x186>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 31
+ <86> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x102): dxfer_len
+ <8e> DW_AT_type : <0x18d>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 32
+ <94> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x119): dxferp
+ <9c> DW_AT_type : <0x194>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 33
+ <a2> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x120): cmdp
+ <aa> DW_AT_type : <0x195>
+ <ae> DW_AT_decl_file : 1
+ <af> DW_AT_decl_line : 34
+ <b0> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x125): sbp
+ <b8> DW_AT_type : <0x194>
+ <bc> DW_AT_decl_file : 1
+ <bd> DW_AT_decl_line : 35
+ <be> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x129): timeout
+ <c6> DW_AT_type : <0x18d>
+ <ca> DW_AT_decl_file : 1
+ <cb> DW_AT_decl_line : 36
+ <cc> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x131): flags
+ <d4> DW_AT_type : <0x18d>
+ <d8> DW_AT_decl_file : 1
+ <d9> DW_AT_decl_line : 37
+ <da> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x137): pack_id
+ <e2> DW_AT_type : <0x178>
+ <e6> DW_AT_decl_file : 1
+ <e7> DW_AT_decl_line : 38
+ <e8> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><eb>: Abbrev Number: 5 (DW_TAG_member)
+ <ec> DW_AT_name : (indirect string, offset: 0x13f): usr_ptr
+ <f0> DW_AT_type : <0x194>
+ <f4> DW_AT_decl_file : 1
+ <f5> DW_AT_decl_line : 39
+ <f6> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><f9>: Abbrev Number: 5 (DW_TAG_member)
+ <fa> DW_AT_name : (indirect string, offset: 0x147): status
+ <fe> DW_AT_type : <0x17f>
+ <102> DW_AT_decl_file : 1
+ <103> DW_AT_decl_line : 40
+ <104> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><107>: Abbrev Number: 5 (DW_TAG_member)
+ <108> DW_AT_name : (indirect string, offset: 0x14e): masked_status
+ <10c> DW_AT_type : <0x17f>
+ <110> DW_AT_decl_file : 1
+ <111> DW_AT_decl_line : 41
+ <112> DW_AT_data_member_location: 2 byte block: 23 2d (DW_OP_plus_uconst: 45)
+ <2><115>: Abbrev Number: 5 (DW_TAG_member)
+ <116> DW_AT_name : (indirect string, offset: 0x15c): msg_status
+ <11a> DW_AT_type : <0x17f>
+ <11e> DW_AT_decl_file : 1
+ <11f> DW_AT_decl_line : 42
+ <120> DW_AT_data_member_location: 2 byte block: 23 2e (DW_OP_plus_uconst: 46)
+ <2><123>: Abbrev Number: 5 (DW_TAG_member)
+ <124> DW_AT_name : (indirect string, offset: 0x167): sb_len_wr
+ <128> DW_AT_type : <0x17f>
+ <12c> DW_AT_decl_file : 1
+ <12d> DW_AT_decl_line : 43
+ <12e> DW_AT_data_member_location: 2 byte block: 23 2f (DW_OP_plus_uconst: 47)
+ <2><131>: Abbrev Number: 5 (DW_TAG_member)
+ <132> DW_AT_name : (indirect string, offset: 0x171): host_status
+ <136> DW_AT_type : <0x186>
+ <13a> DW_AT_decl_file : 1
+ <13b> DW_AT_decl_line : 44
+ <13c> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><13f>: Abbrev Number: 5 (DW_TAG_member)
+ <140> DW_AT_name : (indirect string, offset: 0x17d): driver_status
+ <144> DW_AT_type : <0x186>
+ <148> DW_AT_decl_file : 1
+ <149> DW_AT_decl_line : 45
+ <14a> DW_AT_data_member_location: 2 byte block: 23 32 (DW_OP_plus_uconst: 50)
+ <2><14d>: Abbrev Number: 5 (DW_TAG_member)
+ <14e> DW_AT_name : (indirect string, offset: 0x18b): resid
+ <152> DW_AT_type : <0x178>
+ <156> DW_AT_decl_file : 1
+ <157> DW_AT_decl_line : 46
+ <158> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><15b>: Abbrev Number: 5 (DW_TAG_member)
+ <15c> DW_AT_name : (indirect string, offset: 0x191): duration
+ <160> DW_AT_type : <0x18d>
+ <164> DW_AT_decl_file : 1
+ <165> DW_AT_decl_line : 47
+ <166> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><169>: Abbrev Number: 5 (DW_TAG_member)
+ <16a> DW_AT_name : (indirect string, offset: 0x19a): info
+ <16e> DW_AT_type : <0x18d>
+ <172> DW_AT_decl_file : 1
+ <173> DW_AT_decl_line : 48
+ <174> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><177>: Abbrev Number: 0
+ <1><178>: Abbrev Number: 6 (DW_TAG_base_type)
+ <179> DW_AT_name : (indirect string, offset: 0xb3): int
+ <17d> DW_AT_encoding : 5 (signed)
+ <17e> DW_AT_byte_size : 4
+ <1><17f>: Abbrev Number: 6 (DW_TAG_base_type)
+ <180> DW_AT_name : (indirect string, offset: 0xcf): unsigned char
+ <184> DW_AT_encoding : 8 (unsigned char)
+ <185> DW_AT_byte_size : 1
+ <1><186>: Abbrev Number: 6 (DW_TAG_base_type)
+ <187> DW_AT_name : (indirect string, offset: 0xf3): unsigned short
+ <18b> DW_AT_encoding : 7 (unsigned)
+ <18c> DW_AT_byte_size : 2
+ <1><18d>: Abbrev Number: 6 (DW_TAG_base_type)
+ <18e> DW_AT_name : (indirect string, offset: 0x10c): unsigned int
+ <192> DW_AT_encoding : 7 (unsigned)
+ <193> DW_AT_byte_size : 4
+ <1><194>: Abbrev Number: 7 (DW_TAG_pointer_type)
+ <1><195>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <196> DW_AT_type : <0x17f>
+ <1><19a>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_sg_io_hdr.d2 b/mpers-m32/struct_sg_io_hdr.d2
new file mode 100644
index 00000000..34a80b4d
--- /dev/null
+++ b/mpers-m32/struct_sg_io_hdr.d2
@@ -0,0 +1,199 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 41
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x1a9): struct_sg_io_hdr
+DW_AT_decl_file : 2
+DW_AT_decl_line : 37
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x19f): sg_io_hdr
+DW_AT_byte_size : 64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa6): interface_id
+DW_AT_type : <0x178>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb7): dxfer_direction
+DW_AT_type : <0x178>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc7): cmd_len
+DW_AT_type : <0x17f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdd): mx_sb_len
+DW_AT_type : <0x17f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe7): iovec_count
+DW_AT_type : <0x186>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x102): dxfer_len
+DW_AT_type : <0x18d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x119): dxferp
+DW_AT_type : <0x194>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x120): cmdp
+DW_AT_type : <0x195>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x125): sbp
+DW_AT_type : <0x194>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x129): timeout
+DW_AT_type : <0x18d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x131): flags
+DW_AT_type : <0x18d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x137): pack_id
+DW_AT_type : <0x178>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><eb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13f): usr_ptr
+DW_AT_type : <0x194>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x147): status
+DW_AT_type : <0x17f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><107>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14e): masked_status
+DW_AT_type : <0x17f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 2d (DW_OP_plus_uconst: 45)
+<2><115>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15c): msg_status
+DW_AT_type : <0x17f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 2e (DW_OP_plus_uconst: 46)
+<2><123>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x167): sb_len_wr
+DW_AT_type : <0x17f>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 2 byte block: 23 2f (DW_OP_plus_uconst: 47)
+<2><131>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x171): host_status
+DW_AT_type : <0x186>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 44
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><13f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17d): driver_status
+DW_AT_type : <0x186>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 45
+DW_AT_data_member_location: 2 byte block: 23 32 (DW_OP_plus_uconst: 50)
+<2><14d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18b): resid
+DW_AT_type : <0x178>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 46
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><15b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x191): duration
+DW_AT_type : <0x18d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 47
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><169>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x19a): info
+DW_AT_type : <0x18d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<1><178>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb3): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><17f>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xcf): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><186>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf3): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><18d>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x10c): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><194>
+Abbrev Number: 7 (DW_TAG_pointer_type)
+<1><195>
+Abbrev Number: 8 (DW_TAG_pointer_type)
+DW_AT_type : <0x17f>
diff --git a/mpers-m32/struct_sg_io_hdr.h b/mpers-m32/struct_sg_io_hdr.h
new file mode 100644
index 00000000..32ef4616
--- /dev/null
+++ b/mpers-m32/struct_sg_io_hdr.h
@@ -0,0 +1,31 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+int32_t interface_id;
+int32_t dxfer_direction;
+unsigned char cmd_len;
+unsigned char mx_sb_len;
+uint16_t iovec_count;
+uint32_t dxfer_len;
+mpers_ptr_t dxferp;
+mpers_ptr_t cmdp;
+mpers_ptr_t sbp;
+uint32_t timeout;
+uint32_t flags;
+int32_t pack_id;
+mpers_ptr_t usr_ptr;
+unsigned char status;
+unsigned char masked_status;
+unsigned char msg_status;
+unsigned char sb_len_wr;
+uint16_t host_status;
+uint16_t driver_status;
+int32_t resid;
+uint32_t duration;
+uint32_t info;
+} ATTRIBUTE_PACKED m32_struct_sg_io_hdr;
+#define MPERS_m32_struct_sg_io_hdr m32_struct_sg_io_hdr
diff --git a/mpers-m32/struct_sg_req_info.c b/mpers-m32/struct_sg_req_info.c
new file mode 100644
index 00000000..26bddb3c
--- /dev/null
+++ b/mpers-m32/struct_sg_req_info.c
@@ -0,0 +1,41 @@
+/*
+ * Decode struct sg_req_info.
+ *
+ * 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 "defs.h"
+
+#ifdef HAVE_SCSI_SG_H
+
+
+# include <scsi/sg.h>
+
+typedef struct sg_req_info struct_sg_req_info;
+
+#endif /* HAVE_SCSI_SG_H */
+
+struct_sg_req_info mpers_target_var;
diff --git a/mpers-m32/struct_sg_req_info.d1 b/mpers-m32/struct_sg_req_info.d1
new file mode 100644
index 00000000..bfca2afa
--- /dev/null
+++ b/mpers-m32/struct_sg_req_info.d1
@@ -0,0 +1,94 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xc7 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sg_req_info.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5c): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 41
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x10f): struct_sg_req_info
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 37
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x103): sg_req_info
+ <40> DW_AT_byte_size : 20
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 79
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa8): req_state
+ <48> DW_AT_type : <0xb4>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 80
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xb7): orphan
+ <56> DW_AT_type : <0xb4>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 81
+ <5c> DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xbe): sg_io_owned
+ <64> DW_AT_type : <0xb4>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 82
+ <6a> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xca): problem
+ <72> DW_AT_type : <0xb4>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 83
+ <78> DW_AT_data_member_location: 2 byte block: 23 3 (DW_OP_plus_uconst: 3)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xd2): pack_id
+ <80> DW_AT_type : <0xbb>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 84
+ <86> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0xde): usr_ptr
+ <8e> DW_AT_type : <0xc2>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 85
+ <94> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0xe6): duration
+ <9c> DW_AT_type : <0xc3>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 86
+ <a2> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0xfc): unused
+ <aa> DW_AT_type : <0xbb>
+ <ae> DW_AT_decl_file : 1
+ <af> DW_AT_decl_line : 87
+ <b0> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><b3>: Abbrev Number: 0
+ <1><b4>: Abbrev Number: 6 (DW_TAG_base_type)
+ <b5> DW_AT_name : (indirect string, offset: 0xb2): char
+ <b9> DW_AT_encoding : 8 (unsigned char)
+ <ba> DW_AT_byte_size : 1
+ <1><bb>: Abbrev Number: 6 (DW_TAG_base_type)
+ <bc> DW_AT_name : (indirect string, offset: 0xda): int
+ <c0> DW_AT_encoding : 5 (signed)
+ <c1> DW_AT_byte_size : 4
+ <1><c2>: Abbrev Number: 7 (DW_TAG_pointer_type)
+ <1><c3>: Abbrev Number: 6 (DW_TAG_base_type)
+ <c4> DW_AT_name : (indirect string, offset: 0xef): unsigned int
+ <c8> DW_AT_encoding : 7 (unsigned)
+ <c9> DW_AT_byte_size : 4
+ <1><ca>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_sg_req_info.d2 b/mpers-m32/struct_sg_req_info.d2
new file mode 100644
index 00000000..ff6f83f1
--- /dev/null
+++ b/mpers-m32/struct_sg_req_info.d2
@@ -0,0 +1,93 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 41
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x10f): struct_sg_req_info
+DW_AT_decl_file : 2
+DW_AT_decl_line : 37
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x103): sg_req_info
+DW_AT_byte_size : 20
+DW_AT_decl_file : 1
+DW_AT_decl_line : 79
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): req_state
+DW_AT_type : <0xb4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 80
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb7): orphan
+DW_AT_type : <0xb4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 81
+DW_AT_data_member_location: 2 byte block: 23 1 (DW_OP_plus_uconst: 1)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbe): sg_io_owned
+DW_AT_type : <0xb4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 82
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xca): problem
+DW_AT_type : <0xb4>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 83
+DW_AT_data_member_location: 2 byte block: 23 3 (DW_OP_plus_uconst: 3)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd2): pack_id
+DW_AT_type : <0xbb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 84
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xde): usr_ptr
+DW_AT_type : <0xc2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 85
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe6): duration
+DW_AT_type : <0xc3>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 86
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): unused
+DW_AT_type : <0xbb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 87
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<1><b4>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb2): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><bb>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xda): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><c2>
+Abbrev Number: 7 (DW_TAG_pointer_type)
+<1><c3>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xef): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_sg_req_info.h b/mpers-m32/struct_sg_req_info.h
new file mode 100644
index 00000000..cb82b242
--- /dev/null
+++ b/mpers-m32/struct_sg_req_info.h
@@ -0,0 +1,17 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+char req_state;
+char orphan;
+char sg_io_owned;
+char problem;
+int32_t pack_id;
+mpers_ptr_t usr_ptr;
+uint32_t duration;
+int32_t unused;
+} ATTRIBUTE_PACKED m32_struct_sg_req_info;
+#define MPERS_m32_struct_sg_req_info m32_struct_sg_req_info
diff --git a/mpers-m32/struct_sigevent.c b/mpers-m32/struct_sigevent.c
new file mode 100644
index 00000000..e5294a26
--- /dev/null
+++ b/mpers-m32/struct_sigevent.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2003, 2004 Ulrich Drepper <drepper@redhat.com>
+ * Copyright (c) 2005-2016 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 "defs.h"
+
+#include "sigevent.h"
+struct_sigevent mpers_target_var;
diff --git a/mpers-m32/struct_sigevent.d1 b/mpers-m32/struct_sigevent.d1
new file mode 100644
index 00000000..454afcc6
--- /dev/null
+++ b/mpers-m32/struct_sigevent.d1
@@ -0,0 +1,115 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xe6 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sigevent.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x59): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x94): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 32
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x121): struct_sigevent
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 45
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_byte_size : 20
+ <3d> DW_AT_decl_file : 1
+ <3e> DW_AT_decl_line : 31
+ <2><3f>: Abbrev Number: 5 (DW_TAG_member)
+ <40> DW_AT_name : (indirect string, offset: 0xa5): sigev_value
+ <44> DW_AT_type : <0x4d>
+ <48> DW_AT_decl_file : 1
+ <49> DW_AT_decl_line : 35
+ <4a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4d>: Abbrev Number: 6 (DW_TAG_union_type)
+ <4e> DW_AT_byte_size : 4
+ <4f> DW_AT_decl_file : 1
+ <50> DW_AT_decl_line : 32
+ <3><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xb1): sival_int
+ <56> DW_AT_type : <0xdb>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 33
+ <5c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xbf): sival_ptr
+ <64> DW_AT_type : <0xe2>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 34
+ <6a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><6d>: Abbrev Number: 0
+ <2><6e>: Abbrev Number: 5 (DW_TAG_member)
+ <6f> DW_AT_name : (indirect string, offset: 0xdb): sigev_signo
+ <73> DW_AT_type : <0xdb>
+ <77> DW_AT_decl_file : 1
+ <78> DW_AT_decl_line : 36
+ <79> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><7c>: Abbrev Number: 5 (DW_TAG_member)
+ <7d> DW_AT_name : (indirect string, offset: 0xe7): sigev_notify
+ <81> DW_AT_type : <0xdb>
+ <85> DW_AT_decl_file : 1
+ <86> DW_AT_decl_line : 37
+ <87> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><8a>: Abbrev Number: 5 (DW_TAG_member)
+ <8b> DW_AT_name : (indirect string, offset: 0xf4): sigev_un
+ <8f> DW_AT_type : <0x98>
+ <93> DW_AT_decl_file : 1
+ <94> DW_AT_decl_line : 44
+ <95> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><98>: Abbrev Number: 6 (DW_TAG_union_type)
+ <99> DW_AT_byte_size : 8
+ <9a> DW_AT_decl_file : 1
+ <9b> DW_AT_decl_line : 38
+ <3><9c>: Abbrev Number: 5 (DW_TAG_member)
+ <9d> DW_AT_name : (indirect string, offset: 0xfd): tid
+ <a1> DW_AT_type : <0xdb>
+ <a5> DW_AT_decl_file : 1
+ <a6> DW_AT_decl_line : 39
+ <a7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><aa>: Abbrev Number: 5 (DW_TAG_member)
+ <ab> DW_AT_name : (indirect string, offset: 0x101): sigev_thread
+ <af> DW_AT_type : <0xb8>
+ <b3> DW_AT_decl_file : 1
+ <b4> DW_AT_decl_line : 43
+ <b5> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><b8>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <b9> DW_AT_byte_size : 8
+ <ba> DW_AT_decl_file : 1
+ <bb> DW_AT_decl_line : 40
+ <4><bc>: Abbrev Number: 5 (DW_TAG_member)
+ <bd> DW_AT_name : (indirect string, offset: 0x10e): function
+ <c1> DW_AT_type : <0xe2>
+ <c5> DW_AT_decl_file : 1
+ <c6> DW_AT_decl_line : 41
+ <c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <4><ca>: Abbrev Number: 5 (DW_TAG_member)
+ <cb> DW_AT_name : (indirect string, offset: 0x117): attribute
+ <cf> DW_AT_type : <0xe2>
+ <d3> DW_AT_decl_file : 1
+ <d4> DW_AT_decl_line : 42
+ <d5> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <4><d8>: Abbrev Number: 0
+ <3><d9>: Abbrev Number: 0
+ <2><da>: Abbrev Number: 0
+ <1><db>: Abbrev Number: 7 (DW_TAG_base_type)
+ <dc> DW_AT_name : (indirect string, offset: 0xbb): int
+ <e0> DW_AT_encoding : 5 (signed)
+ <e1> DW_AT_byte_size : 4
+ <1><e2>: Abbrev Number: 7 (DW_TAG_base_type)
+ <e3> DW_AT_name : (indirect string, offset: 0xc9): long unsigned int
+ <e7> DW_AT_encoding : 7 (unsigned)
+ <e8> DW_AT_byte_size : 4
+ <1><e9>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_sigevent.d2 b/mpers-m32/struct_sigevent.d2
new file mode 100644
index 00000000..59424088
--- /dev/null
+++ b/mpers-m32/struct_sigevent.d2
@@ -0,0 +1,114 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x94): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 32
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x121): struct_sigevent
+DW_AT_decl_file : 1
+DW_AT_decl_line : 45
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 20
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<2><3f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa5): sigev_value
+DW_AT_type : <0x4d>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4d>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+<3><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb1): sival_int
+DW_AT_type : <0xdb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbf): sival_ptr
+DW_AT_type : <0xe2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><6e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdb): sigev_signo
+DW_AT_type : <0xdb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><7c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe7): sigev_notify
+DW_AT_type : <0xdb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><8a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf4): sigev_un
+DW_AT_type : <0x98>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 44
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><98>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+<3><9c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfd): tid
+DW_AT_type : <0xdb>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><aa>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x101): sigev_thread
+DW_AT_type : <0xb8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><b8>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+<4><bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10e): function
+DW_AT_type : <0xe2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<4><ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x117): attribute
+DW_AT_type : <0xe2>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><db>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xbb): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><e2>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc9): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_sigevent.h b/mpers-m32/struct_sigevent.h
new file mode 100644
index 00000000..8aad7353
--- /dev/null
+++ b/mpers-m32/struct_sigevent.h
@@ -0,0 +1,18 @@
+#include <stdint.h>
+typedef
+struct {
+union {
+int32_t sival_int;
+uint32_t sival_ptr;
+} sigev_value;
+int32_t sigev_signo;
+int32_t sigev_notify;
+union {
+int32_t tid;
+struct {
+uint32_t function;
+uint32_t attribute;
+} ATTRIBUTE_PACKED sigev_thread;
+} sigev_un;
+} ATTRIBUTE_PACKED m32_struct_sigevent;
+#define MPERS_m32_struct_sigevent m32_struct_sigevent
diff --git a/mpers-m32/struct_sock_fprog.c b/mpers-m32/struct_sock_fprog.c
new file mode 100644
index 00000000..b5e2accb
--- /dev/null
+++ b/mpers-m32/struct_sock_fprog.c
@@ -0,0 +1,34 @@
+/*
+ * 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 "defs.h"
+
+
+#include <linux/filter.h>
+typedef struct sock_fprog struct_sock_fprog;
+
+struct_sock_fprog mpers_target_var;
diff --git a/mpers-m32/struct_sock_fprog.d1 b/mpers-m32/struct_sock_fprog.d1
new file mode 100644
index 00000000..db720c2c
--- /dev/null
+++ b/mpers-m32/struct_sock_fprog.d1
@@ -0,0 +1,104 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xd9 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_sock_fprog.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5b): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x96): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 34
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x111): struct_sock_fprog
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 32
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x106): sock_fprog
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 32
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa7): len
+ <48> DW_AT_type : <0x60>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 33
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xba): filter
+ <56> DW_AT_type : <0x67>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 34
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 0
+ <1><60>: Abbrev Number: 6 (DW_TAG_base_type)
+ <61> DW_AT_name : (indirect string, offset: 0xab): unsigned short
+ <65> DW_AT_encoding : 7 (unsigned)
+ <66> DW_AT_byte_size : 2
+ <1><67>: Abbrev Number: 7 (DW_TAG_pointer_type)
+ <68> DW_AT_type : <0x6c>
+ <1><6c>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <6d> DW_AT_name : (indirect string, offset: 0xfa): sock_filter
+ <71> DW_AT_byte_size : 8
+ <72> DW_AT_decl_file : 1
+ <73> DW_AT_decl_line : 26
+ <2><74>: Abbrev Number: 5 (DW_TAG_member)
+ <75> DW_AT_name : (indirect string, offset: 0xc1): code
+ <79> DW_AT_type : <0xad>
+ <7d> DW_AT_decl_file : 1
+ <7e> DW_AT_decl_line : 27
+ <7f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><82>: Abbrev Number: 5 (DW_TAG_member)
+ <83> DW_AT_name : (indirect string, offset: 0xcc): jt
+ <87> DW_AT_type : <0xb8>
+ <8b> DW_AT_decl_file : 1
+ <8c> DW_AT_decl_line : 28
+ <8d> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><90>: Abbrev Number: 5 (DW_TAG_member)
+ <91> DW_AT_name : (indirect string, offset: 0xe2): jf
+ <95> DW_AT_type : <0xb8>
+ <99> DW_AT_decl_file : 1
+ <9a> DW_AT_decl_line : 29
+ <9b> DW_AT_data_member_location: 2 byte block: 23 3 (DW_OP_plus_uconst: 3)
+ <2><9e>: Abbrev Number: 5 (DW_TAG_member)
+ <9f> DW_AT_name : (indirect string, offset: 0xe5): k
+ <a3> DW_AT_type : <0xca>
+ <a7> DW_AT_decl_file : 1
+ <a8> DW_AT_decl_line : 30
+ <a9> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><ac>: Abbrev Number: 0
+ <1><ad>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ae> DW_AT_type : <0x60>
+ <b2> DW_AT_name : (indirect string, offset: 0xc6): __u16
+ <b6> DW_AT_decl_file : 2
+ <b7> DW_AT_decl_line : 26
+ <1><b8>: Abbrev Number: 3 (DW_TAG_typedef)
+ <b9> DW_AT_type : <0xc3>
+ <bd> DW_AT_name : (indirect string, offset: 0xdd): __u8
+ <c1> DW_AT_decl_file : 2
+ <c2> DW_AT_decl_line : 24
+ <1><c3>: Abbrev Number: 6 (DW_TAG_base_type)
+ <c4> DW_AT_name : (indirect string, offset: 0xcf): unsigned char
+ <c8> DW_AT_encoding : 8 (unsigned char)
+ <c9> DW_AT_byte_size : 1
+ <1><ca>: Abbrev Number: 3 (DW_TAG_typedef)
+ <cb> DW_AT_type : <0xd5>
+ <cf> DW_AT_name : (indirect string, offset: 0xf4): __u32
+ <d3> DW_AT_decl_file : 2
+ <d4> DW_AT_decl_line : 28
+ <1><d5>: Abbrev Number: 6 (DW_TAG_base_type)
+ <d6> DW_AT_name : (indirect string, offset: 0xe7): unsigned int
+ <da> DW_AT_encoding : 7 (unsigned)
+ <db> DW_AT_byte_size : 4
+ <1><dc>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_sock_fprog.d2 b/mpers-m32/struct_sock_fprog.d2
new file mode 100644
index 00000000..64b071e2
--- /dev/null
+++ b/mpers-m32/struct_sock_fprog.d2
@@ -0,0 +1,104 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x96): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 34
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x111): struct_sock_fprog
+DW_AT_decl_file : 3
+DW_AT_decl_line : 32
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x106): sock_fprog
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa7): len
+DW_AT_type : <0x60>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xba): filter
+DW_AT_type : <0x67>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><60>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xab): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><67>
+Abbrev Number: 7 (DW_TAG_pointer_type)
+DW_AT_type : <0x6c>
+<1><6c>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xfa): sock_filter
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<2><74>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): code
+DW_AT_type : <0xad>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><82>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcc): jt
+DW_AT_type : <0xb8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><90>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe2): jf
+DW_AT_type : <0xb8>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 3 (DW_OP_plus_uconst: 3)
+<2><9e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe5): k
+DW_AT_type : <0xca>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><ad>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x60>
+DW_AT_name : (indirect string, offset: 0xc6): __u16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+<1><b8>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xc3>
+DW_AT_name : (indirect string, offset: 0xdd): __u8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+<1><c3>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xcf): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><ca>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xd5>
+DW_AT_name : (indirect string, offset: 0xf4): __u32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 28
+<1><d5>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe7): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_sock_fprog.h b/mpers-m32/struct_sock_fprog.h
new file mode 100644
index 00000000..20c47a66
--- /dev/null
+++ b/mpers-m32/struct_sock_fprog.h
@@ -0,0 +1,12 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint16_t len;
+unsigned char mpers_filler_1[2];
+mpers_ptr_t filter;
+} ATTRIBUTE_PACKED m32_struct_sock_fprog;
+#define MPERS_m32_struct_sock_fprog m32_struct_sock_fprog
diff --git a/mpers-m32/struct_stat.c b/mpers-m32/struct_stat.c
new file mode 100644
index 00000000..e10cfd9c
--- /dev/null
+++ b/mpers-m32/struct_stat.c
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "asm_stat.h"
+
+#if defined MPERS_IS_m32
+# undef HAVE_STRUCT_STAT
+# undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+# ifdef HAVE_M32_STRUCT_STAT
+# define HAVE_STRUCT_STAT 1
+# ifdef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC
+# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+# endif /* HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC */
+# endif /* HAVE_M32_STRUCT_STAT */
+#elif defined MPERS_IS_mx32
+# undef HAVE_STRUCT_STAT
+# undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+# ifdef HAVE_MX32_STRUCT_STAT
+# define HAVE_STRUCT_STAT 1
+# ifdef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC
+# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+# endif /* HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC */
+# endif /* HAVE_MX32_STRUCT_STAT */
+#else /* !MPERS_IS_m32 && !MPERS_IS_mx32 */
+# define HAVE_STRUCT_STAT 1
+#endif
+
+#ifndef HAVE_STRUCT_STAT
+struct stat {};
+#endif
+
+typedef struct stat struct_stat;
+
+struct_stat mpers_target_var;
diff --git a/mpers-m32/struct_stat.d1 b/mpers-m32/struct_stat.d1
new file mode 100644
index 00000000..167827c3
--- /dev/null
+++ b/mpers-m32/struct_stat.d1
@@ -0,0 +1,169 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x175 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_stat.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x55): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x90): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 2
+ <29> DW_AT_decl_line : 62
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x18b): struct_stat
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 60
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x186): stat
+ <40> DW_AT_byte_size : 80
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 23
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa1): st_dev
+ <48> DW_AT_type : <0x15c>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 24
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xba): st_ino
+ <56> DW_AT_type : <0x15c>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 25
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xc1): st_mode
+ <64> DW_AT_type : <0x163>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 26
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xd6): st_nlink
+ <72> DW_AT_type : <0x163>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 27
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xdf): st_uid
+ <80> DW_AT_type : <0x163>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 28
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0xe6): st_gid
+ <8e> DW_AT_type : <0x163>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 29
+ <94> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0xed): st_rdev
+ <9c> DW_AT_type : <0x15c>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 30
+ <a2> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0xf5): __pad1
+ <aa> DW_AT_type : <0x15c>
+ <ae> DW_AT_decl_file : 1
+ <af> DW_AT_decl_line : 31
+ <b0> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0xfc): st_size
+ <b8> DW_AT_type : <0x16a>
+ <bc> DW_AT_decl_file : 1
+ <bd> DW_AT_decl_line : 32
+ <be> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x10d): st_blksize
+ <c6> DW_AT_type : <0x171>
+ <ca> DW_AT_decl_file : 1
+ <cb> DW_AT_decl_line : 33
+ <cc> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x11c): __pad2
+ <d4> DW_AT_type : <0x171>
+ <d8> DW_AT_decl_file : 1
+ <d9> DW_AT_decl_line : 34
+ <da> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x123): st_blocks
+ <e2> DW_AT_type : <0x16a>
+ <e6> DW_AT_decl_file : 1
+ <e7> DW_AT_decl_line : 35
+ <e8> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><eb>: Abbrev Number: 5 (DW_TAG_member)
+ <ec> DW_AT_name : (indirect string, offset: 0x12d): st_atime
+ <f0> DW_AT_type : <0x16a>
+ <f4> DW_AT_decl_file : 1
+ <f5> DW_AT_decl_line : 36
+ <f6> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><f9>: Abbrev Number: 5 (DW_TAG_member)
+ <fa> DW_AT_name : (indirect string, offset: 0x136): st_atime_nsec
+ <fe> DW_AT_type : <0x15c>
+ <102> DW_AT_decl_file : 1
+ <103> DW_AT_decl_line : 37
+ <104> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><107>: Abbrev Number: 5 (DW_TAG_member)
+ <108> DW_AT_name : (indirect string, offset: 0x144): st_mtime
+ <10c> DW_AT_type : <0x16a>
+ <110> DW_AT_decl_file : 1
+ <111> DW_AT_decl_line : 38
+ <112> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><115>: Abbrev Number: 5 (DW_TAG_member)
+ <116> DW_AT_name : (indirect string, offset: 0x14d): st_mtime_nsec
+ <11a> DW_AT_type : <0x15c>
+ <11e> DW_AT_decl_file : 1
+ <11f> DW_AT_decl_line : 39
+ <120> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><123>: Abbrev Number: 5 (DW_TAG_member)
+ <124> DW_AT_name : (indirect string, offset: 0x15b): st_ctime
+ <128> DW_AT_type : <0x16a>
+ <12c> DW_AT_decl_file : 1
+ <12d> DW_AT_decl_line : 40
+ <12e> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><131>: Abbrev Number: 5 (DW_TAG_member)
+ <132> DW_AT_name : (indirect string, offset: 0x164): st_ctime_nsec
+ <136> DW_AT_type : <0x15c>
+ <13a> DW_AT_decl_file : 1
+ <13b> DW_AT_decl_line : 41
+ <13c> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+ <2><13f>: Abbrev Number: 5 (DW_TAG_member)
+ <140> DW_AT_name : (indirect string, offset: 0x172): __unused4
+ <144> DW_AT_type : <0x163>
+ <148> DW_AT_decl_file : 1
+ <149> DW_AT_decl_line : 42
+ <14a> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+ <2><14d>: Abbrev Number: 5 (DW_TAG_member)
+ <14e> DW_AT_name : (indirect string, offset: 0x17c): __unused5
+ <152> DW_AT_type : <0x163>
+ <156> DW_AT_decl_file : 1
+ <157> DW_AT_decl_line : 43
+ <158> DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76)
+ <2><15b>: Abbrev Number: 0
+ <1><15c>: Abbrev Number: 6 (DW_TAG_base_type)
+ <15d> DW_AT_name : (indirect string, offset: 0xa8): long unsigned int
+ <161> DW_AT_encoding : 7 (unsigned)
+ <162> DW_AT_byte_size : 4
+ <1><163>: Abbrev Number: 6 (DW_TAG_base_type)
+ <164> DW_AT_name : (indirect string, offset: 0xc9): unsigned int
+ <168> DW_AT_encoding : 7 (unsigned)
+ <169> DW_AT_byte_size : 4
+ <1><16a>: Abbrev Number: 6 (DW_TAG_base_type)
+ <16b> DW_AT_name : (indirect string, offset: 0x104): long int
+ <16f> DW_AT_encoding : 5 (signed)
+ <170> DW_AT_byte_size : 4
+ <1><171>: Abbrev Number: 6 (DW_TAG_base_type)
+ <172> DW_AT_name : (indirect string, offset: 0x118): int
+ <176> DW_AT_encoding : 5 (signed)
+ <177> DW_AT_byte_size : 4
+ <1><178>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_stat.d2 b/mpers-m32/struct_stat.d2
new file mode 100644
index 00000000..c1590235
--- /dev/null
+++ b/mpers-m32/struct_stat.d2
@@ -0,0 +1,180 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x90): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 62
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x18b): struct_stat
+DW_AT_decl_file : 2
+DW_AT_decl_line : 60
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x186): stat
+DW_AT_byte_size : 80
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa1): st_dev
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xba): st_ino
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): st_mode
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd6): st_nlink
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdf): st_uid
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe6): st_gid
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xed): st_rdev
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf5): __pad1
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): st_size
+DW_AT_type : <0x16a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10d): st_blksize
+DW_AT_type : <0x171>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11c): __pad2
+DW_AT_type : <0x171>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x123): st_blocks
+DW_AT_type : <0x16a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><eb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12d): st_atime
+DW_AT_type : <0x16a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): st_atime_nsec
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><107>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x144): st_mtime
+DW_AT_type : <0x16a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><115>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14d): st_mtime_nsec
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><123>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15b): st_ctime
+DW_AT_type : <0x16a>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><131>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x164): st_ctime_nsec
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+<2><13f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x172): __unused4
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+<2><14d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17c): __unused5
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76)
+<1><15c>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa8): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><163>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc9): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><16a>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x104): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><171>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x118): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/struct_stat.h b/mpers-m32/struct_stat.h
new file mode 100644
index 00000000..460dc5f9
--- /dev/null
+++ b/mpers-m32/struct_stat.h
@@ -0,0 +1,25 @@
+#include <stdint.h>
+typedef
+struct {
+uint32_t st_dev;
+uint32_t st_ino;
+uint32_t st_mode;
+uint32_t st_nlink;
+uint32_t st_uid;
+uint32_t st_gid;
+uint32_t st_rdev;
+uint32_t __pad1;
+int32_t st_size;
+int32_t st_blksize;
+int32_t __pad2;
+int32_t st_blocks;
+int32_t st_atime;
+uint32_t st_atime_nsec;
+int32_t st_mtime;
+uint32_t st_mtime_nsec;
+int32_t st_ctime;
+uint32_t st_ctime_nsec;
+uint32_t __unused4;
+uint32_t __unused5;
+} ATTRIBUTE_PACKED m32_struct_stat;
+#define MPERS_m32_struct_stat m32_struct_stat
diff --git a/mpers-m32/struct_stat64.c b/mpers-m32/struct_stat64.c
new file mode 100644
index 00000000..0f0480b7
--- /dev/null
+++ b/mpers-m32/struct_stat64.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "asm_stat.h"
+
+#if defined MPERS_IS_m32
+# undef HAVE_STRUCT_STAT64
+# undef HAVE_STRUCT_STAT64_ST_MTIME_NSEC
+# ifdef HAVE_M32_STRUCT_STAT64
+# define HAVE_STRUCT_STAT64 1
+# ifdef HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC
+# define HAVE_STRUCT_STAT64_ST_MTIME_NSEC 1
+# endif /* HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC */
+# endif /* HAVE_M32_STRUCT_STAT64 */
+#elif defined MPERS_IS_mx32
+# undef HAVE_STRUCT_STAT64
+# undef HAVE_STRUCT_STAT64_ST_MTIME_NSEC
+# ifdef HAVE_MX32_STRUCT_STAT64
+# define HAVE_STRUCT_STAT64 1
+# ifdef HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC
+# define HAVE_STRUCT_STAT64_ST_MTIME_NSEC 1
+# endif /* HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC */
+# endif /* HAVE_MX32_STRUCT_STAT64 */
+#endif /* MPERS_IS_m32 || MPERS_IS_mx32 */
+
+#ifndef HAVE_STRUCT_STAT64
+struct stat64 {};
+#endif
+
+typedef struct stat64 struct_stat64;
+
+struct_stat64 mpers_target_var;
diff --git a/mpers-m32/struct_stat64.d1 b/mpers-m32/struct_stat64.d1
new file mode 100644
index 00000000..ad9b9633
--- /dev/null
+++ b/mpers-m32/struct_stat64.d1
@@ -0,0 +1,32 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x40 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_stat64.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x57): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 1
+ <29> DW_AT_decl_line : 60
+ <2a> DW_AT_location : 5 byte block: 3 1 0 0 0 (DW_OP_addr: 1)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xaa): struct_stat64
+ <39> DW_AT_decl_file : 1
+ <3a> DW_AT_decl_line : 58
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xa3): stat64
+ <40> DW_AT_byte_size : 0
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 55
+ <1><43>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_stat64.d2 b/mpers-m32/struct_stat64.d2
new file mode 100644
index 00000000..b7c54c5b
--- /dev/null
+++ b/mpers-m32/struct_stat64.d2
@@ -0,0 +1,20 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 1
+DW_AT_decl_line : 60
+DW_AT_location : 5 byte block: 3 1 0 0 0 (DW_OP_addr: 1)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xaa): struct_stat64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 58
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xa3): stat64
+DW_AT_byte_size : 0
+DW_AT_decl_file : 1
+DW_AT_decl_line : 55
diff --git a/mpers-m32/struct_stat64.h b/mpers-m32/struct_stat64.h
new file mode 100644
index 00000000..0a501852
--- /dev/null
+++ b/mpers-m32/struct_stat64.h
@@ -0,0 +1,5 @@
+#include <stdint.h>
+typedef
+struct {
+} ATTRIBUTE_PACKED m32_struct_stat64;
+#define MPERS_m32_struct_stat64 m32_struct_stat64
diff --git a/mpers-m32/struct_statfs.c b/mpers-m32/struct_statfs.c
new file mode 100644
index 00000000..0e9e4eda
--- /dev/null
+++ b/mpers-m32/struct_statfs.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 <linux/types.h>
+#include <asm/statfs.h>
+typedef struct statfs struct_statfs;
+typedef struct statfs64 struct_statfs64;
+
+struct_statfs mpers_target_var;
diff --git a/mpers-m32/struct_statfs.d1 b/mpers-m32/struct_statfs.d1
new file mode 100644
index 00000000..5ab912f7
--- /dev/null
+++ b/mpers-m32/struct_statfs.d1
@@ -0,0 +1,152 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x141 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_statfs.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x57): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 37
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x147): struct_statfs
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 34
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x140): statfs
+ <40> DW_AT_byte_size : 64
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 29
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa3): f_type
+ <48> DW_AT_type : <0xec>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 30
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc3): f_bsize
+ <56> DW_AT_type : <0xec>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 31
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xcb): f_blocks
+ <64> DW_AT_type : <0xec>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 32
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xd4): f_bfree
+ <72> DW_AT_type : <0xec>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 33
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xdc): f_bavail
+ <80> DW_AT_type : <0xec>
+ <84> DW_AT_decl_file : 2
+ <85> DW_AT_decl_line : 34
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0xe5): f_files
+ <8e> DW_AT_type : <0xec>
+ <92> DW_AT_decl_file : 2
+ <93> DW_AT_decl_line : 35
+ <94> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0xed): f_ffree
+ <9c> DW_AT_type : <0xec>
+ <a0> DW_AT_decl_file : 2
+ <a1> DW_AT_decl_line : 36
+ <a2> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0xf5): f_fsid
+ <aa> DW_AT_type : <0xfe>
+ <ae> DW_AT_decl_file : 2
+ <af> DW_AT_decl_line : 37
+ <b0> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x11d): f_namelen
+ <b8> DW_AT_type : <0xec>
+ <bc> DW_AT_decl_file : 2
+ <bd> DW_AT_decl_line : 38
+ <be> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x127): f_frsize
+ <c6> DW_AT_type : <0xec>
+ <ca> DW_AT_decl_file : 2
+ <cb> DW_AT_decl_line : 39
+ <cc> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x130): f_flags
+ <d4> DW_AT_type : <0xec>
+ <d8> DW_AT_decl_file : 2
+ <d9> DW_AT_decl_line : 40
+ <da> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x138): f_spare
+ <e2> DW_AT_type : <0x137>
+ <e6> DW_AT_decl_file : 2
+ <e7> DW_AT_decl_line : 41
+ <e8> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><eb>: Abbrev Number: 0
+ <1><ec>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ed> DW_AT_type : <0xf7>
+ <f1> DW_AT_name : (indirect string, offset: 0xb3): __kernel_long_t
+ <f5> DW_AT_decl_file : 1
+ <f6> DW_AT_decl_line : 23
+ <1><f7>: Abbrev Number: 6 (DW_TAG_base_type)
+ <f8> DW_AT_name : (indirect string, offset: 0xaa): long int
+ <fc> DW_AT_encoding : 5 (signed)
+ <fd> DW_AT_byte_size : 4
+ <1><fe>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ff> DW_AT_type : <0x109>
+ <103> DW_AT_name : (indirect string, offset: 0x10d): __kernel_fsid_t
+ <107> DW_AT_decl_file : 1
+ <108> DW_AT_decl_line : 73
+ <1><109>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <10a> DW_AT_byte_size : 8
+ <10b> DW_AT_decl_file : 1
+ <10c> DW_AT_decl_line : 71
+ <2><10d>: Abbrev Number: 5 (DW_TAG_member)
+ <10e> DW_AT_name : (indirect string, offset: 0xfc): val
+ <112> DW_AT_type : <0x11c>
+ <116> DW_AT_decl_file : 1
+ <117> DW_AT_decl_line : 72
+ <118> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><11b>: Abbrev Number: 0
+ <1><11c>: Abbrev Number: 8 (DW_TAG_array_type)
+ <11d> DW_AT_type : <0x129>
+ <2><121>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <122> DW_AT_type : <0x130>
+ <126> DW_AT_lower_bound : 0
+ <127> DW_AT_count : 2
+ <2><128>: Abbrev Number: 0
+ <1><129>: Abbrev Number: 6 (DW_TAG_base_type)
+ <12a> DW_AT_name : (indirect string, offset: 0x100): int
+ <12e> DW_AT_encoding : 5 (signed)
+ <12f> DW_AT_byte_size : 4
+ <1><130>: Abbrev Number: 10 (DW_TAG_base_type)
+ <131> DW_AT_name : (indirect string, offset: 0x104): sizetype
+ <135> DW_AT_byte_size : 8
+ <136> DW_AT_encoding : 7 (unsigned)
+ <1><137>: Abbrev Number: 8 (DW_TAG_array_type)
+ <138> DW_AT_type : <0xec>
+ <2><13c>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <13d> DW_AT_type : <0x130>
+ <141> DW_AT_lower_bound : 0
+ <142> DW_AT_count : 4
+ <2><143>: Abbrev Number: 0
+ <1><144>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_statfs.d2 b/mpers-m32/struct_statfs.d2
new file mode 100644
index 00000000..64612ab9
--- /dev/null
+++ b/mpers-m32/struct_statfs.d2
@@ -0,0 +1,159 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x92): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 37
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x147): struct_statfs
+DW_AT_decl_file : 3
+DW_AT_decl_line : 34
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x140): statfs
+DW_AT_byte_size : 64
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa3): f_type
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc3): f_bsize
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcb): f_blocks
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd4): f_bfree
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdc): f_bavail
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe5): f_files
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xed): f_ffree
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf5): f_fsid
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11d): f_namelen
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x127): f_frsize
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x130): f_flags
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x138): f_spare
+DW_AT_type : <0x137>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<1><ec>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xf7>
+DW_AT_name : (indirect string, offset: 0xb3): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><f7>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xaa): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><fe>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x109>
+DW_AT_name : (indirect string, offset: 0x10d): __kernel_fsid_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 73
+<1><109>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 71
+<2><10d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfc): val
+DW_AT_type : <0x11c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><11c>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0x129>
+<2><121>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0x130>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><129>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x100): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><130>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x104): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><137>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0xec>
+<2><13c>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0x130>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
diff --git a/mpers-m32/struct_statfs.h b/mpers-m32/struct_statfs.h
new file mode 100644
index 00000000..31da0872
--- /dev/null
+++ b/mpers-m32/struct_statfs.h
@@ -0,0 +1,19 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t f_type;
+int32_t f_bsize;
+int32_t f_blocks;
+int32_t f_bfree;
+int32_t f_bavail;
+int32_t f_files;
+int32_t f_ffree;
+struct {
+int32_t val[2];
+} ATTRIBUTE_PACKED f_fsid;
+int32_t f_namelen;
+int32_t f_frsize;
+int32_t f_flags;
+int32_t f_spare[4];
+} ATTRIBUTE_PACKED m32_struct_statfs;
+#define MPERS_m32_struct_statfs m32_struct_statfs
diff --git a/mpers-m32/struct_statfs64.c b/mpers-m32/struct_statfs64.c
new file mode 100644
index 00000000..9be9fe18
--- /dev/null
+++ b/mpers-m32/struct_statfs64.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 <linux/types.h>
+#include <asm/statfs.h>
+typedef struct statfs struct_statfs;
+typedef struct statfs64 struct_statfs64;
+
+struct_statfs64 mpers_target_var;
diff --git a/mpers-m32/struct_statfs64.d1 b/mpers-m32/struct_statfs64.d1
new file mode 100644
index 00000000..b14caf76
--- /dev/null
+++ b/mpers-m32/struct_statfs64.d1
@@ -0,0 +1,161 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x153 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_statfs64.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x59): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x94): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 37
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x168): struct_statfs64
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 35
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x15f): statfs64
+ <40> DW_AT_byte_size : 88
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 46
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa5): f_type
+ <48> DW_AT_type : <0xec>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 47
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xc5): f_bsize
+ <56> DW_AT_type : <0xec>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 48
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xcd): f_blocks
+ <64> DW_AT_type : <0xfe>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 49
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xf3): f_bfree
+ <72> DW_AT_type : <0xfe>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 50
+ <78> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xfb): f_bavail
+ <80> DW_AT_type : <0xfe>
+ <84> DW_AT_decl_file : 2
+ <85> DW_AT_decl_line : 51
+ <86> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x104): f_files
+ <8e> DW_AT_type : <0xfe>
+ <92> DW_AT_decl_file : 2
+ <93> DW_AT_decl_line : 52
+ <94> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x10c): f_ffree
+ <9c> DW_AT_type : <0xfe>
+ <a0> DW_AT_decl_file : 2
+ <a1> DW_AT_decl_line : 53
+ <a2> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x114): f_fsid
+ <aa> DW_AT_type : <0x110>
+ <ae> DW_AT_decl_file : 2
+ <af> DW_AT_decl_line : 54
+ <b0> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x13c): f_namelen
+ <b8> DW_AT_type : <0xec>
+ <bc> DW_AT_decl_file : 2
+ <bd> DW_AT_decl_line : 55
+ <be> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x146): f_frsize
+ <c6> DW_AT_type : <0xec>
+ <ca> DW_AT_decl_file : 2
+ <cb> DW_AT_decl_line : 56
+ <cc> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x14f): f_flags
+ <d4> DW_AT_type : <0xec>
+ <d8> DW_AT_decl_file : 2
+ <d9> DW_AT_decl_line : 57
+ <da> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x157): f_spare
+ <e2> DW_AT_type : <0x149>
+ <e6> DW_AT_decl_file : 2
+ <e7> DW_AT_decl_line : 58
+ <e8> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+ <2><eb>: Abbrev Number: 0
+ <1><ec>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ed> DW_AT_type : <0xf7>
+ <f1> DW_AT_name : (indirect string, offset: 0xb5): __kernel_long_t
+ <f5> DW_AT_decl_file : 1
+ <f6> DW_AT_decl_line : 23
+ <1><f7>: Abbrev Number: 6 (DW_TAG_base_type)
+ <f8> DW_AT_name : (indirect string, offset: 0xac): long int
+ <fc> DW_AT_encoding : 5 (signed)
+ <fd> DW_AT_byte_size : 4
+ <1><fe>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ff> DW_AT_type : <0x109>
+ <103> DW_AT_name : (indirect string, offset: 0xed): __u64
+ <107> DW_AT_decl_file : 3
+ <108> DW_AT_decl_line : 31
+ <1><109>: Abbrev Number: 6 (DW_TAG_base_type)
+ <10a> DW_AT_name : (indirect string, offset: 0xd6): long long unsigned int
+ <10e> DW_AT_encoding : 7 (unsigned)
+ <10f> DW_AT_byte_size : 8
+ <1><110>: Abbrev Number: 3 (DW_TAG_typedef)
+ <111> DW_AT_type : <0x11b>
+ <115> DW_AT_name : (indirect string, offset: 0x12c): __kernel_fsid_t
+ <119> DW_AT_decl_file : 1
+ <11a> DW_AT_decl_line : 73
+ <1><11b>: Abbrev Number: 7 (DW_TAG_structure_type)
+ <11c> DW_AT_byte_size : 8
+ <11d> DW_AT_decl_file : 1
+ <11e> DW_AT_decl_line : 71
+ <2><11f>: Abbrev Number: 5 (DW_TAG_member)
+ <120> DW_AT_name : (indirect string, offset: 0x11b): val
+ <124> DW_AT_type : <0x12e>
+ <128> DW_AT_decl_file : 1
+ <129> DW_AT_decl_line : 72
+ <12a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><12d>: Abbrev Number: 0
+ <1><12e>: Abbrev Number: 8 (DW_TAG_array_type)
+ <12f> DW_AT_type : <0x13b>
+ <2><133>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <134> DW_AT_type : <0x142>
+ <138> DW_AT_lower_bound : 0
+ <139> DW_AT_count : 2
+ <2><13a>: Abbrev Number: 0
+ <1><13b>: Abbrev Number: 6 (DW_TAG_base_type)
+ <13c> DW_AT_name : (indirect string, offset: 0x11f): int
+ <140> DW_AT_encoding : 5 (signed)
+ <141> DW_AT_byte_size : 4
+ <1><142>: Abbrev Number: 10 (DW_TAG_base_type)
+ <143> DW_AT_name : (indirect string, offset: 0x123): sizetype
+ <147> DW_AT_byte_size : 8
+ <148> DW_AT_encoding : 7 (unsigned)
+ <1><149>: Abbrev Number: 8 (DW_TAG_array_type)
+ <14a> DW_AT_type : <0xec>
+ <2><14e>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <14f> DW_AT_type : <0x142>
+ <153> DW_AT_lower_bound : 0
+ <154> DW_AT_count : 4
+ <2><155>: Abbrev Number: 0
+ <1><156>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_statfs64.d2 b/mpers-m32/struct_statfs64.d2
new file mode 100644
index 00000000..ccfb573a
--- /dev/null
+++ b/mpers-m32/struct_statfs64.d2
@@ -0,0 +1,170 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x94): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 37
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x168): struct_statfs64
+DW_AT_decl_file : 4
+DW_AT_decl_line : 35
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x15f): statfs64
+DW_AT_byte_size : 88
+DW_AT_decl_file : 2
+DW_AT_decl_line : 46
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa5): f_type
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 47
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc5): f_bsize
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 48
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcd): f_blocks
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 49
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf3): f_bfree
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 50
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfb): f_bavail
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 51
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x104): f_files
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 52
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10c): f_ffree
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 53
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x114): f_fsid
+DW_AT_type : <0x110>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 54
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13c): f_namelen
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 55
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x146): f_frsize
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 56
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14f): f_flags
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 57
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x157): f_spare
+DW_AT_type : <0x149>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 58
+DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+<1><ec>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xf7>
+DW_AT_name : (indirect string, offset: 0xb5): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><f7>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xac): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><fe>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x109>
+DW_AT_name : (indirect string, offset: 0xed): __u64
+DW_AT_decl_file : 3
+DW_AT_decl_line : 31
+<1><109>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd6): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><110>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x11b>
+DW_AT_name : (indirect string, offset: 0x12c): __kernel_fsid_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 73
+<1><11b>
+Abbrev Number: 7 (DW_TAG_structure_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 71
+<2><11f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11b): val
+DW_AT_type : <0x12e>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 72
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><12e>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0x13b>
+<2><133>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0x142>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><13b>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x11f): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><142>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x123): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><149>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0xec>
+<2><14e>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0x142>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
diff --git a/mpers-m32/struct_statfs64.h b/mpers-m32/struct_statfs64.h
new file mode 100644
index 00000000..ec208ac2
--- /dev/null
+++ b/mpers-m32/struct_statfs64.h
@@ -0,0 +1,20 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t f_type;
+int32_t f_bsize;
+uint64_t f_blocks;
+uint64_t f_bfree;
+uint64_t f_bavail;
+uint64_t f_files;
+uint64_t f_ffree;
+struct {
+int32_t val[2];
+} ATTRIBUTE_PACKED f_fsid;
+int32_t f_namelen;
+int32_t f_frsize;
+int32_t f_flags;
+int32_t f_spare[4];
+unsigned char mpers_end_filler_1[4];
+} ATTRIBUTE_PACKED m32_struct_statfs64;
+#define MPERS_m32_struct_statfs64 m32_struct_statfs64
diff --git a/mpers-m32/struct_timex.c b/mpers-m32/struct_timex.c
new file mode 100644
index 00000000..bf8298fd
--- /dev/null
+++ b/mpers-m32/struct_timex.c
@@ -0,0 +1,38 @@
+/*
+ * 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) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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 <sys/timex.h>
+typedef struct timex struct_timex;
+
+struct_timex mpers_target_var;
diff --git a/mpers-m32/struct_timex.d1 b/mpers-m32/struct_timex.d1
new file mode 100644
index 00000000..e6c5968a
--- /dev/null
+++ b/mpers-m32/struct_timex.d1
@@ -0,0 +1,198 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x1b4 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_timex.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x56): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x91): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 38
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x19c): struct_timex
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 36
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x196): timex
+ <40> DW_AT_byte_size : 128
+ <41> DW_AT_decl_file : 1
+ <42> DW_AT_decl_line : 23
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa2): modes
+ <48> DW_AT_type : <0x15c>
+ <4c> DW_AT_decl_file : 1
+ <4d> DW_AT_decl_line : 24
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xb5): offset
+ <56> DW_AT_type : <0x163>
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 25
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xd5): freq
+ <64> DW_AT_type : <0x163>
+ <68> DW_AT_decl_file : 1
+ <69> DW_AT_decl_line : 26
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xda): maxerror
+ <72> DW_AT_type : <0x163>
+ <76> DW_AT_decl_file : 1
+ <77> DW_AT_decl_line : 27
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0xe3): esterror
+ <80> DW_AT_type : <0x163>
+ <84> DW_AT_decl_file : 1
+ <85> DW_AT_decl_line : 28
+ <86> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0xec): status
+ <8e> DW_AT_type : <0x175>
+ <92> DW_AT_decl_file : 1
+ <93> DW_AT_decl_line : 29
+ <94> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0xf7): constant
+ <9c> DW_AT_type : <0x163>
+ <a0> DW_AT_decl_file : 1
+ <a1> DW_AT_decl_line : 30
+ <a2> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x100): precision
+ <aa> DW_AT_type : <0x163>
+ <ae> DW_AT_decl_file : 1
+ <af> DW_AT_decl_line : 31
+ <b0> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x10a): tolerance
+ <b8> DW_AT_type : <0x163>
+ <bc> DW_AT_decl_file : 1
+ <bd> DW_AT_decl_line : 32
+ <be> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x114): time
+ <c6> DW_AT_type : <0x17c>
+ <ca> DW_AT_decl_file : 1
+ <cb> DW_AT_decl_line : 33
+ <cc> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x155): tick
+ <d4> DW_AT_type : <0x163>
+ <d8> DW_AT_decl_file : 1
+ <d9> DW_AT_decl_line : 34
+ <da> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x15a): ppsfreq
+ <e2> DW_AT_type : <0x163>
+ <e6> DW_AT_decl_file : 1
+ <e7> DW_AT_decl_line : 35
+ <e8> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><eb>: Abbrev Number: 5 (DW_TAG_member)
+ <ec> DW_AT_name : (indirect string, offset: 0x162): jitter
+ <f0> DW_AT_type : <0x163>
+ <f4> DW_AT_decl_file : 1
+ <f5> DW_AT_decl_line : 36
+ <f6> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><f9>: Abbrev Number: 5 (DW_TAG_member)
+ <fa> DW_AT_name : (indirect string, offset: 0x169): shift
+ <fe> DW_AT_type : <0x175>
+ <102> DW_AT_decl_file : 1
+ <103> DW_AT_decl_line : 37
+ <104> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><107>: Abbrev Number: 5 (DW_TAG_member)
+ <108> DW_AT_name : (indirect string, offset: 0x16f): stabil
+ <10c> DW_AT_type : <0x163>
+ <110> DW_AT_decl_file : 1
+ <111> DW_AT_decl_line : 38
+ <112> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><115>: Abbrev Number: 5 (DW_TAG_member)
+ <116> DW_AT_name : (indirect string, offset: 0x176): jitcnt
+ <11a> DW_AT_type : <0x163>
+ <11e> DW_AT_decl_file : 1
+ <11f> DW_AT_decl_line : 39
+ <120> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><123>: Abbrev Number: 5 (DW_TAG_member)
+ <124> DW_AT_name : (indirect string, offset: 0x17d): calcnt
+ <128> DW_AT_type : <0x163>
+ <12c> DW_AT_decl_file : 1
+ <12d> DW_AT_decl_line : 40
+ <12e> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+ <2><131>: Abbrev Number: 5 (DW_TAG_member)
+ <132> DW_AT_name : (indirect string, offset: 0x184): errcnt
+ <136> DW_AT_type : <0x163>
+ <13a> DW_AT_decl_file : 1
+ <13b> DW_AT_decl_line : 41
+ <13c> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+ <2><13f>: Abbrev Number: 5 (DW_TAG_member)
+ <140> DW_AT_name : (indirect string, offset: 0x18b): stbcnt
+ <144> DW_AT_type : <0x163>
+ <148> DW_AT_decl_file : 1
+ <149> DW_AT_decl_line : 42
+ <14a> DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76)
+ <2><14d>: Abbrev Number: 5 (DW_TAG_member)
+ <14e> DW_AT_name : (indirect string, offset: 0x192): tai
+ <152> DW_AT_type : <0x175>
+ <156> DW_AT_decl_file : 1
+ <157> DW_AT_decl_line : 43
+ <158> DW_AT_data_member_location: 2 byte block: 23 50 (DW_OP_plus_uconst: 80)
+ <2><15b>: Abbrev Number: 0
+ <1><15c>: Abbrev Number: 6 (DW_TAG_base_type)
+ <15d> DW_AT_name : (indirect string, offset: 0xa8): unsigned int
+ <161> DW_AT_encoding : 7 (unsigned)
+ <162> DW_AT_byte_size : 4
+ <1><163>: Abbrev Number: 3 (DW_TAG_typedef)
+ <164> DW_AT_type : <0x16e>
+ <168> DW_AT_name : (indirect string, offset: 0xc5): __kernel_long_t
+ <16c> DW_AT_decl_file : 2
+ <16d> DW_AT_decl_line : 23
+ <1><16e>: Abbrev Number: 6 (DW_TAG_base_type)
+ <16f> DW_AT_name : (indirect string, offset: 0xbc): long int
+ <173> DW_AT_encoding : 5 (signed)
+ <174> DW_AT_byte_size : 4
+ <1><175>: Abbrev Number: 6 (DW_TAG_base_type)
+ <176> DW_AT_name : (indirect string, offset: 0xf3): int
+ <17a> DW_AT_encoding : 5 (signed)
+ <17b> DW_AT_byte_size : 4
+ <1><17c>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <17d> DW_AT_name : (indirect string, offset: 0x14d): timeval
+ <181> DW_AT_byte_size : 8
+ <182> DW_AT_decl_file : 3
+ <183> DW_AT_decl_line : 29
+ <2><184>: Abbrev Number: 5 (DW_TAG_member)
+ <185> DW_AT_name : (indirect string, offset: 0x119): tv_sec
+ <189> DW_AT_type : <0x1a1>
+ <18d> DW_AT_decl_file : 3
+ <18e> DW_AT_decl_line : 30
+ <18f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><192>: Abbrev Number: 5 (DW_TAG_member)
+ <193> DW_AT_name : (indirect string, offset: 0x130): tv_usec
+ <197> DW_AT_type : <0x1ac>
+ <19b> DW_AT_decl_file : 3
+ <19c> DW_AT_decl_line : 31
+ <19d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><1a0>: Abbrev Number: 0
+ <1><1a1>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1a2> DW_AT_type : <0x163>
+ <1a6> DW_AT_name : (indirect string, offset: 0x120): __kernel_time_t
+ <1aa> DW_AT_decl_file : 2
+ <1ab> DW_AT_decl_line : 77
+ <1><1ac>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1ad> DW_AT_type : <0x163>
+ <1b1> DW_AT_name : (indirect string, offset: 0x138): __kernel_suseconds_t
+ <1b5> DW_AT_decl_file : 2
+ <1b6> DW_AT_decl_line : 43
+ <1><1b7>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_timex.d2 b/mpers-m32/struct_timex.d2
new file mode 100644
index 00000000..eb99903c
--- /dev/null
+++ b/mpers-m32/struct_timex.d2
@@ -0,0 +1,213 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x91): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 38
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x19c): struct_timex
+DW_AT_decl_file : 4
+DW_AT_decl_line : 36
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x196): timex
+DW_AT_byte_size : 128
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa2): modes
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb5): offset
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): freq
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xda): maxerror
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe3): esterror
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xec): status
+DW_AT_type : <0x175>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): constant
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x100): precision
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10a): tolerance
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x114): time
+DW_AT_type : <0x17c>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x155): tick
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15a): ppsfreq
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><eb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x162): jitter
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x169): shift
+DW_AT_type : <0x175>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><107>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16f): stabil
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 38
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><115>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x176): jitcnt
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 39
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<2><123>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17d): calcnt
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 40
+DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
+<2><131>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x184): errcnt
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 41
+DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
+<2><13f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x18b): stbcnt
+DW_AT_type : <0x163>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 42
+DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76)
+<2><14d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x192): tai
+DW_AT_type : <0x175>
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
+DW_AT_data_member_location: 2 byte block: 23 50 (DW_OP_plus_uconst: 80)
+<1><15c>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa8): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><163>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x16e>
+DW_AT_name : (indirect string, offset: 0xc5): __kernel_long_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+<1><16e>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xbc): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><175>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf3): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><17c>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x14d): timeval
+DW_AT_byte_size : 8
+DW_AT_decl_file : 3
+DW_AT_decl_line : 29
+<2><184>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x119): tv_sec
+DW_AT_type : <0x1a1>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><192>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x130): tv_usec
+DW_AT_type : <0x1ac>
+DW_AT_decl_file : 3
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><1a1>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x163>
+DW_AT_name : (indirect string, offset: 0x120): __kernel_time_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 77
+<1><1ac>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x163>
+DW_AT_name : (indirect string, offset: 0x138): __kernel_suseconds_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 43
diff --git a/mpers-m32/struct_timex.h b/mpers-m32/struct_timex.h
new file mode 100644
index 00000000..978b2b80
--- /dev/null
+++ b/mpers-m32/struct_timex.h
@@ -0,0 +1,29 @@
+#include <stdint.h>
+typedef
+struct {
+uint32_t modes;
+int32_t offset;
+int32_t freq;
+int32_t maxerror;
+int32_t esterror;
+int32_t status;
+int32_t constant;
+int32_t precision;
+int32_t tolerance;
+struct {
+int32_t tv_sec;
+int32_t tv_usec;
+} ATTRIBUTE_PACKED time;
+int32_t tick;
+int32_t ppsfreq;
+int32_t jitter;
+int32_t shift;
+int32_t stabil;
+int32_t jitcnt;
+int32_t calcnt;
+int32_t errcnt;
+int32_t stbcnt;
+int32_t tai;
+unsigned char mpers_end_filler_1[44];
+} ATTRIBUTE_PACKED m32_struct_timex;
+#define MPERS_m32_struct_timex m32_struct_timex
diff --git a/mpers-m32/struct_ustat.c b/mpers-m32/struct_ustat.c
new file mode 100644
index 00000000..64370699
--- /dev/null
+++ b/mpers-m32/struct_ustat.c
@@ -0,0 +1,35 @@
+/*
+ * 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 "defs.h"
+#ifdef HAVE_USTAT_H
+# include DEF_MPERS_TYPE(struct_ustat)
+# include <ustat.h>
+typedef struct ustat struct_ustat;
+#endif /* HAVE_USTAT_H */
+
+struct_ustat mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_buffer.c b/mpers-m32/struct_v4l2_buffer.c
new file mode 100644
index 00000000..99d7865f
--- /dev/null
+++ b/mpers-m32/struct_v4l2_buffer.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_buffer mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_buffer.d1 b/mpers-m32/struct_v4l2_buffer.d1
new file mode 100644
index 00000000..cb106cfd
--- /dev/null
+++ b/mpers-m32/struct_v4l2_buffer.d1
@@ -0,0 +1,335 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x2f2 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_buffer.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5c): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 5
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x223): struct_v4l2_buffer
+ <39> DW_AT_decl_file : 5
+ <3a> DW_AT_decl_line : 41
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x217): v4l2_buffer
+ <40> DW_AT_byte_size : 68
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 466
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xa8): index
+ <49> DW_AT_type : <0x14a>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 467
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xc1): type
+ <58> DW_AT_type : <0x14a>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 468
+ <5f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xc6): bytesused
+ <67> DW_AT_type : <0x14a>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 469
+ <6e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xd0): flags
+ <76> DW_AT_type : <0x14a>
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 470
+ <7d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><80>: Abbrev Number: 5 (DW_TAG_member)
+ <81> DW_AT_name : (indirect string, offset: 0xd6): field
+ <85> DW_AT_type : <0x14a>
+ <89> DW_AT_decl_file : 2
+ <8a> DW_AT_decl_line : 471
+ <8c> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><8f>: Abbrev Number: 5 (DW_TAG_member)
+ <90> DW_AT_name : (indirect string, offset: 0xdc): timestamp
+ <94> DW_AT_type : <0x15c>
+ <98> DW_AT_decl_file : 2
+ <99> DW_AT_decl_line : 472
+ <9b> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><9e>: Abbrev Number: 5 (DW_TAG_member)
+ <9f> DW_AT_name : (indirect string, offset: 0x13b): timecode
+ <a3> DW_AT_type : <0x1a9>
+ <a7> DW_AT_decl_file : 2
+ <a8> DW_AT_decl_line : 473
+ <aa> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><ad>: Abbrev Number: 5 (DW_TAG_member)
+ <ae> DW_AT_name : (indirect string, offset: 0x194): sequence
+ <b2> DW_AT_type : <0x14a>
+ <b6> DW_AT_decl_file : 2
+ <b7> DW_AT_decl_line : 474
+ <b9> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><bc>: Abbrev Number: 5 (DW_TAG_member)
+ <bd> DW_AT_name : (indirect string, offset: 0x19d): memory
+ <c1> DW_AT_type : <0x14a>
+ <c5> DW_AT_decl_file : 2
+ <c6> DW_AT_decl_line : 475
+ <c8> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><cb>: Abbrev Number: 5 (DW_TAG_member)
+ <cc> DW_AT_name : (indirect string, offset: 0x1a4): m
+ <d0> DW_AT_type : <0xda>
+ <d4> DW_AT_decl_file : 2
+ <d5> DW_AT_decl_line : 481
+ <d7> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><da>: Abbrev Number: 6 (DW_TAG_union_type)
+ <db> DW_AT_byte_size : 4
+ <dc> DW_AT_decl_file : 2
+ <dd> DW_AT_decl_line : 476
+ <3><df>: Abbrev Number: 5 (DW_TAG_member)
+ <e0> DW_AT_name : (indirect string, offset: 0x1a6): offset
+ <e4> DW_AT_type : <0x14a>
+ <e8> DW_AT_decl_file : 2
+ <e9> DW_AT_decl_line : 477
+ <eb> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ee>: Abbrev Number: 5 (DW_TAG_member)
+ <ef> DW_AT_name : (indirect string, offset: 0x1ad): userptr
+ <f3> DW_AT_type : <0x242>
+ <f7> DW_AT_decl_file : 2
+ <f8> DW_AT_decl_line : 478
+ <fa> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><fd>: Abbrev Number: 5 (DW_TAG_member)
+ <fe> DW_AT_name : (indirect string, offset: 0x1c7): planes
+ <102> DW_AT_type : <0x249>
+ <106> DW_AT_decl_file : 2
+ <107> DW_AT_decl_line : 479
+ <109> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><10c>: Abbrev Number: 5 (DW_TAG_member)
+ <10d> DW_AT_name : (indirect string, offset: 0x1e0): fd
+ <111> DW_AT_type : <0x2d6>
+ <115> DW_AT_decl_file : 2
+ <116> DW_AT_decl_line : 480
+ <118> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><11b>: Abbrev Number: 0
+ <2><11c>: Abbrev Number: 5 (DW_TAG_member)
+ <11d> DW_AT_name : (indirect string, offset: 0x1ce): length
+ <121> DW_AT_type : <0x14a>
+ <125> DW_AT_decl_file : 2
+ <126> DW_AT_decl_line : 482
+ <128> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><12b>: Abbrev Number: 5 (DW_TAG_member)
+ <12c> DW_AT_name : (indirect string, offset: 0x20d): reserved2
+ <130> DW_AT_type : <0x14a>
+ <134> DW_AT_decl_file : 2
+ <135> DW_AT_decl_line : 483
+ <137> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><13a>: Abbrev Number: 5 (DW_TAG_member)
+ <13b> DW_AT_name : (indirect string, offset: 0x1f9): reserved
+ <13f> DW_AT_type : <0x14a>
+ <143> DW_AT_decl_file : 2
+ <144> DW_AT_decl_line : 484
+ <146> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><149>: Abbrev Number: 0
+ <1><14a>: Abbrev Number: 3 (DW_TAG_typedef)
+ <14b> DW_AT_type : <0x155>
+ <14f> DW_AT_name : (indirect string, offset: 0xbb): __u32
+ <153> DW_AT_decl_file : 1
+ <154> DW_AT_decl_line : 28
+ <1><155>: Abbrev Number: 7 (DW_TAG_base_type)
+ <156> DW_AT_name : (indirect string, offset: 0xae): unsigned int
+ <15a> DW_AT_encoding : 7 (unsigned)
+ <15b> DW_AT_byte_size : 4
+ <1><15c>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <15d> DW_AT_name : (indirect string, offset: 0x133): timeval
+ <161> DW_AT_byte_size : 8
+ <162> DW_AT_decl_file : 4
+ <163> DW_AT_decl_line : 29
+ <2><164>: Abbrev Number: 9 (DW_TAG_member)
+ <165> DW_AT_name : (indirect string, offset: 0xe6): tv_sec
+ <169> DW_AT_type : <0x181>
+ <16d> DW_AT_decl_file : 4
+ <16e> DW_AT_decl_line : 30
+ <16f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><172>: Abbrev Number: 9 (DW_TAG_member)
+ <173> DW_AT_name : (indirect string, offset: 0x116): tv_usec
+ <177> DW_AT_type : <0x19e>
+ <17b> DW_AT_decl_file : 4
+ <17c> DW_AT_decl_line : 31
+ <17d> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><180>: Abbrev Number: 0
+ <1><181>: Abbrev Number: 3 (DW_TAG_typedef)
+ <182> DW_AT_type : <0x18c>
+ <186> DW_AT_name : (indirect string, offset: 0x106): __kernel_time_t
+ <18a> DW_AT_decl_file : 3
+ <18b> DW_AT_decl_line : 77
+ <1><18c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <18d> DW_AT_type : <0x197>
+ <191> DW_AT_name : (indirect string, offset: 0xf6): __kernel_long_t
+ <195> DW_AT_decl_file : 3
+ <196> DW_AT_decl_line : 23
+ <1><197>: Abbrev Number: 7 (DW_TAG_base_type)
+ <198> DW_AT_name : (indirect string, offset: 0xed): long int
+ <19c> DW_AT_encoding : 5 (signed)
+ <19d> DW_AT_byte_size : 4
+ <1><19e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <19f> DW_AT_type : <0x18c>
+ <1a3> DW_AT_name : (indirect string, offset: 0x11e): __kernel_suseconds_t
+ <1a7> DW_AT_decl_file : 3
+ <1a8> DW_AT_decl_line : 43
+ <1><1a9>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <1aa> DW_AT_name : (indirect string, offset: 0x186): v4l2_timecode
+ <1ae> DW_AT_byte_size : 16
+ <1af> DW_AT_decl_file : 2
+ <1b0> DW_AT_decl_line : 416
+ <2><1b2>: Abbrev Number: 5 (DW_TAG_member)
+ <1b3> DW_AT_name : (indirect string, offset: 0xc1): type
+ <1b7> DW_AT_type : <0x14a>
+ <1bb> DW_AT_decl_file : 2
+ <1bc> DW_AT_decl_line : 417
+ <1be> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><1c1>: Abbrev Number: 5 (DW_TAG_member)
+ <1c2> DW_AT_name : (indirect string, offset: 0xd0): flags
+ <1c6> DW_AT_type : <0x14a>
+ <1ca> DW_AT_decl_file : 2
+ <1cb> DW_AT_decl_line : 418
+ <1cd> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><1d0>: Abbrev Number: 5 (DW_TAG_member)
+ <1d1> DW_AT_name : (indirect string, offset: 0x144): frames
+ <1d5> DW_AT_type : <0x21c>
+ <1d9> DW_AT_decl_file : 2
+ <1da> DW_AT_decl_line : 419
+ <1dc> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><1df>: Abbrev Number: 5 (DW_TAG_member)
+ <1e0> DW_AT_name : (indirect string, offset: 0x15e): seconds
+ <1e4> DW_AT_type : <0x21c>
+ <1e8> DW_AT_decl_file : 2
+ <1e9> DW_AT_decl_line : 420
+ <1eb> DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9)
+ <2><1ee>: Abbrev Number: 5 (DW_TAG_member)
+ <1ef> DW_AT_name : (indirect string, offset: 0x166): minutes
+ <1f3> DW_AT_type : <0x21c>
+ <1f7> DW_AT_decl_file : 2
+ <1f8> DW_AT_decl_line : 421
+ <1fa> DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+ <2><1fd>: Abbrev Number: 5 (DW_TAG_member)
+ <1fe> DW_AT_name : (indirect string, offset: 0x16e): hours
+ <202> DW_AT_type : <0x21c>
+ <206> DW_AT_decl_file : 2
+ <207> DW_AT_decl_line : 422
+ <209> DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11)
+ <2><20c>: Abbrev Number: 5 (DW_TAG_member)
+ <20d> DW_AT_name : (indirect string, offset: 0x174): userbits
+ <211> DW_AT_type : <0x22e>
+ <215> DW_AT_decl_file : 2
+ <216> DW_AT_decl_line : 423
+ <218> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><21b>: Abbrev Number: 0
+ <1><21c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <21d> DW_AT_type : <0x227>
+ <221> DW_AT_name : (indirect string, offset: 0x159): __u8
+ <225> DW_AT_decl_file : 1
+ <226> DW_AT_decl_line : 24
+ <1><227>: Abbrev Number: 7 (DW_TAG_base_type)
+ <228> DW_AT_name : (indirect string, offset: 0x14b): unsigned char
+ <22c> DW_AT_encoding : 8 (unsigned char)
+ <22d> DW_AT_byte_size : 1
+ <1><22e>: Abbrev Number: 10 (DW_TAG_array_type)
+ <22f> DW_AT_type : <0x21c>
+ <2><233>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <234> DW_AT_type : <0x23b>
+ <238> DW_AT_lower_bound : 0
+ <239> DW_AT_count : 4
+ <2><23a>: Abbrev Number: 0
+ <1><23b>: Abbrev Number: 12 (DW_TAG_base_type)
+ <23c> DW_AT_name : (indirect string, offset: 0x17d): sizetype
+ <240> DW_AT_byte_size : 8
+ <241> DW_AT_encoding : 7 (unsigned)
+ <1><242>: Abbrev Number: 7 (DW_TAG_base_type)
+ <243> DW_AT_name : (indirect string, offset: 0x1b5): long unsigned int
+ <247> DW_AT_encoding : 7 (unsigned)
+ <248> DW_AT_byte_size : 4
+ <1><249>: Abbrev Number: 13 (DW_TAG_pointer_type)
+ <24a> DW_AT_type : <0x24e>
+ <1><24e>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <24f> DW_AT_name : (indirect string, offset: 0x202): v4l2_plane
+ <253> DW_AT_byte_size : 60
+ <254> DW_AT_decl_file : 2
+ <255> DW_AT_decl_line : 455
+ <2><257>: Abbrev Number: 5 (DW_TAG_member)
+ <258> DW_AT_name : (indirect string, offset: 0xc6): bytesused
+ <25c> DW_AT_type : <0x14a>
+ <260> DW_AT_decl_file : 2
+ <261> DW_AT_decl_line : 456
+ <263> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><266>: Abbrev Number: 5 (DW_TAG_member)
+ <267> DW_AT_name : (indirect string, offset: 0x1ce): length
+ <26b> DW_AT_type : <0x14a>
+ <26f> DW_AT_decl_file : 2
+ <270> DW_AT_decl_line : 457
+ <272> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><275>: Abbrev Number: 5 (DW_TAG_member)
+ <276> DW_AT_name : (indirect string, offset: 0x1a4): m
+ <27a> DW_AT_type : <0x284>
+ <27e> DW_AT_decl_file : 2
+ <27f> DW_AT_decl_line : 462
+ <281> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><284>: Abbrev Number: 6 (DW_TAG_union_type)
+ <285> DW_AT_byte_size : 4
+ <286> DW_AT_decl_file : 2
+ <287> DW_AT_decl_line : 458
+ <3><289>: Abbrev Number: 5 (DW_TAG_member)
+ <28a> DW_AT_name : (indirect string, offset: 0x1d5): mem_offset
+ <28e> DW_AT_type : <0x14a>
+ <292> DW_AT_decl_file : 2
+ <293> DW_AT_decl_line : 459
+ <295> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><298>: Abbrev Number: 5 (DW_TAG_member)
+ <299> DW_AT_name : (indirect string, offset: 0x1ad): userptr
+ <29d> DW_AT_type : <0x242>
+ <2a1> DW_AT_decl_file : 2
+ <2a2> DW_AT_decl_line : 460
+ <2a4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2a7>: Abbrev Number: 5 (DW_TAG_member)
+ <2a8> DW_AT_name : (indirect string, offset: 0x1e0): fd
+ <2ac> DW_AT_type : <0x2d6>
+ <2b0> DW_AT_decl_file : 2
+ <2b1> DW_AT_decl_line : 461
+ <2b3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2b6>: Abbrev Number: 0
+ <2><2b7>: Abbrev Number: 5 (DW_TAG_member)
+ <2b8> DW_AT_name : (indirect string, offset: 0x1ed): data_offset
+ <2bc> DW_AT_type : <0x14a>
+ <2c0> DW_AT_decl_file : 2
+ <2c1> DW_AT_decl_line : 463
+ <2c3> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><2c6>: Abbrev Number: 5 (DW_TAG_member)
+ <2c7> DW_AT_name : (indirect string, offset: 0x1f9): reserved
+ <2cb> DW_AT_type : <0x2e8>
+ <2cf> DW_AT_decl_file : 2
+ <2d0> DW_AT_decl_line : 464
+ <2d2> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><2d5>: Abbrev Number: 0
+ <1><2d6>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2d7> DW_AT_type : <0x2e1>
+ <2db> DW_AT_name : (indirect string, offset: 0x1e7): __s32
+ <2df> DW_AT_decl_file : 1
+ <2e0> DW_AT_decl_line : 27
+ <1><2e1>: Abbrev Number: 7 (DW_TAG_base_type)
+ <2e2> DW_AT_name : (indirect string, offset: 0x1e3): int
+ <2e6> DW_AT_encoding : 5 (signed)
+ <2e7> DW_AT_byte_size : 4
+ <1><2e8>: Abbrev Number: 10 (DW_TAG_array_type)
+ <2e9> DW_AT_type : <0x14a>
+ <2><2ed>: Abbrev Number: 11 (DW_TAG_subrange_type)
+ <2ee> DW_AT_type : <0x23b>
+ <2f2> DW_AT_lower_bound : 0
+ <2f3> DW_AT_count : 11
+ <2><2f4>: Abbrev Number: 0
+ <1><2f5>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_buffer.d2 b/mpers-m32/struct_v4l2_buffer.d2
new file mode 100644
index 00000000..a7985ebf
--- /dev/null
+++ b/mpers-m32/struct_v4l2_buffer.d2
@@ -0,0 +1,371 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 5
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x223): struct_v4l2_buffer
+DW_AT_decl_file : 5
+DW_AT_decl_line : 41
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x217): v4l2_buffer
+DW_AT_byte_size : 68
+DW_AT_decl_file : 2
+DW_AT_decl_line : 466
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): index
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 467
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): type
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 468
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc6): bytesused
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 469
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): flags
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 470
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><80>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd6): field
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 471
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><8f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdc): timestamp
+DW_AT_type : <0x15c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 472
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><9e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13b): timecode
+DW_AT_type : <0x1a9>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 473
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><ad>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x194): sequence
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 474
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x19d): memory
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 475
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><cb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a4): m
+DW_AT_type : <0xda>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 481
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><da>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 476
+<3><df>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a6): offset
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 477
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><ee>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ad): userptr
+DW_AT_type : <0x242>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 478
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><fd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1c7): planes
+DW_AT_type : <0x249>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 479
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><10c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e0): fd
+DW_AT_type : <0x2d6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 480
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><11c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ce): length
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 482
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><12b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x20d): reserved2
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 483
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><13a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f9): reserved
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 484
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<1><14a>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x155>
+DW_AT_name : (indirect string, offset: 0xbb): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><155>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xae): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><15c>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x133): timeval
+DW_AT_byte_size : 8
+DW_AT_decl_file : 4
+DW_AT_decl_line : 29
+<2><164>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe6): tv_sec
+DW_AT_type : <0x181>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><172>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): tv_usec
+DW_AT_type : <0x19e>
+DW_AT_decl_file : 4
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><181>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x18c>
+DW_AT_name : (indirect string, offset: 0x106): __kernel_time_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 77
+<1><18c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x197>
+DW_AT_name : (indirect string, offset: 0xf6): __kernel_long_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 23
+<1><197>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xed): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><19e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x18c>
+DW_AT_name : (indirect string, offset: 0x11e): __kernel_suseconds_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 43
+<1><1a9>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x186): v4l2_timecode
+DW_AT_byte_size : 16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 416
+<2><1b2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc1): type
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 417
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): flags
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 418
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><1d0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x144): frames
+DW_AT_type : <0x21c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 419
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><1df>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): seconds
+DW_AT_type : <0x21c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 420
+DW_AT_data_member_location: 2 byte block: 23 9 (DW_OP_plus_uconst: 9)
+<2><1ee>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x166): minutes
+DW_AT_type : <0x21c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 421
+DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
+<2><1fd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16e): hours
+DW_AT_type : <0x21c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 422
+DW_AT_data_member_location: 2 byte block: 23 b (DW_OP_plus_uconst: 11)
+<2><20c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x174): userbits
+DW_AT_type : <0x22e>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 423
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><21c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x227>
+DW_AT_name : (indirect string, offset: 0x159): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><227>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x14b): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><22e>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x21c>
+<2><233>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x23b>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
+<1><23b>
+Abbrev Number: 12 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x17d): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><242>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1b5): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><249>
+Abbrev Number: 13 (DW_TAG_pointer_type)
+DW_AT_type : <0x24e>
+<1><24e>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x202): v4l2_plane
+DW_AT_byte_size : 60
+DW_AT_decl_file : 2
+DW_AT_decl_line : 455
+<2><257>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc6): bytesused
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 456
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><266>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ce): length
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 457
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><275>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1a4): m
+DW_AT_type : <0x284>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 462
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><284>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 458
+<3><289>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d5): mem_offset
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 459
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><298>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ad): userptr
+DW_AT_type : <0x242>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 460
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2a7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e0): fd
+DW_AT_type : <0x2d6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 461
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><2b7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1ed): data_offset
+DW_AT_type : <0x14a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 463
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><2c6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f9): reserved
+DW_AT_type : <0x2e8>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 464
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<1><2d6>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x2e1>
+DW_AT_name : (indirect string, offset: 0x1e7): __s32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+<1><2e1>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1e3): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><2e8>
+Abbrev Number: 10 (DW_TAG_array_type)
+DW_AT_type : <0x14a>
+<2><2ed>
+Abbrev Number: 11 (DW_TAG_subrange_type)
+DW_AT_type : <0x23b>
+DW_AT_lower_bound : 0
+DW_AT_count : 11
diff --git a/mpers-m32/struct_v4l2_buffer.h b/mpers-m32/struct_v4l2_buffer.h
new file mode 100644
index 00000000..3743ad2c
--- /dev/null
+++ b/mpers-m32/struct_v4l2_buffer.h
@@ -0,0 +1,38 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint32_t index;
+uint32_t type;
+uint32_t bytesused;
+uint32_t flags;
+uint32_t field;
+struct {
+int32_t tv_sec;
+int32_t tv_usec;
+} ATTRIBUTE_PACKED timestamp;
+struct {
+uint32_t type;
+uint32_t flags;
+unsigned char frames;
+unsigned char seconds;
+unsigned char minutes;
+unsigned char hours;
+unsigned char userbits[4];
+} ATTRIBUTE_PACKED timecode;
+uint32_t sequence;
+uint32_t memory;
+union {
+uint32_t offset;
+uint32_t userptr;
+mpers_ptr_t planes;
+int32_t fd;
+} m;
+uint32_t length;
+uint32_t reserved2;
+uint32_t reserved;
+} ATTRIBUTE_PACKED m32_struct_v4l2_buffer;
+#define MPERS_m32_struct_v4l2_buffer m32_struct_v4l2_buffer
diff --git a/mpers-m32/struct_v4l2_clip.c b/mpers-m32/struct_v4l2_clip.c
new file mode 100644
index 00000000..f9e1fd47
--- /dev/null
+++ b/mpers-m32/struct_v4l2_clip.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_clip mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_clip.d1 b/mpers-m32/struct_v4l2_clip.d1
new file mode 100644
index 00000000..7d5b7252
--- /dev/null
+++ b/mpers-m32/struct_v4l2_clip.d1
@@ -0,0 +1,95 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0xca (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_clip.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5a): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xf4): struct_v4l2_clip
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 42
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xea): v4l2_clip
+ <40> DW_AT_byte_size : 20
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 543
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xa6): c
+ <49> DW_AT_type : <0x63>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 544
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xe5): next
+ <58> DW_AT_type : <0xc8>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 545
+ <5f> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><62>: Abbrev Number: 0
+ <1><63>: Abbrev Number: 6 (DW_TAG_structure_type)
+ <64> DW_AT_name : (indirect string, offset: 0xdb): v4l2_rect
+ <68> DW_AT_byte_size : 16
+ <69> DW_AT_decl_file : 2
+ <6a> DW_AT_decl_line : 135
+ <2><6b>: Abbrev Number: 7 (DW_TAG_member)
+ <6c> DW_AT_name : (indirect string, offset: 0xa8): left
+ <70> DW_AT_type : <0xa4>
+ <74> DW_AT_decl_file : 2
+ <75> DW_AT_decl_line : 136
+ <76> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><79>: Abbrev Number: 7 (DW_TAG_member)
+ <7a> DW_AT_name : (indirect string, offset: 0xb7): top
+ <7e> DW_AT_type : <0xa4>
+ <82> DW_AT_decl_file : 2
+ <83> DW_AT_decl_line : 137
+ <84> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><87>: Abbrev Number: 7 (DW_TAG_member)
+ <88> DW_AT_name : (indirect string, offset: 0xbb): width
+ <8c> DW_AT_type : <0xb6>
+ <90> DW_AT_decl_file : 2
+ <91> DW_AT_decl_line : 138
+ <92> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><95>: Abbrev Number: 7 (DW_TAG_member)
+ <96> DW_AT_name : (indirect string, offset: 0xd4): height
+ <9a> DW_AT_type : <0xb6>
+ <9e> DW_AT_decl_file : 2
+ <9f> DW_AT_decl_line : 139
+ <a0> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><a3>: Abbrev Number: 0
+ <1><a4>: Abbrev Number: 3 (DW_TAG_typedef)
+ <a5> DW_AT_type : <0xaf>
+ <a9> DW_AT_name : (indirect string, offset: 0xb1): __s32
+ <ad> DW_AT_decl_file : 1
+ <ae> DW_AT_decl_line : 27
+ <1><af>: Abbrev Number: 8 (DW_TAG_base_type)
+ <b0> DW_AT_name : (indirect string, offset: 0xad): int
+ <b4> DW_AT_encoding : 5 (signed)
+ <b5> DW_AT_byte_size : 4
+ <1><b6>: Abbrev Number: 3 (DW_TAG_typedef)
+ <b7> DW_AT_type : <0xc1>
+ <bb> DW_AT_name : (indirect string, offset: 0xce): __u32
+ <bf> DW_AT_decl_file : 1
+ <c0> DW_AT_decl_line : 28
+ <1><c1>: Abbrev Number: 8 (DW_TAG_base_type)
+ <c2> DW_AT_name : (indirect string, offset: 0xc1): unsigned int
+ <c6> DW_AT_encoding : 7 (unsigned)
+ <c7> DW_AT_byte_size : 4
+ <1><c8>: Abbrev Number: 9 (DW_TAG_pointer_type)
+ <c9> DW_AT_type : <0x3b>
+ <1><cd>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_clip.d2 b/mpers-m32/struct_v4l2_clip.d2
new file mode 100644
index 00000000..2274f93d
--- /dev/null
+++ b/mpers-m32/struct_v4l2_clip.d2
@@ -0,0 +1,93 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x95): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xf4): struct_v4l2_clip
+DW_AT_decl_file : 3
+DW_AT_decl_line : 42
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xea): v4l2_clip
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 543
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa6): c
+DW_AT_type : <0x63>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 544
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe5): next
+DW_AT_type : <0xc8>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 545
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<1><63>
+Abbrev Number: 6 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xdb): v4l2_rect
+DW_AT_byte_size : 16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 135
+<2><6b>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): left
+DW_AT_type : <0xa4>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 136
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><79>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb7): top
+DW_AT_type : <0xa4>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 137
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><87>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbb): width
+DW_AT_type : <0xb6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 138
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><95>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd4): height
+DW_AT_type : <0xb6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 139
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><a4>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xaf>
+DW_AT_name : (indirect string, offset: 0xb1): __s32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+<1><af>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xad): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><b6>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xc1>
+DW_AT_name : (indirect string, offset: 0xce): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><c1>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc1): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><c8>
+Abbrev Number: 9 (DW_TAG_pointer_type)
+DW_AT_type : <0x3b>
diff --git a/mpers-m32/struct_v4l2_clip.h b/mpers-m32/struct_v4l2_clip.h
new file mode 100644
index 00000000..ea1ab0c8
--- /dev/null
+++ b/mpers-m32/struct_v4l2_clip.h
@@ -0,0 +1,16 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+struct {
+int32_t left;
+int32_t top;
+uint32_t width;
+uint32_t height;
+} ATTRIBUTE_PACKED c;
+mpers_ptr_t next;
+} ATTRIBUTE_PACKED m32_struct_v4l2_clip;
+#define MPERS_m32_struct_v4l2_clip m32_struct_v4l2_clip
diff --git a/mpers-m32/struct_v4l2_create_buffers.c b/mpers-m32/struct_v4l2_create_buffers.c
new file mode 100644
index 00000000..aba8fd43
--- /dev/null
+++ b/mpers-m32/struct_v4l2_create_buffers.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_create_buffers mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_create_buffers.d1 b/mpers-m32/struct_v4l2_create_buffers.d1
new file mode 100644
index 00000000..b9c1f971
--- /dev/null
+++ b/mpers-m32/struct_v4l2_create_buffers.d1
@@ -0,0 +1,678 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x5f1 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_create_buffers.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x64): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9f): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x357): struct_v4l2_create_buffers
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 44
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x343): v4l2_create_buffers
+ <40> DW_AT_byte_size : 248
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 1253
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xb0): index
+ <49> DW_AT_type : <0x91>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 1254
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xc9): count
+ <58> DW_AT_type : <0x91>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 1255
+ <5f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xcf): memory
+ <67> DW_AT_type : <0x91>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 1256
+ <6e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xd6): format
+ <76> DW_AT_type : <0xa3>
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 1257
+ <7d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><80>: Abbrev Number: 5 (DW_TAG_member)
+ <81> DW_AT_name : (indirect string, offset: 0x180): reserved
+ <85> DW_AT_type : <0x5e7>
+ <89> DW_AT_decl_file : 2
+ <8a> DW_AT_decl_line : 1258
+ <8c> DW_AT_data_member_location: 3 byte block: 23 d8 1 (DW_OP_plus_uconst: 216)
+ <2><90>: Abbrev Number: 0
+ <1><91>: Abbrev Number: 3 (DW_TAG_typedef)
+ <92> DW_AT_type : <0x9c>
+ <96> DW_AT_name : (indirect string, offset: 0xc3): __u32
+ <9a> DW_AT_decl_file : 1
+ <9b> DW_AT_decl_line : 28
+ <1><9c>: Abbrev Number: 6 (DW_TAG_base_type)
+ <9d> DW_AT_name : (indirect string, offset: 0xb6): unsigned int
+ <a1> DW_AT_encoding : 7 (unsigned)
+ <a2> DW_AT_byte_size : 4
+ <1><a3>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <a4> DW_AT_name : (indirect string, offset: 0x337): v4l2_format
+ <a8> DW_AT_byte_size : 204
+ <a9> DW_AT_decl_file : 2
+ <aa> DW_AT_decl_line : 1141
+ <2><ac>: Abbrev Number: 5 (DW_TAG_member)
+ <ad> DW_AT_name : (indirect string, offset: 0xdd): type
+ <b1> DW_AT_type : <0x91>
+ <b5> DW_AT_decl_file : 2
+ <b6> DW_AT_decl_line : 1142
+ <b8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><bb>: Abbrev Number: 5 (DW_TAG_member)
+ <bc> DW_AT_name : (indirect string, offset: 0xe2): fmt
+ <c0> DW_AT_type : <0xca>
+ <c4> DW_AT_decl_file : 2
+ <c5> DW_AT_decl_line : 1152
+ <c7> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><ca>: Abbrev Number: 7 (DW_TAG_union_type)
+ <cb> DW_AT_byte_size : 200
+ <cc> DW_AT_decl_file : 2
+ <cd> DW_AT_decl_line : 1143
+ <3><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0xe6): pix
+ <d4> DW_AT_type : <0x149>
+ <d8> DW_AT_decl_file : 2
+ <d9> DW_AT_decl_line : 1144
+ <db> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><de>: Abbrev Number: 5 (DW_TAG_member)
+ <df> DW_AT_name : (indirect string, offset: 0x16f): pix_mp
+ <e3> DW_AT_type : <0x217>
+ <e7> DW_AT_decl_file : 2
+ <e8> DW_AT_decl_line : 1145
+ <ea> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ed>: Abbrev Number: 5 (DW_TAG_member)
+ <ee> DW_AT_name : (indirect string, offset: 0x1f2): win
+ <f2> DW_AT_type : <0x384>
+ <f6> DW_AT_decl_file : 2
+ <f7> DW_AT_decl_line : 1146
+ <f9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><fc>: Abbrev Number: 5 (DW_TAG_member)
+ <fd> DW_AT_name : (indirect string, offset: 0x260): vbi
+ <101> DW_AT_type : <0x478>
+ <105> DW_AT_decl_file : 2
+ <106> DW_AT_decl_line : 1147
+ <108> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><10b>: Abbrev Number: 5 (DW_TAG_member)
+ <10c> DW_AT_name : (indirect string, offset: 0x2ae): sliced
+ <110> DW_AT_type : <0x514>
+ <114> DW_AT_decl_file : 2
+ <115> DW_AT_decl_line : 1148
+ <117> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><11a>: Abbrev Number: 5 (DW_TAG_member)
+ <11b> DW_AT_name : (indirect string, offset: 0x2ee): sdr
+ <11f> DW_AT_type : <0x56e>
+ <123> DW_AT_decl_file : 2
+ <124> DW_AT_decl_line : 1149
+ <126> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><129>: Abbrev Number: 5 (DW_TAG_member)
+ <12a> DW_AT_name : (indirect string, offset: 0x30d): meta
+ <12e> DW_AT_type : <0x5b2>
+ <132> DW_AT_decl_file : 2
+ <133> DW_AT_decl_line : 1150
+ <135> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><138>: Abbrev Number: 5 (DW_TAG_member)
+ <139> DW_AT_name : (indirect string, offset: 0x32e): raw_data
+ <13d> DW_AT_type : <0x5da>
+ <141> DW_AT_decl_file : 2
+ <142> DW_AT_decl_line : 1151
+ <144> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><147>: Abbrev Number: 0
+ <2><148>: Abbrev Number: 0
+ <1><149>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <14a> DW_AT_name : (indirect string, offset: 0x15f): v4l2_pix_format
+ <14e> DW_AT_byte_size : 48
+ <14f> DW_AT_decl_file : 2
+ <150> DW_AT_decl_line : 182
+ <2><151>: Abbrev Number: 9 (DW_TAG_member)
+ <152> DW_AT_name : (indirect string, offset: 0xea): width
+ <156> DW_AT_type : <0x91>
+ <15a> DW_AT_decl_file : 2
+ <15b> DW_AT_decl_line : 183
+ <15c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><15f>: Abbrev Number: 9 (DW_TAG_member)
+ <160> DW_AT_name : (indirect string, offset: 0xf0): height
+ <164> DW_AT_type : <0x91>
+ <168> DW_AT_decl_file : 2
+ <169> DW_AT_decl_line : 184
+ <16a> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><16d>: Abbrev Number: 9 (DW_TAG_member)
+ <16e> DW_AT_name : (indirect string, offset: 0xf7): pixelformat
+ <172> DW_AT_type : <0x91>
+ <176> DW_AT_decl_file : 2
+ <177> DW_AT_decl_line : 185
+ <178> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><17b>: Abbrev Number: 9 (DW_TAG_member)
+ <17c> DW_AT_name : (indirect string, offset: 0x103): field
+ <180> DW_AT_type : <0x91>
+ <184> DW_AT_decl_file : 2
+ <185> DW_AT_decl_line : 186
+ <186> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><189>: Abbrev Number: 9 (DW_TAG_member)
+ <18a> DW_AT_name : (indirect string, offset: 0x109): bytesperline
+ <18e> DW_AT_type : <0x91>
+ <192> DW_AT_decl_file : 2
+ <193> DW_AT_decl_line : 187
+ <194> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><197>: Abbrev Number: 9 (DW_TAG_member)
+ <198> DW_AT_name : (indirect string, offset: 0x116): sizeimage
+ <19c> DW_AT_type : <0x91>
+ <1a0> DW_AT_decl_file : 2
+ <1a1> DW_AT_decl_line : 188
+ <1a2> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><1a5>: Abbrev Number: 9 (DW_TAG_member)
+ <1a6> DW_AT_name : (indirect string, offset: 0x120): colorspace
+ <1aa> DW_AT_type : <0x91>
+ <1ae> DW_AT_decl_file : 2
+ <1af> DW_AT_decl_line : 189
+ <1b0> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><1b3>: Abbrev Number: 9 (DW_TAG_member)
+ <1b4> DW_AT_name : (indirect string, offset: 0x12b): priv
+ <1b8> DW_AT_type : <0x91>
+ <1bc> DW_AT_decl_file : 2
+ <1bd> DW_AT_decl_line : 190
+ <1be> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><1c1>: Abbrev Number: 9 (DW_TAG_member)
+ <1c2> DW_AT_name : (indirect string, offset: 0x130): flags
+ <1c6> DW_AT_type : <0x91>
+ <1ca> DW_AT_decl_file : 2
+ <1cb> DW_AT_decl_line : 191
+ <1cc> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><1cf>: Abbrev Number: 10 (DW_TAG_member)
+ <1d0> DW_AT_type : <0x1d9>
+ <1d4> DW_AT_decl_file : 2
+ <1d5> DW_AT_decl_line : 192
+ <1d6> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><1d9>: Abbrev Number: 11 (DW_TAG_union_type)
+ <1da> DW_AT_byte_size : 4
+ <1db> DW_AT_decl_file : 2
+ <1dc> DW_AT_decl_line : 192
+ <3><1dd>: Abbrev Number: 9 (DW_TAG_member)
+ <1de> DW_AT_name : (indirect string, offset: 0x136): ycbcr_enc
+ <1e2> DW_AT_type : <0x91>
+ <1e6> DW_AT_decl_file : 2
+ <1e7> DW_AT_decl_line : 193
+ <1e8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1eb>: Abbrev Number: 9 (DW_TAG_member)
+ <1ec> DW_AT_name : (indirect string, offset: 0x140): hsv_enc
+ <1f0> DW_AT_type : <0x91>
+ <1f4> DW_AT_decl_file : 2
+ <1f5> DW_AT_decl_line : 194
+ <1f6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1f9>: Abbrev Number: 0
+ <2><1fa>: Abbrev Number: 9 (DW_TAG_member)
+ <1fb> DW_AT_name : (indirect string, offset: 0x148): quantization
+ <1ff> DW_AT_type : <0x91>
+ <203> DW_AT_decl_file : 2
+ <204> DW_AT_decl_line : 196
+ <205> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><208>: Abbrev Number: 9 (DW_TAG_member)
+ <209> DW_AT_name : (indirect string, offset: 0x155): xfer_func
+ <20d> DW_AT_type : <0x91>
+ <211> DW_AT_decl_file : 2
+ <212> DW_AT_decl_line : 197
+ <213> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><216>: Abbrev Number: 0
+ <1><217>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <218> DW_AT_name : (indirect string, offset: 0x1db): v4l2_pix_format_mplane
+ <21c> DW_AT_byte_size : 192
+ <21d> DW_AT_decl_file : 2
+ <21e> DW_AT_decl_line : 1115
+ <2><220>: Abbrev Number: 5 (DW_TAG_member)
+ <221> DW_AT_name : (indirect string, offset: 0xea): width
+ <225> DW_AT_type : <0x91>
+ <229> DW_AT_decl_file : 2
+ <22a> DW_AT_decl_line : 1116
+ <22c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><22f>: Abbrev Number: 5 (DW_TAG_member)
+ <230> DW_AT_name : (indirect string, offset: 0xf0): height
+ <234> DW_AT_type : <0x91>
+ <238> DW_AT_decl_file : 2
+ <239> DW_AT_decl_line : 1117
+ <23b> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><23e>: Abbrev Number: 5 (DW_TAG_member)
+ <23f> DW_AT_name : (indirect string, offset: 0xf7): pixelformat
+ <243> DW_AT_type : <0x91>
+ <247> DW_AT_decl_file : 2
+ <248> DW_AT_decl_line : 1118
+ <24a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><24d>: Abbrev Number: 5 (DW_TAG_member)
+ <24e> DW_AT_name : (indirect string, offset: 0x103): field
+ <252> DW_AT_type : <0x91>
+ <256> DW_AT_decl_file : 2
+ <257> DW_AT_decl_line : 1119
+ <259> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><25c>: Abbrev Number: 5 (DW_TAG_member)
+ <25d> DW_AT_name : (indirect string, offset: 0x120): colorspace
+ <261> DW_AT_type : <0x91>
+ <265> DW_AT_decl_file : 2
+ <266> DW_AT_decl_line : 1120
+ <268> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><26b>: Abbrev Number: 5 (DW_TAG_member)
+ <26c> DW_AT_name : (indirect string, offset: 0x176): plane_fmt
+ <270> DW_AT_type : <0x2fb>
+ <274> DW_AT_decl_file : 2
+ <275> DW_AT_decl_line : 1121
+ <277> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><27a>: Abbrev Number: 5 (DW_TAG_member)
+ <27b> DW_AT_name : (indirect string, offset: 0x1bd): num_planes
+ <27f> DW_AT_type : <0x365>
+ <283> DW_AT_decl_file : 2
+ <284> DW_AT_decl_line : 1122
+ <286> DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180)
+ <2><28a>: Abbrev Number: 5 (DW_TAG_member)
+ <28b> DW_AT_name : (indirect string, offset: 0x130): flags
+ <28f> DW_AT_type : <0x365>
+ <293> DW_AT_decl_file : 2
+ <294> DW_AT_decl_line : 1123
+ <296> DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181)
+ <2><29a>: Abbrev Number: 12 (DW_TAG_member)
+ <29b> DW_AT_type : <0x2a6>
+ <29f> DW_AT_decl_file : 2
+ <2a0> DW_AT_decl_line : 1124
+ <2a2> DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182)
+ <2><2a6>: Abbrev Number: 7 (DW_TAG_union_type)
+ <2a7> DW_AT_byte_size : 1
+ <2a8> DW_AT_decl_file : 2
+ <2a9> DW_AT_decl_line : 1124
+ <3><2ab>: Abbrev Number: 5 (DW_TAG_member)
+ <2ac> DW_AT_name : (indirect string, offset: 0x136): ycbcr_enc
+ <2b0> DW_AT_type : <0x365>
+ <2b4> DW_AT_decl_file : 2
+ <2b5> DW_AT_decl_line : 1125
+ <2b7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2ba>: Abbrev Number: 5 (DW_TAG_member)
+ <2bb> DW_AT_name : (indirect string, offset: 0x140): hsv_enc
+ <2bf> DW_AT_type : <0x365>
+ <2c3> DW_AT_decl_file : 2
+ <2c4> DW_AT_decl_line : 1126
+ <2c6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><2c9>: Abbrev Number: 0
+ <2><2ca>: Abbrev Number: 5 (DW_TAG_member)
+ <2cb> DW_AT_name : (indirect string, offset: 0x148): quantization
+ <2cf> DW_AT_type : <0x365>
+ <2d3> DW_AT_decl_file : 2
+ <2d4> DW_AT_decl_line : 1128
+ <2d6> DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183)
+ <2><2da>: Abbrev Number: 5 (DW_TAG_member)
+ <2db> DW_AT_name : (indirect string, offset: 0x155): xfer_func
+ <2df> DW_AT_type : <0x365>
+ <2e3> DW_AT_decl_file : 2
+ <2e4> DW_AT_decl_line : 1129
+ <2e6> DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184)
+ <2><2ea>: Abbrev Number: 5 (DW_TAG_member)
+ <2eb> DW_AT_name : (indirect string, offset: 0x180): reserved
+ <2ef> DW_AT_type : <0x377>
+ <2f3> DW_AT_decl_file : 2
+ <2f4> DW_AT_decl_line : 1130
+ <2f6> DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185)
+ <2><2fa>: Abbrev Number: 0
+ <1><2fb>: Abbrev Number: 13 (DW_TAG_array_type)
+ <2fc> DW_AT_type : <0x308>
+ <2><300>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <301> DW_AT_type : <0x35e>
+ <305> DW_AT_lower_bound : 0
+ <306> DW_AT_count : 8
+ <2><307>: Abbrev Number: 0
+ <1><308>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <309> DW_AT_name : (indirect string, offset: 0x1a7): v4l2_plane_pix_format
+ <30d> DW_AT_byte_size : 20
+ <30e> DW_AT_decl_file : 2
+ <30f> DW_AT_decl_line : 1110
+ <2><311>: Abbrev Number: 5 (DW_TAG_member)
+ <312> DW_AT_name : (indirect string, offset: 0x116): sizeimage
+ <316> DW_AT_type : <0x91>
+ <31a> DW_AT_decl_file : 2
+ <31b> DW_AT_decl_line : 1111
+ <31d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><320>: Abbrev Number: 5 (DW_TAG_member)
+ <321> DW_AT_name : (indirect string, offset: 0x109): bytesperline
+ <325> DW_AT_type : <0x91>
+ <329> DW_AT_decl_file : 2
+ <32a> DW_AT_decl_line : 1112
+ <32c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><32f>: Abbrev Number: 5 (DW_TAG_member)
+ <330> DW_AT_name : (indirect string, offset: 0x180): reserved
+ <334> DW_AT_type : <0x33f>
+ <338> DW_AT_decl_file : 2
+ <339> DW_AT_decl_line : 1113
+ <33b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><33e>: Abbrev Number: 0
+ <1><33f>: Abbrev Number: 13 (DW_TAG_array_type)
+ <340> DW_AT_type : <0x34c>
+ <2><344>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <345> DW_AT_type : <0x35e>
+ <349> DW_AT_lower_bound : 0
+ <34a> DW_AT_count : 6
+ <2><34b>: Abbrev Number: 0
+ <1><34c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <34d> DW_AT_type : <0x357>
+ <351> DW_AT_name : (indirect string, offset: 0x198): __u16
+ <355> DW_AT_decl_file : 1
+ <356> DW_AT_decl_line : 26
+ <1><357>: Abbrev Number: 6 (DW_TAG_base_type)
+ <358> DW_AT_name : (indirect string, offset: 0x189): unsigned short
+ <35c> DW_AT_encoding : 7 (unsigned)
+ <35d> DW_AT_byte_size : 2
+ <1><35e>: Abbrev Number: 15 (DW_TAG_base_type)
+ <35f> DW_AT_name : (indirect string, offset: 0x19e): sizetype
+ <363> DW_AT_byte_size : 8
+ <364> DW_AT_encoding : 7 (unsigned)
+ <1><365>: Abbrev Number: 3 (DW_TAG_typedef)
+ <366> DW_AT_type : <0x370>
+ <36a> DW_AT_name : (indirect string, offset: 0x1d6): __u8
+ <36e> DW_AT_decl_file : 1
+ <36f> DW_AT_decl_line : 24
+ <1><370>: Abbrev Number: 6 (DW_TAG_base_type)
+ <371> DW_AT_name : (indirect string, offset: 0x1c8): unsigned char
+ <375> DW_AT_encoding : 8 (unsigned char)
+ <376> DW_AT_byte_size : 1
+ <1><377>: Abbrev Number: 13 (DW_TAG_array_type)
+ <378> DW_AT_type : <0x365>
+ <2><37c>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <37d> DW_AT_type : <0x35e>
+ <381> DW_AT_lower_bound : 0
+ <382> DW_AT_count : 7
+ <2><383>: Abbrev Number: 0
+ <1><384>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <385> DW_AT_name : (indirect string, offset: 0x254): v4l2_window
+ <389> DW_AT_byte_size : 40
+ <38a> DW_AT_decl_file : 2
+ <38b> DW_AT_decl_line : 547
+ <2><38d>: Abbrev Number: 5 (DW_TAG_member)
+ <38e> DW_AT_name : (indirect string, offset: 0x1f6): w
+ <392> DW_AT_type : <0x3f7>
+ <396> DW_AT_decl_file : 2
+ <397> DW_AT_decl_line : 548
+ <399> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><39c>: Abbrev Number: 5 (DW_TAG_member)
+ <39d> DW_AT_name : (indirect string, offset: 0x103): field
+ <3a1> DW_AT_type : <0x91>
+ <3a5> DW_AT_decl_file : 2
+ <3a6> DW_AT_decl_line : 549
+ <3a8> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><3ab>: Abbrev Number: 5 (DW_TAG_member)
+ <3ac> DW_AT_name : (indirect string, offset: 0x215): chromakey
+ <3b0> DW_AT_type : <0x91>
+ <3b4> DW_AT_decl_file : 2
+ <3b5> DW_AT_decl_line : 550
+ <3b7> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><3ba>: Abbrev Number: 5 (DW_TAG_member)
+ <3bb> DW_AT_name : (indirect string, offset: 0x21f): clips
+ <3bf> DW_AT_type : <0x44a>
+ <3c3> DW_AT_decl_file : 2
+ <3c4> DW_AT_decl_line : 551
+ <3c6> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><3c9>: Abbrev Number: 5 (DW_TAG_member)
+ <3ca> DW_AT_name : (indirect string, offset: 0x236): clipcount
+ <3ce> DW_AT_type : <0x91>
+ <3d2> DW_AT_decl_file : 2
+ <3d3> DW_AT_decl_line : 552
+ <3d5> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><3d8>: Abbrev Number: 5 (DW_TAG_member)
+ <3d9> DW_AT_name : (indirect string, offset: 0x240): bitmap
+ <3dd> DW_AT_type : <0x477>
+ <3e1> DW_AT_decl_file : 2
+ <3e2> DW_AT_decl_line : 553
+ <3e4> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><3e7>: Abbrev Number: 5 (DW_TAG_member)
+ <3e8> DW_AT_name : (indirect string, offset: 0x247): global_alpha
+ <3ec> DW_AT_type : <0x365>
+ <3f0> DW_AT_decl_file : 2
+ <3f1> DW_AT_decl_line : 554
+ <3f3> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><3f6>: Abbrev Number: 0
+ <1><3f7>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <3f8> DW_AT_name : (indirect string, offset: 0x20b): v4l2_rect
+ <3fc> DW_AT_byte_size : 16
+ <3fd> DW_AT_decl_file : 2
+ <3fe> DW_AT_decl_line : 135
+ <2><3ff>: Abbrev Number: 9 (DW_TAG_member)
+ <400> DW_AT_name : (indirect string, offset: 0x1f8): left
+ <404> DW_AT_type : <0x438>
+ <408> DW_AT_decl_file : 2
+ <409> DW_AT_decl_line : 136
+ <40a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><40d>: Abbrev Number: 9 (DW_TAG_member)
+ <40e> DW_AT_name : (indirect string, offset: 0x207): top
+ <412> DW_AT_type : <0x438>
+ <416> DW_AT_decl_file : 2
+ <417> DW_AT_decl_line : 137
+ <418> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><41b>: Abbrev Number: 9 (DW_TAG_member)
+ <41c> DW_AT_name : (indirect string, offset: 0xea): width
+ <420> DW_AT_type : <0x91>
+ <424> DW_AT_decl_file : 2
+ <425> DW_AT_decl_line : 138
+ <426> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><429>: Abbrev Number: 9 (DW_TAG_member)
+ <42a> DW_AT_name : (indirect string, offset: 0xf0): height
+ <42e> DW_AT_type : <0x91>
+ <432> DW_AT_decl_file : 2
+ <433> DW_AT_decl_line : 139
+ <434> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><437>: Abbrev Number: 0
+ <1><438>: Abbrev Number: 3 (DW_TAG_typedef)
+ <439> DW_AT_type : <0x443>
+ <43d> DW_AT_name : (indirect string, offset: 0x201): __s32
+ <441> DW_AT_decl_file : 1
+ <442> DW_AT_decl_line : 27
+ <1><443>: Abbrev Number: 6 (DW_TAG_base_type)
+ <444> DW_AT_name : (indirect string, offset: 0x1fd): int
+ <448> DW_AT_encoding : 5 (signed)
+ <449> DW_AT_byte_size : 4
+ <1><44a>: Abbrev Number: 16 (DW_TAG_pointer_type)
+ <44b> DW_AT_type : <0x44f>
+ <1><44f>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <450> DW_AT_name : (indirect string, offset: 0x22c): v4l2_clip
+ <454> DW_AT_byte_size : 20
+ <455> DW_AT_decl_file : 2
+ <456> DW_AT_decl_line : 543
+ <2><458>: Abbrev Number: 5 (DW_TAG_member)
+ <459> DW_AT_name : (indirect string, offset: 0x225): c
+ <45d> DW_AT_type : <0x3f7>
+ <461> DW_AT_decl_file : 2
+ <462> DW_AT_decl_line : 544
+ <464> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><467>: Abbrev Number: 5 (DW_TAG_member)
+ <468> DW_AT_name : (indirect string, offset: 0x227): next
+ <46c> DW_AT_type : <0x44a>
+ <470> DW_AT_decl_file : 2
+ <471> DW_AT_decl_line : 545
+ <473> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><476>: Abbrev Number: 0
+ <1><477>: Abbrev Number: 17 (DW_TAG_pointer_type)
+ <1><478>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <479> DW_AT_name : (indirect string, offset: 0x29e): v4l2_vbi_format
+ <47d> DW_AT_byte_size : 44
+ <47e> DW_AT_decl_file : 2
+ <47f> DW_AT_decl_line : 1045
+ <2><481>: Abbrev Number: 5 (DW_TAG_member)
+ <482> DW_AT_name : (indirect string, offset: 0x264): sampling_rate
+ <486> DW_AT_type : <0x91>
+ <48a> DW_AT_decl_file : 2
+ <48b> DW_AT_decl_line : 1046
+ <48d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><490>: Abbrev Number: 5 (DW_TAG_member)
+ <491> DW_AT_name : (indirect string, offset: 0x272): offset
+ <495> DW_AT_type : <0x91>
+ <499> DW_AT_decl_file : 2
+ <49a> DW_AT_decl_line : 1047
+ <49c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><49f>: Abbrev Number: 5 (DW_TAG_member)
+ <4a0> DW_AT_name : (indirect string, offset: 0x279): samples_per_line
+ <4a4> DW_AT_type : <0x91>
+ <4a8> DW_AT_decl_file : 2
+ <4a9> DW_AT_decl_line : 1048
+ <4ab> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><4ae>: Abbrev Number: 5 (DW_TAG_member)
+ <4af> DW_AT_name : (indirect string, offset: 0x28a): sample_format
+ <4b3> DW_AT_type : <0x91>
+ <4b7> DW_AT_decl_file : 2
+ <4b8> DW_AT_decl_line : 1049
+ <4ba> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><4bd>: Abbrev Number: 5 (DW_TAG_member)
+ <4be> DW_AT_name : (indirect string, offset: 0x298): start
+ <4c2> DW_AT_type : <0x4fa>
+ <4c6> DW_AT_decl_file : 2
+ <4c7> DW_AT_decl_line : 1050
+ <4c9> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><4cc>: Abbrev Number: 5 (DW_TAG_member)
+ <4cd> DW_AT_name : (indirect string, offset: 0xc9): count
+ <4d1> DW_AT_type : <0x507>
+ <4d5> DW_AT_decl_file : 2
+ <4d6> DW_AT_decl_line : 1051
+ <4d8> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><4db>: Abbrev Number: 5 (DW_TAG_member)
+ <4dc> DW_AT_name : (indirect string, offset: 0x130): flags
+ <4e0> DW_AT_type : <0x91>
+ <4e4> DW_AT_decl_file : 2
+ <4e5> DW_AT_decl_line : 1052
+ <4e7> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><4ea>: Abbrev Number: 5 (DW_TAG_member)
+ <4eb> DW_AT_name : (indirect string, offset: 0x180): reserved
+ <4ef> DW_AT_type : <0x507>
+ <4f3> DW_AT_decl_file : 2
+ <4f4> DW_AT_decl_line : 1053
+ <4f6> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><4f9>: Abbrev Number: 0
+ <1><4fa>: Abbrev Number: 13 (DW_TAG_array_type)
+ <4fb> DW_AT_type : <0x438>
+ <2><4ff>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <500> DW_AT_type : <0x35e>
+ <504> DW_AT_lower_bound : 0
+ <505> DW_AT_count : 2
+ <2><506>: Abbrev Number: 0
+ <1><507>: Abbrev Number: 13 (DW_TAG_array_type)
+ <508> DW_AT_type : <0x91>
+ <2><50c>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <50d> DW_AT_type : <0x35e>
+ <511> DW_AT_lower_bound : 0
+ <512> DW_AT_count : 2
+ <2><513>: Abbrev Number: 0
+ <1><514>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <515> DW_AT_name : (indirect string, offset: 0x2d7): v4l2_sliced_vbi_format
+ <519> DW_AT_byte_size : 112
+ <51a> DW_AT_decl_file : 2
+ <51b> DW_AT_decl_line : 1061
+ <2><51d>: Abbrev Number: 5 (DW_TAG_member)
+ <51e> DW_AT_name : (indirect string, offset: 0x2b5): service_set
+ <522> DW_AT_type : <0x34c>
+ <526> DW_AT_decl_file : 2
+ <527> DW_AT_decl_line : 1062
+ <529> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><52c>: Abbrev Number: 5 (DW_TAG_member)
+ <52d> DW_AT_name : (indirect string, offset: 0x2c1): service_lines
+ <531> DW_AT_type : <0x55a>
+ <535> DW_AT_decl_file : 2
+ <536> DW_AT_decl_line : 1063
+ <538> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><53b>: Abbrev Number: 5 (DW_TAG_member)
+ <53c> DW_AT_name : (indirect string, offset: 0x2cf): io_size
+ <540> DW_AT_type : <0x91>
+ <544> DW_AT_decl_file : 2
+ <545> DW_AT_decl_line : 1064
+ <547> DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100)
+ <2><54a>: Abbrev Number: 5 (DW_TAG_member)
+ <54b> DW_AT_name : (indirect string, offset: 0x180): reserved
+ <54f> DW_AT_type : <0x507>
+ <553> DW_AT_decl_file : 2
+ <554> DW_AT_decl_line : 1065
+ <556> DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104)
+ <2><559>: Abbrev Number: 0
+ <1><55a>: Abbrev Number: 13 (DW_TAG_array_type)
+ <55b> DW_AT_type : <0x34c>
+ <2><55f>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <560> DW_AT_type : <0x35e>
+ <564> DW_AT_lower_bound : 0
+ <565> DW_AT_count : 2
+ <2><566>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <567> DW_AT_type : <0x35e>
+ <56b> DW_AT_lower_bound : 0
+ <56c> DW_AT_count : 24
+ <2><56d>: Abbrev Number: 0
+ <1><56e>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <56f> DW_AT_name : (indirect string, offset: 0x2fd): v4l2_sdr_format
+ <573> DW_AT_byte_size : 32
+ <574> DW_AT_decl_file : 2
+ <575> DW_AT_decl_line : 1132
+ <2><577>: Abbrev Number: 5 (DW_TAG_member)
+ <578> DW_AT_name : (indirect string, offset: 0xf7): pixelformat
+ <57c> DW_AT_type : <0x91>
+ <580> DW_AT_decl_file : 2
+ <581> DW_AT_decl_line : 1133
+ <583> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><586>: Abbrev Number: 5 (DW_TAG_member)
+ <587> DW_AT_name : (indirect string, offset: 0x2f2): buffersize
+ <58b> DW_AT_type : <0x91>
+ <58f> DW_AT_decl_file : 2
+ <590> DW_AT_decl_line : 1134
+ <592> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><595>: Abbrev Number: 5 (DW_TAG_member)
+ <596> DW_AT_name : (indirect string, offset: 0x180): reserved
+ <59a> DW_AT_type : <0x5a5>
+ <59e> DW_AT_decl_file : 2
+ <59f> DW_AT_decl_line : 1135
+ <5a1> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><5a4>: Abbrev Number: 0
+ <1><5a5>: Abbrev Number: 13 (DW_TAG_array_type)
+ <5a6> DW_AT_type : <0x365>
+ <2><5aa>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <5ab> DW_AT_type : <0x35e>
+ <5af> DW_AT_lower_bound : 0
+ <5b0> DW_AT_count : 24
+ <2><5b1>: Abbrev Number: 0
+ <1><5b2>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <5b3> DW_AT_name : (indirect string, offset: 0x31d): v4l2_meta_format
+ <5b7> DW_AT_byte_size : 8
+ <5b8> DW_AT_decl_file : 2
+ <5b9> DW_AT_decl_line : 1137
+ <2><5bb>: Abbrev Number: 5 (DW_TAG_member)
+ <5bc> DW_AT_name : (indirect string, offset: 0x312): dataformat
+ <5c0> DW_AT_type : <0x91>
+ <5c4> DW_AT_decl_file : 2
+ <5c5> DW_AT_decl_line : 1138
+ <5c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><5ca>: Abbrev Number: 5 (DW_TAG_member)
+ <5cb> DW_AT_name : (indirect string, offset: 0x2f2): buffersize
+ <5cf> DW_AT_type : <0x91>
+ <5d3> DW_AT_decl_file : 2
+ <5d4> DW_AT_decl_line : 1139
+ <5d6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5d9>: Abbrev Number: 0
+ <1><5da>: Abbrev Number: 13 (DW_TAG_array_type)
+ <5db> DW_AT_type : <0x365>
+ <2><5df>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <5e0> DW_AT_type : <0x35e>
+ <5e4> DW_AT_lower_bound : 0
+ <5e5> DW_AT_count : 200
+ <2><5e6>: Abbrev Number: 0
+ <1><5e7>: Abbrev Number: 13 (DW_TAG_array_type)
+ <5e8> DW_AT_type : <0x91>
+ <2><5ec>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <5ed> DW_AT_type : <0x35e>
+ <5f1> DW_AT_lower_bound : 0
+ <5f2> DW_AT_count : 8
+ <2><5f3>: Abbrev Number: 0
+ <1><5f4>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_create_buffers.d2 b/mpers-m32/struct_v4l2_create_buffers.d2
new file mode 100644
index 00000000..c71641dc
--- /dev/null
+++ b/mpers-m32/struct_v4l2_create_buffers.d2
@@ -0,0 +1,762 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9f): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x357): struct_v4l2_create_buffers
+DW_AT_decl_file : 3
+DW_AT_decl_line : 44
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x343): v4l2_create_buffers
+DW_AT_byte_size : 248
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1253
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xb0): index
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1254
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc9): count
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1255
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): memory
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1256
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd6): format
+DW_AT_type : <0xa3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1257
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><80>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): reserved
+DW_AT_type : <0x5e7>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1258
+DW_AT_data_member_location: 3 byte block: 23 d8 1 (DW_OP_plus_uconst: 216)
+<1><91>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x9c>
+DW_AT_name : (indirect string, offset: 0xc3): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><9c>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb6): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><a3>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x337): v4l2_format
+DW_AT_byte_size : 204
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1141
+<2><ac>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdd): type
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1142
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><bb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe2): fmt
+DW_AT_type : <0xca>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1152
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><ca>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 200
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1143
+<3><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe6): pix
+DW_AT_type : <0x149>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1144
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><de>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x16f): pix_mp
+DW_AT_type : <0x217>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1145
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><ed>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f2): win
+DW_AT_type : <0x384>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1146
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><fc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x260): vbi
+DW_AT_type : <0x478>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1147
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><10b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2ae): sliced
+DW_AT_type : <0x514>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1148
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><11a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2ee): sdr
+DW_AT_type : <0x56e>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1149
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><129>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x30d): meta
+DW_AT_type : <0x5b2>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1150
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><138>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x32e): raw_data
+DW_AT_type : <0x5da>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1151
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><149>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x15f): v4l2_pix_format
+DW_AT_byte_size : 48
+DW_AT_decl_file : 2
+DW_AT_decl_line : 182
+<2><151>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xea): width
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 183
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><15f>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): height
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 184
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><16d>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): pixelformat
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 185
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><17b>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x103): field
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 186
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><189>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x109): bytesperline
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 187
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><197>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): sizeimage
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 188
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><1a5>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x120): colorspace
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 189
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><1b3>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): priv
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 190
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><1c1>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x130): flags
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 191
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><1cf>
+Abbrev Number: 10 (DW_TAG_member)
+DW_AT_type : <0x1d9>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 192
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><1d9>
+Abbrev Number: 11 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 192
+<3><1dd>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): ycbcr_enc
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 193
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><1eb>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x140): hsv_enc
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 194
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1fa>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x148): quantization
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 196
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><208>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x155): xfer_func
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 197
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<1><217>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1db): v4l2_pix_format_mplane
+DW_AT_byte_size : 192
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1115
+<2><220>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xea): width
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1116
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><22f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): height
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1117
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><23e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): pixelformat
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1118
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><24d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x103): field
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1119
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><25c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x120): colorspace
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1120
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><26b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x176): plane_fmt
+DW_AT_type : <0x2fb>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1121
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><27a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1bd): num_planes
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1122
+DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180)
+<2><28a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x130): flags
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1123
+DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181)
+<2><29a>
+Abbrev Number: 12 (DW_TAG_member)
+DW_AT_type : <0x2a6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1124
+DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182)
+<2><2a6>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1124
+<3><2ab>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): ycbcr_enc
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1125
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><2ba>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x140): hsv_enc
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1126
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><2ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x148): quantization
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1128
+DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183)
+<2><2da>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x155): xfer_func
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1129
+DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184)
+<2><2ea>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): reserved
+DW_AT_type : <0x377>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1130
+DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185)
+<1><2fb>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x308>
+<2><300>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 8
+<1><308>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1a7): v4l2_plane_pix_format
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1110
+<2><311>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): sizeimage
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1111
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><320>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x109): bytesperline
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1112
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><32f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): reserved
+DW_AT_type : <0x33f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1113
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><33f>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x34c>
+<2><344>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 6
+<1><34c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x357>
+DW_AT_name : (indirect string, offset: 0x198): __u16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><357>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x189): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><35e>
+Abbrev Number: 15 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x19e): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><365>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x370>
+DW_AT_name : (indirect string, offset: 0x1d6): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><370>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1c8): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><377>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x365>
+<2><37c>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 7
+<1><384>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x254): v4l2_window
+DW_AT_byte_size : 40
+DW_AT_decl_file : 2
+DW_AT_decl_line : 547
+<2><38d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f6): w
+DW_AT_type : <0x3f7>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 548
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><39c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x103): field
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 549
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><3ab>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x215): chromakey
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 550
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><3ba>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21f): clips
+DW_AT_type : <0x44a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 551
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><3c9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x236): clipcount
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 552
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><3d8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x240): bitmap
+DW_AT_type : <0x477>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 553
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><3e7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x247): global_alpha
+DW_AT_type : <0x365>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 554
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<1><3f7>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x20b): v4l2_rect
+DW_AT_byte_size : 16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 135
+<2><3ff>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f8): left
+DW_AT_type : <0x438>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 136
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><40d>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x207): top
+DW_AT_type : <0x438>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 137
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><41b>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xea): width
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 138
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><429>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf0): height
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 139
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><438>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x443>
+DW_AT_name : (indirect string, offset: 0x201): __s32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+<1><443>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1fd): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><44a>
+Abbrev Number: 16 (DW_TAG_pointer_type)
+DW_AT_type : <0x44f>
+<1><44f>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x22c): v4l2_clip
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 543
+<2><458>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x225): c
+DW_AT_type : <0x3f7>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 544
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><467>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x227): next
+DW_AT_type : <0x44a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 545
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<1><477>
+Abbrev Number: 17 (DW_TAG_pointer_type)
+<1><478>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x29e): v4l2_vbi_format
+DW_AT_byte_size : 44
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1045
+<2><481>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x264): sampling_rate
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1046
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><490>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x272): offset
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1047
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><49f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x279): samples_per_line
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1048
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><4ae>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x28a): sample_format
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1049
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><4bd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x298): start
+DW_AT_type : <0x4fa>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1050
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><4cc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc9): count
+DW_AT_type : <0x507>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1051
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><4db>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x130): flags
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1052
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><4ea>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): reserved
+DW_AT_type : <0x507>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1053
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<1><4fa>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x438>
+<2><4ff>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><507>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x91>
+<2><50c>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><514>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2d7): v4l2_sliced_vbi_format
+DW_AT_byte_size : 112
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1061
+<2><51d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2b5): service_set
+DW_AT_type : <0x34c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1062
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><52c>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2c1): service_lines
+DW_AT_type : <0x55a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1063
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><53b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2cf): io_size
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1064
+DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100)
+<2><54a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): reserved
+DW_AT_type : <0x507>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1065
+DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104)
+<1><55a>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x34c>
+<2><55f>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<2><566>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 24
+<1><56e>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2fd): v4l2_sdr_format
+DW_AT_byte_size : 32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1132
+<2><577>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf7): pixelformat
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1133
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><586>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f2): buffersize
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1134
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><595>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): reserved
+DW_AT_type : <0x5a5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1135
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><5a5>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x365>
+<2><5aa>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 24
+<1><5b2>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x31d): v4l2_meta_format
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1137
+<2><5bb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x312): dataformat
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1138
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><5ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f2): buffersize
+DW_AT_type : <0x91>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1139
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><5da>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x365>
+<2><5df>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 200
+<1><5e7>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x91>
+<2><5ec>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x35e>
+DW_AT_lower_bound : 0
+DW_AT_count : 8
diff --git a/mpers-m32/struct_v4l2_create_buffers.h b/mpers-m32/struct_v4l2_create_buffers.h
new file mode 100644
index 00000000..e91038c0
--- /dev/null
+++ b/mpers-m32/struct_v4l2_create_buffers.h
@@ -0,0 +1,98 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint32_t index;
+uint32_t count;
+uint32_t memory;
+struct {
+uint32_t type;
+union {
+struct {
+uint32_t width;
+uint32_t height;
+uint32_t pixelformat;
+uint32_t field;
+uint32_t bytesperline;
+uint32_t sizeimage;
+uint32_t colorspace;
+uint32_t priv;
+uint32_t flags;
+union {
+uint32_t ycbcr_enc;
+uint32_t hsv_enc;
+} ;
+uint32_t quantization;
+uint32_t xfer_func;
+} ATTRIBUTE_PACKED pix;
+struct {
+uint32_t width;
+uint32_t height;
+uint32_t pixelformat;
+uint32_t field;
+uint32_t colorspace;
+struct {
+uint32_t sizeimage;
+uint32_t bytesperline;
+uint16_t reserved[6];
+} ATTRIBUTE_PACKED plane_fmt[8];
+unsigned char num_planes;
+unsigned char flags;
+union {
+unsigned char ycbcr_enc;
+unsigned char hsv_enc;
+} ;
+unsigned char quantization;
+unsigned char xfer_func;
+unsigned char reserved[7];
+} ATTRIBUTE_PACKED pix_mp;
+struct {
+struct {
+int32_t left;
+int32_t top;
+uint32_t width;
+uint32_t height;
+} ATTRIBUTE_PACKED w;
+uint32_t field;
+uint32_t chromakey;
+mpers_ptr_t clips;
+uint32_t clipcount;
+mpers_ptr_t bitmap;
+unsigned char global_alpha;
+unsigned char mpers_end_filler_1[3];
+} ATTRIBUTE_PACKED win;
+struct {
+uint32_t sampling_rate;
+uint32_t offset;
+uint32_t samples_per_line;
+uint32_t sample_format;
+int32_t start[2];
+uint32_t count[2];
+uint32_t flags;
+uint32_t reserved[2];
+} ATTRIBUTE_PACKED vbi;
+struct {
+uint16_t service_set;
+uint16_t service_lines[2][24];
+unsigned char mpers_filler_2[2];
+uint32_t io_size;
+uint32_t reserved[2];
+} ATTRIBUTE_PACKED sliced;
+struct {
+uint32_t pixelformat;
+uint32_t buffersize;
+unsigned char reserved[24];
+} ATTRIBUTE_PACKED sdr;
+struct {
+uint32_t dataformat;
+uint32_t buffersize;
+} ATTRIBUTE_PACKED meta;
+unsigned char raw_data[200];
+} fmt;
+} ATTRIBUTE_PACKED format;
+uint32_t reserved[8];
+} ATTRIBUTE_PACKED m32_struct_v4l2_create_buffers;
+#define MPERS_m32_struct_v4l2_create_buffers m32_struct_v4l2_create_buffers
diff --git a/mpers-m32/struct_v4l2_ext_control.c b/mpers-m32/struct_v4l2_ext_control.c
new file mode 100644
index 00000000..b377e6b9
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_control.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_ext_control mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_ext_control.d1 b/mpers-m32/struct_v4l2_ext_control.d1
new file mode 100644
index 00000000..5ebcc89e
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_control.d1
@@ -0,0 +1,172 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x173 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_ext_control.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x61): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9c): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 1 0 0 0 (DW_OP_addr: 1)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x161): struct_v4l2_ext_control
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 46
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x150): v4l2_ext_control
+ <40> DW_AT_byte_size : 20
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 782
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xad): id
+ <49> DW_AT_type : <0xec>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 783
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xc3): size
+ <58> DW_AT_type : <0xec>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 784
+ <5f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xc8): reserved2
+ <67> DW_AT_type : <0xfe>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 785
+ <6e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><71>: Abbrev Number: 6 (DW_TAG_member)
+ <72> DW_AT_type : <0x7c>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 786
+ <79> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7c>: Abbrev Number: 7 (DW_TAG_union_type)
+ <7d> DW_AT_byte_size : 8
+ <7e> DW_AT_decl_file : 2
+ <7f> DW_AT_decl_line : 786
+ <3><81>: Abbrev Number: 5 (DW_TAG_member)
+ <82> DW_AT_name : (indirect string, offset: 0xdb): value
+ <86> DW_AT_type : <0x112>
+ <8a> DW_AT_decl_file : 2
+ <8b> DW_AT_decl_line : 787
+ <8d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><90>: Abbrev Number: 5 (DW_TAG_member)
+ <91> DW_AT_name : (indirect string, offset: 0xeb): value64
+ <95> DW_AT_type : <0x124>
+ <99> DW_AT_decl_file : 2
+ <9a> DW_AT_decl_line : 788
+ <9c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><9f>: Abbrev Number: 5 (DW_TAG_member)
+ <a0> DW_AT_name : (indirect string, offset: 0x107): string
+ <a4> DW_AT_type : <0x136>
+ <a8> DW_AT_decl_file : 2
+ <a9> DW_AT_decl_line : 789
+ <ab> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ae>: Abbrev Number: 5 (DW_TAG_member)
+ <af> DW_AT_name : (indirect string, offset: 0x113): p_u8
+ <b3> DW_AT_type : <0x142>
+ <b7> DW_AT_decl_file : 2
+ <b8> DW_AT_decl_line : 790
+ <ba> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><bd>: Abbrev Number: 5 (DW_TAG_member)
+ <be> DW_AT_name : (indirect string, offset: 0x12b): p_u16
+ <c2> DW_AT_type : <0x159>
+ <c6> DW_AT_decl_file : 2
+ <c7> DW_AT_decl_line : 791
+ <c9> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><cc>: Abbrev Number: 5 (DW_TAG_member)
+ <cd> DW_AT_name : (indirect string, offset: 0x146): p_u32
+ <d1> DW_AT_type : <0x170>
+ <d5> DW_AT_decl_file : 2
+ <d6> DW_AT_decl_line : 792
+ <d8> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><db>: Abbrev Number: 5 (DW_TAG_member)
+ <dc> DW_AT_name : (indirect string, offset: 0x14c): ptr
+ <e0> DW_AT_type : <0x175>
+ <e4> DW_AT_decl_file : 2
+ <e5> DW_AT_decl_line : 793
+ <e7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><ea>: Abbrev Number: 0
+ <2><eb>: Abbrev Number: 0
+ <1><ec>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ed> DW_AT_type : <0xf7>
+ <f1> DW_AT_name : (indirect string, offset: 0xbd): __u32
+ <f5> DW_AT_decl_file : 1
+ <f6> DW_AT_decl_line : 28
+ <1><f7>: Abbrev Number: 8 (DW_TAG_base_type)
+ <f8> DW_AT_name : (indirect string, offset: 0xb0): unsigned int
+ <fc> DW_AT_encoding : 7 (unsigned)
+ <fd> DW_AT_byte_size : 4
+ <1><fe>: Abbrev Number: 9 (DW_TAG_array_type)
+ <ff> DW_AT_type : <0xec>
+ <2><103>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <104> DW_AT_type : <0x10b>
+ <108> DW_AT_lower_bound : 0
+ <109> DW_AT_count : 1
+ <2><10a>: Abbrev Number: 0
+ <1><10b>: Abbrev Number: 11 (DW_TAG_base_type)
+ <10c> DW_AT_name : (indirect string, offset: 0xd2): sizetype
+ <110> DW_AT_byte_size : 8
+ <111> DW_AT_encoding : 7 (unsigned)
+ <1><112>: Abbrev Number: 3 (DW_TAG_typedef)
+ <113> DW_AT_type : <0x11d>
+ <117> DW_AT_name : (indirect string, offset: 0xe5): __s32
+ <11b> DW_AT_decl_file : 1
+ <11c> DW_AT_decl_line : 27
+ <1><11d>: Abbrev Number: 8 (DW_TAG_base_type)
+ <11e> DW_AT_name : (indirect string, offset: 0xe1): int
+ <122> DW_AT_encoding : 5 (signed)
+ <123> DW_AT_byte_size : 4
+ <1><124>: Abbrev Number: 3 (DW_TAG_typedef)
+ <125> DW_AT_type : <0x12f>
+ <129> DW_AT_name : (indirect string, offset: 0x101): __s64
+ <12d> DW_AT_decl_file : 1
+ <12e> DW_AT_decl_line : 30
+ <1><12f>: Abbrev Number: 8 (DW_TAG_base_type)
+ <130> DW_AT_name : (indirect string, offset: 0xf3): long long int
+ <134> DW_AT_encoding : 5 (signed)
+ <135> DW_AT_byte_size : 8
+ <1><136>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <137> DW_AT_type : <0x13b>
+ <1><13b>: Abbrev Number: 8 (DW_TAG_base_type)
+ <13c> DW_AT_name : (indirect string, offset: 0x10e): char
+ <140> DW_AT_encoding : 8 (unsigned char)
+ <141> DW_AT_byte_size : 1
+ <1><142>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <143> DW_AT_type : <0x147>
+ <1><147>: Abbrev Number: 3 (DW_TAG_typedef)
+ <148> DW_AT_type : <0x152>
+ <14c> DW_AT_name : (indirect string, offset: 0x126): __u8
+ <150> DW_AT_decl_file : 1
+ <151> DW_AT_decl_line : 24
+ <1><152>: Abbrev Number: 8 (DW_TAG_base_type)
+ <153> DW_AT_name : (indirect string, offset: 0x118): unsigned char
+ <157> DW_AT_encoding : 8 (unsigned char)
+ <158> DW_AT_byte_size : 1
+ <1><159>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <15a> DW_AT_type : <0x15e>
+ <1><15e>: Abbrev Number: 3 (DW_TAG_typedef)
+ <15f> DW_AT_type : <0x169>
+ <163> DW_AT_name : (indirect string, offset: 0x140): __u16
+ <167> DW_AT_decl_file : 1
+ <168> DW_AT_decl_line : 26
+ <1><169>: Abbrev Number: 8 (DW_TAG_base_type)
+ <16a> DW_AT_name : (indirect string, offset: 0x131): unsigned short
+ <16e> DW_AT_encoding : 7 (unsigned)
+ <16f> DW_AT_byte_size : 2
+ <1><170>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <171> DW_AT_type : <0xec>
+ <1><175>: Abbrev Number: 13 (DW_TAG_pointer_type)
+ <1><176>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_ext_control.d2 b/mpers-m32/struct_v4l2_ext_control.d2
new file mode 100644
index 00000000..cd2dc1ea
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_control.d2
@@ -0,0 +1,188 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9c): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 1 0 0 0 (DW_OP_addr: 1)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x161): struct_v4l2_ext_control
+DW_AT_decl_file : 3
+DW_AT_decl_line : 46
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x150): v4l2_ext_control
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 782
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xad): id
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 783
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc3): size
+DW_AT_type : <0xec>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 784
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc8): reserved2
+DW_AT_type : <0xfe>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 785
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><71>
+Abbrev Number: 6 (DW_TAG_member)
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 786
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><7c>
+Abbrev Number: 7 (DW_TAG_union_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 786
+<3><81>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xdb): value
+DW_AT_type : <0x112>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 787
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><90>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xeb): value64
+DW_AT_type : <0x124>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 788
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><9f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x107): string
+DW_AT_type : <0x136>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 789
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><ae>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x113): p_u8
+DW_AT_type : <0x142>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 790
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><bd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x12b): p_u16
+DW_AT_type : <0x159>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 791
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><cc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x146): p_u32
+DW_AT_type : <0x170>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 792
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><db>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14c): ptr
+DW_AT_type : <0x175>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 793
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><ec>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xf7>
+DW_AT_name : (indirect string, offset: 0xbd): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><f7>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb0): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><fe>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0xec>
+<2><103>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0x10b>
+DW_AT_lower_bound : 0
+DW_AT_count : 1
+<1><10b>
+Abbrev Number: 11 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd2): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><112>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x11d>
+DW_AT_name : (indirect string, offset: 0xe5): __s32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+<1><11d>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe1): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><124>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x12f>
+DW_AT_name : (indirect string, offset: 0x101): __s64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+<1><12f>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf3): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><136>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x13b>
+<1><13b>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x10e): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><142>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x147>
+<1><147>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x152>
+DW_AT_name : (indirect string, offset: 0x126): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><152>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x118): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><159>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x15e>
+<1><15e>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x169>
+DW_AT_name : (indirect string, offset: 0x140): __u16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><169>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x131): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><170>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0xec>
+<1><175>
+Abbrev Number: 13 (DW_TAG_pointer_type)
diff --git a/mpers-m32/struct_v4l2_ext_control.h b/mpers-m32/struct_v4l2_ext_control.h
new file mode 100644
index 00000000..1ec13e73
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_control.h
@@ -0,0 +1,21 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint32_t id;
+uint32_t size;
+uint32_t reserved2[1];
+union {
+int32_t value;
+int64_t value64;
+mpers_ptr_t string;
+mpers_ptr_t p_u8;
+mpers_ptr_t p_u16;
+mpers_ptr_t p_u32;
+mpers_ptr_t ptr;
+} ;
+} ATTRIBUTE_PACKED m32_struct_v4l2_ext_control;
+#define MPERS_m32_struct_v4l2_ext_control m32_struct_v4l2_ext_control
diff --git a/mpers-m32/struct_v4l2_ext_controls.c b/mpers-m32/struct_v4l2_ext_controls.c
new file mode 100644
index 00000000..8543c2f6
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_controls.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_ext_controls mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_ext_controls.d1 b/mpers-m32/struct_v4l2_ext_controls.d1
new file mode 100644
index 00000000..e6501f2f
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_controls.d1
@@ -0,0 +1,233 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x1fa (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_ext_controls.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x62): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9d): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x1a7): struct_v4l2_ext_controls
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 47
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x195): v4l2_ext_controls
+ <40> DW_AT_byte_size : 24
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 796
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_type : <0x4f>
+ <49> DW_AT_decl_file : 2
+ <4a> DW_AT_decl_line : 797
+ <4c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4f>: Abbrev Number: 6 (DW_TAG_union_type)
+ <50> DW_AT_byte_size : 4
+ <51> DW_AT_decl_file : 2
+ <52> DW_AT_decl_line : 797
+ <3><54>: Abbrev Number: 7 (DW_TAG_member)
+ <55> DW_AT_name : (indirect string, offset: 0xae): ctrl_class
+ <59> DW_AT_type : <0xb0>
+ <5d> DW_AT_decl_file : 2
+ <5e> DW_AT_decl_line : 798
+ <60> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><63>: Abbrev Number: 7 (DW_TAG_member)
+ <64> DW_AT_name : (indirect string, offset: 0xcc): which
+ <68> DW_AT_type : <0xb0>
+ <6c> DW_AT_decl_file : 2
+ <6d> DW_AT_decl_line : 799
+ <6f> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><72>: Abbrev Number: 0
+ <2><73>: Abbrev Number: 7 (DW_TAG_member)
+ <74> DW_AT_name : (indirect string, offset: 0xd2): count
+ <78> DW_AT_type : <0xb0>
+ <7c> DW_AT_decl_file : 2
+ <7d> DW_AT_decl_line : 801
+ <7f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><82>: Abbrev Number: 7 (DW_TAG_member)
+ <83> DW_AT_name : (indirect string, offset: 0xd8): error_idx
+ <87> DW_AT_type : <0xb0>
+ <8b> DW_AT_decl_file : 2
+ <8c> DW_AT_decl_line : 802
+ <8e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><91>: Abbrev Number: 7 (DW_TAG_member)
+ <92> DW_AT_name : (indirect string, offset: 0xe2): reserved
+ <96> DW_AT_type : <0xc2>
+ <9a> DW_AT_decl_file : 2
+ <9b> DW_AT_decl_line : 803
+ <9d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><a0>: Abbrev Number: 7 (DW_TAG_member)
+ <a1> DW_AT_name : (indirect string, offset: 0xf4): controls
+ <a5> DW_AT_type : <0xd6>
+ <a9> DW_AT_decl_file : 2
+ <aa> DW_AT_decl_line : 804
+ <ac> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><af>: Abbrev Number: 0
+ <1><b0>: Abbrev Number: 3 (DW_TAG_typedef)
+ <b1> DW_AT_type : <0xbb>
+ <b5> DW_AT_name : (indirect string, offset: 0xc6): __u32
+ <b9> DW_AT_decl_file : 1
+ <ba> DW_AT_decl_line : 28
+ <1><bb>: Abbrev Number: 8 (DW_TAG_base_type)
+ <bc> DW_AT_name : (indirect string, offset: 0xb9): unsigned int
+ <c0> DW_AT_encoding : 7 (unsigned)
+ <c1> DW_AT_byte_size : 4
+ <1><c2>: Abbrev Number: 9 (DW_TAG_array_type)
+ <c3> DW_AT_type : <0xb0>
+ <2><c7>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <c8> DW_AT_type : <0xcf>
+ <cc> DW_AT_lower_bound : 0
+ <cd> DW_AT_count : 2
+ <2><ce>: Abbrev Number: 0
+ <1><cf>: Abbrev Number: 11 (DW_TAG_base_type)
+ <d0> DW_AT_name : (indirect string, offset: 0xeb): sizetype
+ <d4> DW_AT_byte_size : 8
+ <d5> DW_AT_encoding : 7 (unsigned)
+ <1><d6>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <d7> DW_AT_type : <0xdb>
+ <1><db>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <dc> DW_AT_name : (indirect string, offset: 0x184): v4l2_ext_control
+ <e0> DW_AT_byte_size : 20
+ <e1> DW_AT_decl_file : 2
+ <e2> DW_AT_decl_line : 782
+ <2><e4>: Abbrev Number: 7 (DW_TAG_member)
+ <e5> DW_AT_name : (indirect string, offset: 0xfd): id
+ <e9> DW_AT_type : <0xb0>
+ <ed> DW_AT_decl_file : 2
+ <ee> DW_AT_decl_line : 783
+ <f0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><f3>: Abbrev Number: 7 (DW_TAG_member)
+ <f4> DW_AT_name : (indirect string, offset: 0x100): size
+ <f8> DW_AT_type : <0xb0>
+ <fc> DW_AT_decl_file : 2
+ <fd> DW_AT_decl_line : 784
+ <ff> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><102>: Abbrev Number: 7 (DW_TAG_member)
+ <103> DW_AT_name : (indirect string, offset: 0x105): reserved2
+ <107> DW_AT_type : <0x18c>
+ <10b> DW_AT_decl_file : 2
+ <10c> DW_AT_decl_line : 785
+ <10e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><111>: Abbrev Number: 5 (DW_TAG_member)
+ <112> DW_AT_type : <0x11c>
+ <116> DW_AT_decl_file : 2
+ <117> DW_AT_decl_line : 786
+ <119> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><11c>: Abbrev Number: 6 (DW_TAG_union_type)
+ <11d> DW_AT_byte_size : 8
+ <11e> DW_AT_decl_file : 2
+ <11f> DW_AT_decl_line : 786
+ <3><121>: Abbrev Number: 7 (DW_TAG_member)
+ <122> DW_AT_name : (indirect string, offset: 0x10f): value
+ <126> DW_AT_type : <0x199>
+ <12a> DW_AT_decl_file : 2
+ <12b> DW_AT_decl_line : 787
+ <12d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><130>: Abbrev Number: 7 (DW_TAG_member)
+ <131> DW_AT_name : (indirect string, offset: 0x11f): value64
+ <135> DW_AT_type : <0x1ab>
+ <139> DW_AT_decl_file : 2
+ <13a> DW_AT_decl_line : 788
+ <13c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><13f>: Abbrev Number: 7 (DW_TAG_member)
+ <140> DW_AT_name : (indirect string, offset: 0x13b): string
+ <144> DW_AT_type : <0x1bd>
+ <148> DW_AT_decl_file : 2
+ <149> DW_AT_decl_line : 789
+ <14b> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><14e>: Abbrev Number: 7 (DW_TAG_member)
+ <14f> DW_AT_name : (indirect string, offset: 0x147): p_u8
+ <153> DW_AT_type : <0x1c9>
+ <157> DW_AT_decl_file : 2
+ <158> DW_AT_decl_line : 790
+ <15a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><15d>: Abbrev Number: 7 (DW_TAG_member)
+ <15e> DW_AT_name : (indirect string, offset: 0x15f): p_u16
+ <162> DW_AT_type : <0x1e0>
+ <166> DW_AT_decl_file : 2
+ <167> DW_AT_decl_line : 791
+ <169> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><16c>: Abbrev Number: 7 (DW_TAG_member)
+ <16d> DW_AT_name : (indirect string, offset: 0x17a): p_u32
+ <171> DW_AT_type : <0x1f7>
+ <175> DW_AT_decl_file : 2
+ <176> DW_AT_decl_line : 792
+ <178> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><17b>: Abbrev Number: 7 (DW_TAG_member)
+ <17c> DW_AT_name : (indirect string, offset: 0x180): ptr
+ <180> DW_AT_type : <0x1fc>
+ <184> DW_AT_decl_file : 2
+ <185> DW_AT_decl_line : 793
+ <187> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><18a>: Abbrev Number: 0
+ <2><18b>: Abbrev Number: 0
+ <1><18c>: Abbrev Number: 9 (DW_TAG_array_type)
+ <18d> DW_AT_type : <0xb0>
+ <2><191>: Abbrev Number: 10 (DW_TAG_subrange_type)
+ <192> DW_AT_type : <0xcf>
+ <196> DW_AT_lower_bound : 0
+ <197> DW_AT_count : 1
+ <2><198>: Abbrev Number: 0
+ <1><199>: Abbrev Number: 3 (DW_TAG_typedef)
+ <19a> DW_AT_type : <0x1a4>
+ <19e> DW_AT_name : (indirect string, offset: 0x119): __s32
+ <1a2> DW_AT_decl_file : 1
+ <1a3> DW_AT_decl_line : 27
+ <1><1a4>: Abbrev Number: 8 (DW_TAG_base_type)
+ <1a5> DW_AT_name : (indirect string, offset: 0x115): int
+ <1a9> DW_AT_encoding : 5 (signed)
+ <1aa> DW_AT_byte_size : 4
+ <1><1ab>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1ac> DW_AT_type : <0x1b6>
+ <1b0> DW_AT_name : (indirect string, offset: 0x135): __s64
+ <1b4> DW_AT_decl_file : 1
+ <1b5> DW_AT_decl_line : 30
+ <1><1b6>: Abbrev Number: 8 (DW_TAG_base_type)
+ <1b7> DW_AT_name : (indirect string, offset: 0x127): long long int
+ <1bb> DW_AT_encoding : 5 (signed)
+ <1bc> DW_AT_byte_size : 8
+ <1><1bd>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <1be> DW_AT_type : <0x1c2>
+ <1><1c2>: Abbrev Number: 8 (DW_TAG_base_type)
+ <1c3> DW_AT_name : (indirect string, offset: 0x142): char
+ <1c7> DW_AT_encoding : 8 (unsigned char)
+ <1c8> DW_AT_byte_size : 1
+ <1><1c9>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <1ca> DW_AT_type : <0x1ce>
+ <1><1ce>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1cf> DW_AT_type : <0x1d9>
+ <1d3> DW_AT_name : (indirect string, offset: 0x15a): __u8
+ <1d7> DW_AT_decl_file : 1
+ <1d8> DW_AT_decl_line : 24
+ <1><1d9>: Abbrev Number: 8 (DW_TAG_base_type)
+ <1da> DW_AT_name : (indirect string, offset: 0x14c): unsigned char
+ <1de> DW_AT_encoding : 8 (unsigned char)
+ <1df> DW_AT_byte_size : 1
+ <1><1e0>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <1e1> DW_AT_type : <0x1e5>
+ <1><1e5>: Abbrev Number: 3 (DW_TAG_typedef)
+ <1e6> DW_AT_type : <0x1f0>
+ <1ea> DW_AT_name : (indirect string, offset: 0x174): __u16
+ <1ee> DW_AT_decl_file : 1
+ <1ef> DW_AT_decl_line : 26
+ <1><1f0>: Abbrev Number: 8 (DW_TAG_base_type)
+ <1f1> DW_AT_name : (indirect string, offset: 0x165): unsigned short
+ <1f5> DW_AT_encoding : 7 (unsigned)
+ <1f6> DW_AT_byte_size : 2
+ <1><1f7>: Abbrev Number: 12 (DW_TAG_pointer_type)
+ <1f8> DW_AT_type : <0xb0>
+ <1><1fc>: Abbrev Number: 13 (DW_TAG_pointer_type)
+ <1><1fd>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_ext_controls.d2 b/mpers-m32/struct_v4l2_ext_controls.d2
new file mode 100644
index 00000000..9d81543c
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_controls.d2
@@ -0,0 +1,258 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9d): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x1a7): struct_v4l2_ext_controls
+DW_AT_decl_file : 3
+DW_AT_decl_line : 47
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x195): v4l2_ext_controls
+DW_AT_byte_size : 24
+DW_AT_decl_file : 2
+DW_AT_decl_line : 796
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_type : <0x4f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 797
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4f>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 797
+<3><54>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xae): ctrl_class
+DW_AT_type : <0xb0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 798
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><63>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcc): which
+DW_AT_type : <0xb0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 799
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><73>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd2): count
+DW_AT_type : <0xb0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 801
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><82>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd8): error_idx
+DW_AT_type : <0xb0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 802
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><91>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe2): reserved
+DW_AT_type : <0xc2>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 803
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><a0>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf4): controls
+DW_AT_type : <0xd6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 804
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<1><b0>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xbb>
+DW_AT_name : (indirect string, offset: 0xc6): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><bb>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb9): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><c2>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0xb0>
+<2><c7>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0xcf>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><cf>
+Abbrev Number: 11 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xeb): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><d6>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0xdb>
+<1><db>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x184): v4l2_ext_control
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 782
+<2><e4>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfd): id
+DW_AT_type : <0xb0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 783
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><f3>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x100): size
+DW_AT_type : <0xb0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 784
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><102>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x105): reserved2
+DW_AT_type : <0x18c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 785
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><111>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_type : <0x11c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 786
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><11c>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 786
+<3><121>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10f): value
+DW_AT_type : <0x199>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 787
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><130>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11f): value64
+DW_AT_type : <0x1ab>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 788
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><13f>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13b): string
+DW_AT_type : <0x1bd>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 789
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><14e>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x147): p_u8
+DW_AT_type : <0x1c9>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 790
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><15d>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15f): p_u16
+DW_AT_type : <0x1e0>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 791
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><16c>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x17a): p_u32
+DW_AT_type : <0x1f7>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 792
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><17b>
+Abbrev Number: 7 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x180): ptr
+DW_AT_type : <0x1fc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 793
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><18c>
+Abbrev Number: 9 (DW_TAG_array_type)
+DW_AT_type : <0xb0>
+<2><191>
+Abbrev Number: 10 (DW_TAG_subrange_type)
+DW_AT_type : <0xcf>
+DW_AT_lower_bound : 0
+DW_AT_count : 1
+<1><199>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1a4>
+DW_AT_name : (indirect string, offset: 0x119): __s32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+<1><1a4>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x115): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><1ab>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1b6>
+DW_AT_name : (indirect string, offset: 0x135): __s64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 30
+<1><1b6>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x127): long long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 8
+<1><1bd>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x1c2>
+<1><1c2>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x142): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><1c9>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x1ce>
+<1><1ce>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1d9>
+DW_AT_name : (indirect string, offset: 0x15a): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><1d9>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x14c): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><1e0>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0x1e5>
+<1><1e5>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x1f0>
+DW_AT_name : (indirect string, offset: 0x174): __u16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><1f0>
+Abbrev Number: 8 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x165): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><1f7>
+Abbrev Number: 12 (DW_TAG_pointer_type)
+DW_AT_type : <0xb0>
+<1><1fc>
+Abbrev Number: 13 (DW_TAG_pointer_type)
diff --git a/mpers-m32/struct_v4l2_ext_controls.h b/mpers-m32/struct_v4l2_ext_controls.h
new file mode 100644
index 00000000..af2cb817
--- /dev/null
+++ b/mpers-m32/struct_v4l2_ext_controls.h
@@ -0,0 +1,17 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+union {
+uint32_t ctrl_class;
+uint32_t which;
+} ;
+uint32_t count;
+uint32_t error_idx;
+uint32_t reserved[2];
+mpers_ptr_t controls;
+} ATTRIBUTE_PACKED m32_struct_v4l2_ext_controls;
+#define MPERS_m32_struct_v4l2_ext_controls m32_struct_v4l2_ext_controls
diff --git a/mpers-m32/struct_v4l2_format.c b/mpers-m32/struct_v4l2_format.c
new file mode 100644
index 00000000..ec7d7633
--- /dev/null
+++ b/mpers-m32/struct_v4l2_format.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_format mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_format.d1 b/mpers-m32/struct_v4l2_format.d1
new file mode 100644
index 00000000..684527f3
--- /dev/null
+++ b/mpers-m32/struct_v4l2_format.d1
@@ -0,0 +1,635 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x58e (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_format.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5c): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x327): struct_v4l2_format
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 48
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x31b): v4l2_format
+ <40> DW_AT_byte_size : 204
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 1141
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xa8): type
+ <49> DW_AT_type : <0xe1>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 1142
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xc0): fmt
+ <58> DW_AT_type : <0x62>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 1152
+ <5f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><62>: Abbrev Number: 6 (DW_TAG_union_type)
+ <63> DW_AT_byte_size : 200
+ <64> DW_AT_decl_file : 2
+ <65> DW_AT_decl_line : 1143
+ <3><67>: Abbrev Number: 5 (DW_TAG_member)
+ <68> DW_AT_name : (indirect string, offset: 0xc4): pix
+ <6c> DW_AT_type : <0xf3>
+ <70> DW_AT_decl_file : 2
+ <71> DW_AT_decl_line : 1144
+ <73> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><76>: Abbrev Number: 5 (DW_TAG_member)
+ <77> DW_AT_name : (indirect string, offset: 0x14d): pix_mp
+ <7b> DW_AT_type : <0x1c1>
+ <7f> DW_AT_decl_file : 2
+ <80> DW_AT_decl_line : 1145
+ <82> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><85>: Abbrev Number: 5 (DW_TAG_member)
+ <86> DW_AT_name : (indirect string, offset: 0x1d0): win
+ <8a> DW_AT_type : <0x32e>
+ <8e> DW_AT_decl_file : 2
+ <8f> DW_AT_decl_line : 1146
+ <91> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><94>: Abbrev Number: 5 (DW_TAG_member)
+ <95> DW_AT_name : (indirect string, offset: 0x23e): vbi
+ <99> DW_AT_type : <0x422>
+ <9d> DW_AT_decl_file : 2
+ <9e> DW_AT_decl_line : 1147
+ <a0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><a3>: Abbrev Number: 5 (DW_TAG_member)
+ <a4> DW_AT_name : (indirect string, offset: 0x292): sliced
+ <a8> DW_AT_type : <0x4be>
+ <ac> DW_AT_decl_file : 2
+ <ad> DW_AT_decl_line : 1148
+ <af> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><b2>: Abbrev Number: 5 (DW_TAG_member)
+ <b3> DW_AT_name : (indirect string, offset: 0x2d2): sdr
+ <b7> DW_AT_type : <0x518>
+ <bb> DW_AT_decl_file : 2
+ <bc> DW_AT_decl_line : 1149
+ <be> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x2f1): meta
+ <c6> DW_AT_type : <0x55c>
+ <ca> DW_AT_decl_file : 2
+ <cb> DW_AT_decl_line : 1150
+ <cd> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><d0>: Abbrev Number: 5 (DW_TAG_member)
+ <d1> DW_AT_name : (indirect string, offset: 0x312): raw_data
+ <d5> DW_AT_type : <0x584>
+ <d9> DW_AT_decl_file : 2
+ <da> DW_AT_decl_line : 1151
+ <dc> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><df>: Abbrev Number: 0
+ <2><e0>: Abbrev Number: 0
+ <1><e1>: Abbrev Number: 3 (DW_TAG_typedef)
+ <e2> DW_AT_type : <0xec>
+ <e6> DW_AT_name : (indirect string, offset: 0xba): __u32
+ <ea> DW_AT_decl_file : 1
+ <eb> DW_AT_decl_line : 28
+ <1><ec>: Abbrev Number: 7 (DW_TAG_base_type)
+ <ed> DW_AT_name : (indirect string, offset: 0xad): unsigned int
+ <f1> DW_AT_encoding : 7 (unsigned)
+ <f2> DW_AT_byte_size : 4
+ <1><f3>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <f4> DW_AT_name : (indirect string, offset: 0x13d): v4l2_pix_format
+ <f8> DW_AT_byte_size : 48
+ <f9> DW_AT_decl_file : 2
+ <fa> DW_AT_decl_line : 182
+ <2><fb>: Abbrev Number: 9 (DW_TAG_member)
+ <fc> DW_AT_name : (indirect string, offset: 0xc8): width
+ <100> DW_AT_type : <0xe1>
+ <104> DW_AT_decl_file : 2
+ <105> DW_AT_decl_line : 183
+ <106> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><109>: Abbrev Number: 9 (DW_TAG_member)
+ <10a> DW_AT_name : (indirect string, offset: 0xce): height
+ <10e> DW_AT_type : <0xe1>
+ <112> DW_AT_decl_file : 2
+ <113> DW_AT_decl_line : 184
+ <114> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><117>: Abbrev Number: 9 (DW_TAG_member)
+ <118> DW_AT_name : (indirect string, offset: 0xd5): pixelformat
+ <11c> DW_AT_type : <0xe1>
+ <120> DW_AT_decl_file : 2
+ <121> DW_AT_decl_line : 185
+ <122> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><125>: Abbrev Number: 9 (DW_TAG_member)
+ <126> DW_AT_name : (indirect string, offset: 0xe1): field
+ <12a> DW_AT_type : <0xe1>
+ <12e> DW_AT_decl_file : 2
+ <12f> DW_AT_decl_line : 186
+ <130> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><133>: Abbrev Number: 9 (DW_TAG_member)
+ <134> DW_AT_name : (indirect string, offset: 0xe7): bytesperline
+ <138> DW_AT_type : <0xe1>
+ <13c> DW_AT_decl_file : 2
+ <13d> DW_AT_decl_line : 187
+ <13e> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><141>: Abbrev Number: 9 (DW_TAG_member)
+ <142> DW_AT_name : (indirect string, offset: 0xf4): sizeimage
+ <146> DW_AT_type : <0xe1>
+ <14a> DW_AT_decl_file : 2
+ <14b> DW_AT_decl_line : 188
+ <14c> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><14f>: Abbrev Number: 9 (DW_TAG_member)
+ <150> DW_AT_name : (indirect string, offset: 0xfe): colorspace
+ <154> DW_AT_type : <0xe1>
+ <158> DW_AT_decl_file : 2
+ <159> DW_AT_decl_line : 189
+ <15a> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><15d>: Abbrev Number: 9 (DW_TAG_member)
+ <15e> DW_AT_name : (indirect string, offset: 0x109): priv
+ <162> DW_AT_type : <0xe1>
+ <166> DW_AT_decl_file : 2
+ <167> DW_AT_decl_line : 190
+ <168> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><16b>: Abbrev Number: 9 (DW_TAG_member)
+ <16c> DW_AT_name : (indirect string, offset: 0x10e): flags
+ <170> DW_AT_type : <0xe1>
+ <174> DW_AT_decl_file : 2
+ <175> DW_AT_decl_line : 191
+ <176> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><179>: Abbrev Number: 10 (DW_TAG_member)
+ <17a> DW_AT_type : <0x183>
+ <17e> DW_AT_decl_file : 2
+ <17f> DW_AT_decl_line : 192
+ <180> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><183>: Abbrev Number: 11 (DW_TAG_union_type)
+ <184> DW_AT_byte_size : 4
+ <185> DW_AT_decl_file : 2
+ <186> DW_AT_decl_line : 192
+ <3><187>: Abbrev Number: 9 (DW_TAG_member)
+ <188> DW_AT_name : (indirect string, offset: 0x114): ycbcr_enc
+ <18c> DW_AT_type : <0xe1>
+ <190> DW_AT_decl_file : 2
+ <191> DW_AT_decl_line : 193
+ <192> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><195>: Abbrev Number: 9 (DW_TAG_member)
+ <196> DW_AT_name : (indirect string, offset: 0x11e): hsv_enc
+ <19a> DW_AT_type : <0xe1>
+ <19e> DW_AT_decl_file : 2
+ <19f> DW_AT_decl_line : 194
+ <1a0> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><1a3>: Abbrev Number: 0
+ <2><1a4>: Abbrev Number: 9 (DW_TAG_member)
+ <1a5> DW_AT_name : (indirect string, offset: 0x126): quantization
+ <1a9> DW_AT_type : <0xe1>
+ <1ad> DW_AT_decl_file : 2
+ <1ae> DW_AT_decl_line : 196
+ <1af> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><1b2>: Abbrev Number: 9 (DW_TAG_member)
+ <1b3> DW_AT_name : (indirect string, offset: 0x133): xfer_func
+ <1b7> DW_AT_type : <0xe1>
+ <1bb> DW_AT_decl_file : 2
+ <1bc> DW_AT_decl_line : 197
+ <1bd> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><1c0>: Abbrev Number: 0
+ <1><1c1>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <1c2> DW_AT_name : (indirect string, offset: 0x1b9): v4l2_pix_format_mplane
+ <1c6> DW_AT_byte_size : 192
+ <1c7> DW_AT_decl_file : 2
+ <1c8> DW_AT_decl_line : 1115
+ <2><1ca>: Abbrev Number: 5 (DW_TAG_member)
+ <1cb> DW_AT_name : (indirect string, offset: 0xc8): width
+ <1cf> DW_AT_type : <0xe1>
+ <1d3> DW_AT_decl_file : 2
+ <1d4> DW_AT_decl_line : 1116
+ <1d6> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><1d9>: Abbrev Number: 5 (DW_TAG_member)
+ <1da> DW_AT_name : (indirect string, offset: 0xce): height
+ <1de> DW_AT_type : <0xe1>
+ <1e2> DW_AT_decl_file : 2
+ <1e3> DW_AT_decl_line : 1117
+ <1e5> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><1e8>: Abbrev Number: 5 (DW_TAG_member)
+ <1e9> DW_AT_name : (indirect string, offset: 0xd5): pixelformat
+ <1ed> DW_AT_type : <0xe1>
+ <1f1> DW_AT_decl_file : 2
+ <1f2> DW_AT_decl_line : 1118
+ <1f4> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><1f7>: Abbrev Number: 5 (DW_TAG_member)
+ <1f8> DW_AT_name : (indirect string, offset: 0xe1): field
+ <1fc> DW_AT_type : <0xe1>
+ <200> DW_AT_decl_file : 2
+ <201> DW_AT_decl_line : 1119
+ <203> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><206>: Abbrev Number: 5 (DW_TAG_member)
+ <207> DW_AT_name : (indirect string, offset: 0xfe): colorspace
+ <20b> DW_AT_type : <0xe1>
+ <20f> DW_AT_decl_file : 2
+ <210> DW_AT_decl_line : 1120
+ <212> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><215>: Abbrev Number: 5 (DW_TAG_member)
+ <216> DW_AT_name : (indirect string, offset: 0x154): plane_fmt
+ <21a> DW_AT_type : <0x2a5>
+ <21e> DW_AT_decl_file : 2
+ <21f> DW_AT_decl_line : 1121
+ <221> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><224>: Abbrev Number: 5 (DW_TAG_member)
+ <225> DW_AT_name : (indirect string, offset: 0x19b): num_planes
+ <229> DW_AT_type : <0x30f>
+ <22d> DW_AT_decl_file : 2
+ <22e> DW_AT_decl_line : 1122
+ <230> DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180)
+ <2><234>: Abbrev Number: 5 (DW_TAG_member)
+ <235> DW_AT_name : (indirect string, offset: 0x10e): flags
+ <239> DW_AT_type : <0x30f>
+ <23d> DW_AT_decl_file : 2
+ <23e> DW_AT_decl_line : 1123
+ <240> DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181)
+ <2><244>: Abbrev Number: 12 (DW_TAG_member)
+ <245> DW_AT_type : <0x250>
+ <249> DW_AT_decl_file : 2
+ <24a> DW_AT_decl_line : 1124
+ <24c> DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182)
+ <2><250>: Abbrev Number: 6 (DW_TAG_union_type)
+ <251> DW_AT_byte_size : 1
+ <252> DW_AT_decl_file : 2
+ <253> DW_AT_decl_line : 1124
+ <3><255>: Abbrev Number: 5 (DW_TAG_member)
+ <256> DW_AT_name : (indirect string, offset: 0x114): ycbcr_enc
+ <25a> DW_AT_type : <0x30f>
+ <25e> DW_AT_decl_file : 2
+ <25f> DW_AT_decl_line : 1125
+ <261> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><264>: Abbrev Number: 5 (DW_TAG_member)
+ <265> DW_AT_name : (indirect string, offset: 0x11e): hsv_enc
+ <269> DW_AT_type : <0x30f>
+ <26d> DW_AT_decl_file : 2
+ <26e> DW_AT_decl_line : 1126
+ <270> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><273>: Abbrev Number: 0
+ <2><274>: Abbrev Number: 5 (DW_TAG_member)
+ <275> DW_AT_name : (indirect string, offset: 0x126): quantization
+ <279> DW_AT_type : <0x30f>
+ <27d> DW_AT_decl_file : 2
+ <27e> DW_AT_decl_line : 1128
+ <280> DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183)
+ <2><284>: Abbrev Number: 5 (DW_TAG_member)
+ <285> DW_AT_name : (indirect string, offset: 0x133): xfer_func
+ <289> DW_AT_type : <0x30f>
+ <28d> DW_AT_decl_file : 2
+ <28e> DW_AT_decl_line : 1129
+ <290> DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184)
+ <2><294>: Abbrev Number: 5 (DW_TAG_member)
+ <295> DW_AT_name : (indirect string, offset: 0x15e): reserved
+ <299> DW_AT_type : <0x321>
+ <29d> DW_AT_decl_file : 2
+ <29e> DW_AT_decl_line : 1130
+ <2a0> DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185)
+ <2><2a4>: Abbrev Number: 0
+ <1><2a5>: Abbrev Number: 13 (DW_TAG_array_type)
+ <2a6> DW_AT_type : <0x2b2>
+ <2><2aa>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <2ab> DW_AT_type : <0x308>
+ <2af> DW_AT_lower_bound : 0
+ <2b0> DW_AT_count : 8
+ <2><2b1>: Abbrev Number: 0
+ <1><2b2>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <2b3> DW_AT_name : (indirect string, offset: 0x185): v4l2_plane_pix_format
+ <2b7> DW_AT_byte_size : 20
+ <2b8> DW_AT_decl_file : 2
+ <2b9> DW_AT_decl_line : 1110
+ <2><2bb>: Abbrev Number: 5 (DW_TAG_member)
+ <2bc> DW_AT_name : (indirect string, offset: 0xf4): sizeimage
+ <2c0> DW_AT_type : <0xe1>
+ <2c4> DW_AT_decl_file : 2
+ <2c5> DW_AT_decl_line : 1111
+ <2c7> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><2ca>: Abbrev Number: 5 (DW_TAG_member)
+ <2cb> DW_AT_name : (indirect string, offset: 0xe7): bytesperline
+ <2cf> DW_AT_type : <0xe1>
+ <2d3> DW_AT_decl_file : 2
+ <2d4> DW_AT_decl_line : 1112
+ <2d6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><2d9>: Abbrev Number: 5 (DW_TAG_member)
+ <2da> DW_AT_name : (indirect string, offset: 0x15e): reserved
+ <2de> DW_AT_type : <0x2e9>
+ <2e2> DW_AT_decl_file : 2
+ <2e3> DW_AT_decl_line : 1113
+ <2e5> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><2e8>: Abbrev Number: 0
+ <1><2e9>: Abbrev Number: 13 (DW_TAG_array_type)
+ <2ea> DW_AT_type : <0x2f6>
+ <2><2ee>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <2ef> DW_AT_type : <0x308>
+ <2f3> DW_AT_lower_bound : 0
+ <2f4> DW_AT_count : 6
+ <2><2f5>: Abbrev Number: 0
+ <1><2f6>: Abbrev Number: 3 (DW_TAG_typedef)
+ <2f7> DW_AT_type : <0x301>
+ <2fb> DW_AT_name : (indirect string, offset: 0x176): __u16
+ <2ff> DW_AT_decl_file : 1
+ <300> DW_AT_decl_line : 26
+ <1><301>: Abbrev Number: 7 (DW_TAG_base_type)
+ <302> DW_AT_name : (indirect string, offset: 0x167): unsigned short
+ <306> DW_AT_encoding : 7 (unsigned)
+ <307> DW_AT_byte_size : 2
+ <1><308>: Abbrev Number: 15 (DW_TAG_base_type)
+ <309> DW_AT_name : (indirect string, offset: 0x17c): sizetype
+ <30d> DW_AT_byte_size : 8
+ <30e> DW_AT_encoding : 7 (unsigned)
+ <1><30f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <310> DW_AT_type : <0x31a>
+ <314> DW_AT_name : (indirect string, offset: 0x1b4): __u8
+ <318> DW_AT_decl_file : 1
+ <319> DW_AT_decl_line : 24
+ <1><31a>: Abbrev Number: 7 (DW_TAG_base_type)
+ <31b> DW_AT_name : (indirect string, offset: 0x1a6): unsigned char
+ <31f> DW_AT_encoding : 8 (unsigned char)
+ <320> DW_AT_byte_size : 1
+ <1><321>: Abbrev Number: 13 (DW_TAG_array_type)
+ <322> DW_AT_type : <0x30f>
+ <2><326>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <327> DW_AT_type : <0x308>
+ <32b> DW_AT_lower_bound : 0
+ <32c> DW_AT_count : 7
+ <2><32d>: Abbrev Number: 0
+ <1><32e>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <32f> DW_AT_name : (indirect string, offset: 0x232): v4l2_window
+ <333> DW_AT_byte_size : 40
+ <334> DW_AT_decl_file : 2
+ <335> DW_AT_decl_line : 547
+ <2><337>: Abbrev Number: 5 (DW_TAG_member)
+ <338> DW_AT_name : (indirect string, offset: 0x1d4): w
+ <33c> DW_AT_type : <0x3a1>
+ <340> DW_AT_decl_file : 2
+ <341> DW_AT_decl_line : 548
+ <343> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><346>: Abbrev Number: 5 (DW_TAG_member)
+ <347> DW_AT_name : (indirect string, offset: 0xe1): field
+ <34b> DW_AT_type : <0xe1>
+ <34f> DW_AT_decl_file : 2
+ <350> DW_AT_decl_line : 549
+ <352> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><355>: Abbrev Number: 5 (DW_TAG_member)
+ <356> DW_AT_name : (indirect string, offset: 0x1f3): chromakey
+ <35a> DW_AT_type : <0xe1>
+ <35e> DW_AT_decl_file : 2
+ <35f> DW_AT_decl_line : 550
+ <361> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><364>: Abbrev Number: 5 (DW_TAG_member)
+ <365> DW_AT_name : (indirect string, offset: 0x1fd): clips
+ <369> DW_AT_type : <0x3f4>
+ <36d> DW_AT_decl_file : 2
+ <36e> DW_AT_decl_line : 551
+ <370> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><373>: Abbrev Number: 5 (DW_TAG_member)
+ <374> DW_AT_name : (indirect string, offset: 0x214): clipcount
+ <378> DW_AT_type : <0xe1>
+ <37c> DW_AT_decl_file : 2
+ <37d> DW_AT_decl_line : 552
+ <37f> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><382>: Abbrev Number: 5 (DW_TAG_member)
+ <383> DW_AT_name : (indirect string, offset: 0x21e): bitmap
+ <387> DW_AT_type : <0x421>
+ <38b> DW_AT_decl_file : 2
+ <38c> DW_AT_decl_line : 553
+ <38e> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><391>: Abbrev Number: 5 (DW_TAG_member)
+ <392> DW_AT_name : (indirect string, offset: 0x225): global_alpha
+ <396> DW_AT_type : <0x30f>
+ <39a> DW_AT_decl_file : 2
+ <39b> DW_AT_decl_line : 554
+ <39d> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><3a0>: Abbrev Number: 0
+ <1><3a1>: Abbrev Number: 8 (DW_TAG_structure_type)
+ <3a2> DW_AT_name : (indirect string, offset: 0x1e9): v4l2_rect
+ <3a6> DW_AT_byte_size : 16
+ <3a7> DW_AT_decl_file : 2
+ <3a8> DW_AT_decl_line : 135
+ <2><3a9>: Abbrev Number: 9 (DW_TAG_member)
+ <3aa> DW_AT_name : (indirect string, offset: 0x1d6): left
+ <3ae> DW_AT_type : <0x3e2>
+ <3b2> DW_AT_decl_file : 2
+ <3b3> DW_AT_decl_line : 136
+ <3b4> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><3b7>: Abbrev Number: 9 (DW_TAG_member)
+ <3b8> DW_AT_name : (indirect string, offset: 0x1e5): top
+ <3bc> DW_AT_type : <0x3e2>
+ <3c0> DW_AT_decl_file : 2
+ <3c1> DW_AT_decl_line : 137
+ <3c2> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><3c5>: Abbrev Number: 9 (DW_TAG_member)
+ <3c6> DW_AT_name : (indirect string, offset: 0xc8): width
+ <3ca> DW_AT_type : <0xe1>
+ <3ce> DW_AT_decl_file : 2
+ <3cf> DW_AT_decl_line : 138
+ <3d0> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><3d3>: Abbrev Number: 9 (DW_TAG_member)
+ <3d4> DW_AT_name : (indirect string, offset: 0xce): height
+ <3d8> DW_AT_type : <0xe1>
+ <3dc> DW_AT_decl_file : 2
+ <3dd> DW_AT_decl_line : 139
+ <3de> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><3e1>: Abbrev Number: 0
+ <1><3e2>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3e3> DW_AT_type : <0x3ed>
+ <3e7> DW_AT_name : (indirect string, offset: 0x1df): __s32
+ <3eb> DW_AT_decl_file : 1
+ <3ec> DW_AT_decl_line : 27
+ <1><3ed>: Abbrev Number: 7 (DW_TAG_base_type)
+ <3ee> DW_AT_name : (indirect string, offset: 0x1db): int
+ <3f2> DW_AT_encoding : 5 (signed)
+ <3f3> DW_AT_byte_size : 4
+ <1><3f4>: Abbrev Number: 16 (DW_TAG_pointer_type)
+ <3f5> DW_AT_type : <0x3f9>
+ <1><3f9>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3fa> DW_AT_name : (indirect string, offset: 0x20a): v4l2_clip
+ <3fe> DW_AT_byte_size : 20
+ <3ff> DW_AT_decl_file : 2
+ <400> DW_AT_decl_line : 543
+ <2><402>: Abbrev Number: 5 (DW_TAG_member)
+ <403> DW_AT_name : (indirect string, offset: 0x203): c
+ <407> DW_AT_type : <0x3a1>
+ <40b> DW_AT_decl_file : 2
+ <40c> DW_AT_decl_line : 544
+ <40e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><411>: Abbrev Number: 5 (DW_TAG_member)
+ <412> DW_AT_name : (indirect string, offset: 0x205): next
+ <416> DW_AT_type : <0x3f4>
+ <41a> DW_AT_decl_file : 2
+ <41b> DW_AT_decl_line : 545
+ <41d> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><420>: Abbrev Number: 0
+ <1><421>: Abbrev Number: 17 (DW_TAG_pointer_type)
+ <1><422>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <423> DW_AT_name : (indirect string, offset: 0x282): v4l2_vbi_format
+ <427> DW_AT_byte_size : 44
+ <428> DW_AT_decl_file : 2
+ <429> DW_AT_decl_line : 1045
+ <2><42b>: Abbrev Number: 5 (DW_TAG_member)
+ <42c> DW_AT_name : (indirect string, offset: 0x242): sampling_rate
+ <430> DW_AT_type : <0xe1>
+ <434> DW_AT_decl_file : 2
+ <435> DW_AT_decl_line : 1046
+ <437> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><43a>: Abbrev Number: 5 (DW_TAG_member)
+ <43b> DW_AT_name : (indirect string, offset: 0x250): offset
+ <43f> DW_AT_type : <0xe1>
+ <443> DW_AT_decl_file : 2
+ <444> DW_AT_decl_line : 1047
+ <446> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><449>: Abbrev Number: 5 (DW_TAG_member)
+ <44a> DW_AT_name : (indirect string, offset: 0x257): samples_per_line
+ <44e> DW_AT_type : <0xe1>
+ <452> DW_AT_decl_file : 2
+ <453> DW_AT_decl_line : 1048
+ <455> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><458>: Abbrev Number: 5 (DW_TAG_member)
+ <459> DW_AT_name : (indirect string, offset: 0x268): sample_format
+ <45d> DW_AT_type : <0xe1>
+ <461> DW_AT_decl_file : 2
+ <462> DW_AT_decl_line : 1049
+ <464> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><467>: Abbrev Number: 5 (DW_TAG_member)
+ <468> DW_AT_name : (indirect string, offset: 0x276): start
+ <46c> DW_AT_type : <0x4a4>
+ <470> DW_AT_decl_file : 2
+ <471> DW_AT_decl_line : 1050
+ <473> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><476>: Abbrev Number: 5 (DW_TAG_member)
+ <477> DW_AT_name : (indirect string, offset: 0x27c): count
+ <47b> DW_AT_type : <0x4b1>
+ <47f> DW_AT_decl_file : 2
+ <480> DW_AT_decl_line : 1051
+ <482> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><485>: Abbrev Number: 5 (DW_TAG_member)
+ <486> DW_AT_name : (indirect string, offset: 0x10e): flags
+ <48a> DW_AT_type : <0xe1>
+ <48e> DW_AT_decl_file : 2
+ <48f> DW_AT_decl_line : 1052
+ <491> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><494>: Abbrev Number: 5 (DW_TAG_member)
+ <495> DW_AT_name : (indirect string, offset: 0x15e): reserved
+ <499> DW_AT_type : <0x4b1>
+ <49d> DW_AT_decl_file : 2
+ <49e> DW_AT_decl_line : 1053
+ <4a0> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><4a3>: Abbrev Number: 0
+ <1><4a4>: Abbrev Number: 13 (DW_TAG_array_type)
+ <4a5> DW_AT_type : <0x3e2>
+ <2><4a9>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <4aa> DW_AT_type : <0x308>
+ <4ae> DW_AT_lower_bound : 0
+ <4af> DW_AT_count : 2
+ <2><4b0>: Abbrev Number: 0
+ <1><4b1>: Abbrev Number: 13 (DW_TAG_array_type)
+ <4b2> DW_AT_type : <0xe1>
+ <2><4b6>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <4b7> DW_AT_type : <0x308>
+ <4bb> DW_AT_lower_bound : 0
+ <4bc> DW_AT_count : 2
+ <2><4bd>: Abbrev Number: 0
+ <1><4be>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <4bf> DW_AT_name : (indirect string, offset: 0x2bb): v4l2_sliced_vbi_format
+ <4c3> DW_AT_byte_size : 112
+ <4c4> DW_AT_decl_file : 2
+ <4c5> DW_AT_decl_line : 1061
+ <2><4c7>: Abbrev Number: 5 (DW_TAG_member)
+ <4c8> DW_AT_name : (indirect string, offset: 0x299): service_set
+ <4cc> DW_AT_type : <0x2f6>
+ <4d0> DW_AT_decl_file : 2
+ <4d1> DW_AT_decl_line : 1062
+ <4d3> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><4d6>: Abbrev Number: 5 (DW_TAG_member)
+ <4d7> DW_AT_name : (indirect string, offset: 0x2a5): service_lines
+ <4db> DW_AT_type : <0x504>
+ <4df> DW_AT_decl_file : 2
+ <4e0> DW_AT_decl_line : 1063
+ <4e2> DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+ <2><4e5>: Abbrev Number: 5 (DW_TAG_member)
+ <4e6> DW_AT_name : (indirect string, offset: 0x2b3): io_size
+ <4ea> DW_AT_type : <0xe1>
+ <4ee> DW_AT_decl_file : 2
+ <4ef> DW_AT_decl_line : 1064
+ <4f1> DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100)
+ <2><4f4>: Abbrev Number: 5 (DW_TAG_member)
+ <4f5> DW_AT_name : (indirect string, offset: 0x15e): reserved
+ <4f9> DW_AT_type : <0x4b1>
+ <4fd> DW_AT_decl_file : 2
+ <4fe> DW_AT_decl_line : 1065
+ <500> DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104)
+ <2><503>: Abbrev Number: 0
+ <1><504>: Abbrev Number: 13 (DW_TAG_array_type)
+ <505> DW_AT_type : <0x2f6>
+ <2><509>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <50a> DW_AT_type : <0x308>
+ <50e> DW_AT_lower_bound : 0
+ <50f> DW_AT_count : 2
+ <2><510>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <511> DW_AT_type : <0x308>
+ <515> DW_AT_lower_bound : 0
+ <516> DW_AT_count : 24
+ <2><517>: Abbrev Number: 0
+ <1><518>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <519> DW_AT_name : (indirect string, offset: 0x2e1): v4l2_sdr_format
+ <51d> DW_AT_byte_size : 32
+ <51e> DW_AT_decl_file : 2
+ <51f> DW_AT_decl_line : 1132
+ <2><521>: Abbrev Number: 5 (DW_TAG_member)
+ <522> DW_AT_name : (indirect string, offset: 0xd5): pixelformat
+ <526> DW_AT_type : <0xe1>
+ <52a> DW_AT_decl_file : 2
+ <52b> DW_AT_decl_line : 1133
+ <52d> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><530>: Abbrev Number: 5 (DW_TAG_member)
+ <531> DW_AT_name : (indirect string, offset: 0x2d6): buffersize
+ <535> DW_AT_type : <0xe1>
+ <539> DW_AT_decl_file : 2
+ <53a> DW_AT_decl_line : 1134
+ <53c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><53f>: Abbrev Number: 5 (DW_TAG_member)
+ <540> DW_AT_name : (indirect string, offset: 0x15e): reserved
+ <544> DW_AT_type : <0x54f>
+ <548> DW_AT_decl_file : 2
+ <549> DW_AT_decl_line : 1135
+ <54b> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><54e>: Abbrev Number: 0
+ <1><54f>: Abbrev Number: 13 (DW_TAG_array_type)
+ <550> DW_AT_type : <0x30f>
+ <2><554>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <555> DW_AT_type : <0x308>
+ <559> DW_AT_lower_bound : 0
+ <55a> DW_AT_count : 24
+ <2><55b>: Abbrev Number: 0
+ <1><55c>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <55d> DW_AT_name : (indirect string, offset: 0x301): v4l2_meta_format
+ <561> DW_AT_byte_size : 8
+ <562> DW_AT_decl_file : 2
+ <563> DW_AT_decl_line : 1137
+ <2><565>: Abbrev Number: 5 (DW_TAG_member)
+ <566> DW_AT_name : (indirect string, offset: 0x2f6): dataformat
+ <56a> DW_AT_type : <0xe1>
+ <56e> DW_AT_decl_file : 2
+ <56f> DW_AT_decl_line : 1138
+ <571> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><574>: Abbrev Number: 5 (DW_TAG_member)
+ <575> DW_AT_name : (indirect string, offset: 0x2d6): buffersize
+ <579> DW_AT_type : <0xe1>
+ <57d> DW_AT_decl_file : 2
+ <57e> DW_AT_decl_line : 1139
+ <580> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><583>: Abbrev Number: 0
+ <1><584>: Abbrev Number: 13 (DW_TAG_array_type)
+ <585> DW_AT_type : <0x30f>
+ <2><589>: Abbrev Number: 14 (DW_TAG_subrange_type)
+ <58a> DW_AT_type : <0x308>
+ <58e> DW_AT_lower_bound : 0
+ <58f> DW_AT_count : 200
+ <2><590>: Abbrev Number: 0
+ <1><591>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_format.d2 b/mpers-m32/struct_v4l2_format.d2
new file mode 100644
index 00000000..b5b51684
--- /dev/null
+++ b/mpers-m32/struct_v4l2_format.d2
@@ -0,0 +1,713 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x97): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x327): struct_v4l2_format
+DW_AT_decl_file : 3
+DW_AT_decl_line : 48
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x31b): v4l2_format
+DW_AT_byte_size : 204
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1141
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa8): type
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1142
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc0): fmt
+DW_AT_type : <0x62>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1152
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><62>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 200
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1143
+<3><67>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc4): pix
+DW_AT_type : <0xf3>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1144
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><76>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x14d): pix_mp
+DW_AT_type : <0x1c1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1145
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><85>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d0): win
+DW_AT_type : <0x32e>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1146
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><94>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x23e): vbi
+DW_AT_type : <0x422>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1147
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><a3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x292): sliced
+DW_AT_type : <0x4be>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1148
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><b2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2d2): sdr
+DW_AT_type : <0x518>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1149
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f1): meta
+DW_AT_type : <0x55c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1150
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><d0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x312): raw_data
+DW_AT_type : <0x584>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1151
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<1><e1>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xec>
+DW_AT_name : (indirect string, offset: 0xba): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><ec>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xad): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><f3>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x13d): v4l2_pix_format
+DW_AT_byte_size : 48
+DW_AT_decl_file : 2
+DW_AT_decl_line : 182
+<2><fb>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc8): width
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 183
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><109>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xce): height
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 184
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><117>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): pixelformat
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 185
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><125>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): field
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 186
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><133>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe7): bytesperline
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 187
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><141>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf4): sizeimage
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 188
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><14f>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfe): colorspace
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 189
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><15d>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x109): priv
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 190
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><16b>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10e): flags
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 191
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><179>
+Abbrev Number: 10 (DW_TAG_member)
+DW_AT_type : <0x183>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 192
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><183>
+Abbrev Number: 11 (DW_TAG_union_type)
+DW_AT_byte_size : 4
+DW_AT_decl_file : 2
+DW_AT_decl_line : 192
+<3><187>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x114): ycbcr_enc
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 193
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><195>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11e): hsv_enc
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 194
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1a4>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x126): quantization
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 196
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><1b2>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x133): xfer_func
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 197
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<1><1c1>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1b9): v4l2_pix_format_mplane
+DW_AT_byte_size : 192
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1115
+<2><1ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc8): width
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1116
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><1d9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xce): height
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1117
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><1e8>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): pixelformat
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1118
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><1f7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): field
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1119
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><206>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfe): colorspace
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1120
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><215>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x154): plane_fmt
+DW_AT_type : <0x2a5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1121
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><224>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x19b): num_planes
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1122
+DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180)
+<2><234>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10e): flags
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1123
+DW_AT_data_member_location: 3 byte block: 23 b5 1 (DW_OP_plus_uconst: 181)
+<2><244>
+Abbrev Number: 12 (DW_TAG_member)
+DW_AT_type : <0x250>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1124
+DW_AT_data_member_location: 3 byte block: 23 b6 1 (DW_OP_plus_uconst: 182)
+<2><250>
+Abbrev Number: 6 (DW_TAG_union_type)
+DW_AT_byte_size : 1
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1124
+<3><255>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x114): ycbcr_enc
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1125
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><264>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11e): hsv_enc
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1126
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><274>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x126): quantization
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1128
+DW_AT_data_member_location: 3 byte block: 23 b7 1 (DW_OP_plus_uconst: 183)
+<2><284>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x133): xfer_func
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1129
+DW_AT_data_member_location: 3 byte block: 23 b8 1 (DW_OP_plus_uconst: 184)
+<2><294>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): reserved
+DW_AT_type : <0x321>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1130
+DW_AT_data_member_location: 3 byte block: 23 b9 1 (DW_OP_plus_uconst: 185)
+<1><2a5>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x2b2>
+<2><2aa>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 8
+<1><2b2>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x185): v4l2_plane_pix_format
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1110
+<2><2bb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf4): sizeimage
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1111
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><2ca>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe7): bytesperline
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1112
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><2d9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): reserved
+DW_AT_type : <0x2e9>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1113
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><2e9>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x2f6>
+<2><2ee>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 6
+<1><2f6>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x301>
+DW_AT_name : (indirect string, offset: 0x176): __u16
+DW_AT_decl_file : 1
+DW_AT_decl_line : 26
+<1><301>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x167): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><308>
+Abbrev Number: 15 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x17c): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><30f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x31a>
+DW_AT_name : (indirect string, offset: 0x1b4): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><31a>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1a6): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><321>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x30f>
+<2><326>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 7
+<1><32e>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x232): v4l2_window
+DW_AT_byte_size : 40
+DW_AT_decl_file : 2
+DW_AT_decl_line : 547
+<2><337>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d4): w
+DW_AT_type : <0x3a1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 548
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><346>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): field
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 549
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><355>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1f3): chromakey
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 550
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><364>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1fd): clips
+DW_AT_type : <0x3f4>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 551
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><373>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x214): clipcount
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 552
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><382>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x21e): bitmap
+DW_AT_type : <0x421>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 553
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><391>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x225): global_alpha
+DW_AT_type : <0x30f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 554
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<1><3a1>
+Abbrev Number: 8 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x1e9): v4l2_rect
+DW_AT_byte_size : 16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 135
+<2><3a9>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1d6): left
+DW_AT_type : <0x3e2>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 136
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><3b7>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x1e5): top
+DW_AT_type : <0x3e2>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 137
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><3c5>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc8): width
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 138
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><3d3>
+Abbrev Number: 9 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xce): height
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 139
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><3e2>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3ed>
+DW_AT_name : (indirect string, offset: 0x1df): __s32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 27
+<1><3ed>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x1db): int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><3f4>
+Abbrev Number: 16 (DW_TAG_pointer_type)
+DW_AT_type : <0x3f9>
+<1><3f9>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x20a): v4l2_clip
+DW_AT_byte_size : 20
+DW_AT_decl_file : 2
+DW_AT_decl_line : 543
+<2><402>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x203): c
+DW_AT_type : <0x3a1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 544
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><411>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x205): next
+DW_AT_type : <0x3f4>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 545
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<1><421>
+Abbrev Number: 17 (DW_TAG_pointer_type)
+<1><422>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x282): v4l2_vbi_format
+DW_AT_byte_size : 44
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1045
+<2><42b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x242): sampling_rate
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1046
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><43a>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x250): offset
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1047
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><449>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x257): samples_per_line
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1048
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><458>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x268): sample_format
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1049
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><467>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x276): start
+DW_AT_type : <0x4a4>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1050
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><476>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x27c): count
+DW_AT_type : <0x4b1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1051
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><485>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10e): flags
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1052
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><494>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): reserved
+DW_AT_type : <0x4b1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1053
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<1><4a4>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x3e2>
+<2><4a9>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><4b1>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0xe1>
+<2><4b6>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<1><4be>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2bb): v4l2_sliced_vbi_format
+DW_AT_byte_size : 112
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1061
+<2><4c7>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x299): service_set
+DW_AT_type : <0x2f6>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1062
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><4d6>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2a5): service_lines
+DW_AT_type : <0x504>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1063
+DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
+<2><4e5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2b3): io_size
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1064
+DW_AT_data_member_location: 2 byte block: 23 64 (DW_OP_plus_uconst: 100)
+<2><4f4>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): reserved
+DW_AT_type : <0x4b1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1065
+DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104)
+<1><504>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x2f6>
+<2><509>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 2
+<2><510>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 24
+<1><518>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x2e1): v4l2_sdr_format
+DW_AT_byte_size : 32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1132
+<2><521>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd5): pixelformat
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1133
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><530>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2d6): buffersize
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1134
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><53f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15e): reserved
+DW_AT_type : <0x54f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1135
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<1><54f>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x30f>
+<2><554>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 24
+<1><55c>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x301): v4l2_meta_format
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1137
+<2><565>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2f6): dataformat
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1138
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><574>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x2d6): buffersize
+DW_AT_type : <0xe1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 1139
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><584>
+Abbrev Number: 13 (DW_TAG_array_type)
+DW_AT_type : <0x30f>
+<2><589>
+Abbrev Number: 14 (DW_TAG_subrange_type)
+DW_AT_type : <0x308>
+DW_AT_lower_bound : 0
+DW_AT_count : 200
diff --git a/mpers-m32/struct_v4l2_format.h b/mpers-m32/struct_v4l2_format.h
new file mode 100644
index 00000000..f45ffd12
--- /dev/null
+++ b/mpers-m32/struct_v4l2_format.h
@@ -0,0 +1,92 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint32_t type;
+union {
+struct {
+uint32_t width;
+uint32_t height;
+uint32_t pixelformat;
+uint32_t field;
+uint32_t bytesperline;
+uint32_t sizeimage;
+uint32_t colorspace;
+uint32_t priv;
+uint32_t flags;
+union {
+uint32_t ycbcr_enc;
+uint32_t hsv_enc;
+} ;
+uint32_t quantization;
+uint32_t xfer_func;
+} ATTRIBUTE_PACKED pix;
+struct {
+uint32_t width;
+uint32_t height;
+uint32_t pixelformat;
+uint32_t field;
+uint32_t colorspace;
+struct {
+uint32_t sizeimage;
+uint32_t bytesperline;
+uint16_t reserved[6];
+} ATTRIBUTE_PACKED plane_fmt[8];
+unsigned char num_planes;
+unsigned char flags;
+union {
+unsigned char ycbcr_enc;
+unsigned char hsv_enc;
+} ;
+unsigned char quantization;
+unsigned char xfer_func;
+unsigned char reserved[7];
+} ATTRIBUTE_PACKED pix_mp;
+struct {
+struct {
+int32_t left;
+int32_t top;
+uint32_t width;
+uint32_t height;
+} ATTRIBUTE_PACKED w;
+uint32_t field;
+uint32_t chromakey;
+mpers_ptr_t clips;
+uint32_t clipcount;
+mpers_ptr_t bitmap;
+unsigned char global_alpha;
+unsigned char mpers_end_filler_1[3];
+} ATTRIBUTE_PACKED win;
+struct {
+uint32_t sampling_rate;
+uint32_t offset;
+uint32_t samples_per_line;
+uint32_t sample_format;
+int32_t start[2];
+uint32_t count[2];
+uint32_t flags;
+uint32_t reserved[2];
+} ATTRIBUTE_PACKED vbi;
+struct {
+uint16_t service_set;
+uint16_t service_lines[2][24];
+unsigned char mpers_filler_2[2];
+uint32_t io_size;
+uint32_t reserved[2];
+} ATTRIBUTE_PACKED sliced;
+struct {
+uint32_t pixelformat;
+uint32_t buffersize;
+unsigned char reserved[24];
+} ATTRIBUTE_PACKED sdr;
+struct {
+uint32_t dataformat;
+uint32_t buffersize;
+} ATTRIBUTE_PACKED meta;
+unsigned char raw_data[200];
+} fmt;
+} ATTRIBUTE_PACKED m32_struct_v4l2_format;
+#define MPERS_m32_struct_v4l2_format m32_struct_v4l2_format
diff --git a/mpers-m32/struct_v4l2_framebuffer.c b/mpers-m32/struct_v4l2_framebuffer.c
new file mode 100644
index 00000000..b63e5e9f
--- /dev/null
+++ b/mpers-m32/struct_v4l2_framebuffer.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_framebuffer mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_framebuffer.d1 b/mpers-m32/struct_v4l2_framebuffer.d1
new file mode 100644
index 00000000..c8bf45da
--- /dev/null
+++ b/mpers-m32/struct_v4l2_framebuffer.d1
@@ -0,0 +1,120 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x10f (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_framebuffer.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x61): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x9c): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x131): struct_v4l2_framebuffer
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 49
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x120): v4l2_framebuffer
+ <40> DW_AT_byte_size : 44
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 513
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xad): capability
+ <49> DW_AT_type : <0xff>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 514
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xcb): flags
+ <58> DW_AT_type : <0xff>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 515
+ <5f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xd1): base
+ <67> DW_AT_type : <0x111>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 516
+ <6e> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xd6): fmt
+ <76> DW_AT_type : <0x80>
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 526
+ <7d> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><80>: Abbrev Number: 6 (DW_TAG_structure_type)
+ <81> DW_AT_byte_size : 32
+ <82> DW_AT_decl_file : 2
+ <83> DW_AT_decl_line : 517
+ <3><85>: Abbrev Number: 5 (DW_TAG_member)
+ <86> DW_AT_name : (indirect string, offset: 0xda): width
+ <8a> DW_AT_type : <0xff>
+ <8e> DW_AT_decl_file : 2
+ <8f> DW_AT_decl_line : 518
+ <91> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <3><94>: Abbrev Number: 5 (DW_TAG_member)
+ <95> DW_AT_name : (indirect string, offset: 0xe0): height
+ <99> DW_AT_type : <0xff>
+ <9d> DW_AT_decl_file : 2
+ <9e> DW_AT_decl_line : 519
+ <a0> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <3><a3>: Abbrev Number: 5 (DW_TAG_member)
+ <a4> DW_AT_name : (indirect string, offset: 0xe7): pixelformat
+ <a8> DW_AT_type : <0xff>
+ <ac> DW_AT_decl_file : 2
+ <ad> DW_AT_decl_line : 520
+ <af> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <3><b2>: Abbrev Number: 5 (DW_TAG_member)
+ <b3> DW_AT_name : (indirect string, offset: 0xf3): field
+ <b7> DW_AT_type : <0xff>
+ <bb> DW_AT_decl_file : 2
+ <bc> DW_AT_decl_line : 521
+ <be> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <3><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0xf9): bytesperline
+ <c6> DW_AT_type : <0xff>
+ <ca> DW_AT_decl_file : 2
+ <cb> DW_AT_decl_line : 522
+ <cd> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <3><d0>: Abbrev Number: 5 (DW_TAG_member)
+ <d1> DW_AT_name : (indirect string, offset: 0x106): sizeimage
+ <d5> DW_AT_type : <0xff>
+ <d9> DW_AT_decl_file : 2
+ <da> DW_AT_decl_line : 523
+ <dc> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <3><df>: Abbrev Number: 5 (DW_TAG_member)
+ <e0> DW_AT_name : (indirect string, offset: 0x110): colorspace
+ <e4> DW_AT_type : <0xff>
+ <e8> DW_AT_decl_file : 2
+ <e9> DW_AT_decl_line : 524
+ <eb> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <3><ee>: Abbrev Number: 5 (DW_TAG_member)
+ <ef> DW_AT_name : (indirect string, offset: 0x11b): priv
+ <f3> DW_AT_type : <0xff>
+ <f7> DW_AT_decl_file : 2
+ <f8> DW_AT_decl_line : 525
+ <fa> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <3><fd>: Abbrev Number: 0
+ <2><fe>: Abbrev Number: 0
+ <1><ff>: Abbrev Number: 3 (DW_TAG_typedef)
+ <100> DW_AT_type : <0x10a>
+ <104> DW_AT_name : (indirect string, offset: 0xc5): __u32
+ <108> DW_AT_decl_file : 1
+ <109> DW_AT_decl_line : 28
+ <1><10a>: Abbrev Number: 7 (DW_TAG_base_type)
+ <10b> DW_AT_name : (indirect string, offset: 0xb8): unsigned int
+ <10f> DW_AT_encoding : 7 (unsigned)
+ <110> DW_AT_byte_size : 4
+ <1><111>: Abbrev Number: 8 (DW_TAG_pointer_type)
+ <1><112>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_framebuffer.d2 b/mpers-m32/struct_v4l2_framebuffer.d2
new file mode 100644
index 00000000..ea46f281
--- /dev/null
+++ b/mpers-m32/struct_v4l2_framebuffer.d2
@@ -0,0 +1,122 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x9c): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x131): struct_v4l2_framebuffer
+DW_AT_decl_file : 3
+DW_AT_decl_line : 49
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x120): v4l2_framebuffer
+DW_AT_byte_size : 44
+DW_AT_decl_file : 2
+DW_AT_decl_line : 513
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xad): capability
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 514
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcb): flags
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 515
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd1): base
+DW_AT_type : <0x111>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 516
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd6): fmt
+DW_AT_type : <0x80>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 526
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<2><80>
+Abbrev Number: 6 (DW_TAG_structure_type)
+DW_AT_byte_size : 32
+DW_AT_decl_file : 2
+DW_AT_decl_line : 517
+<3><85>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xda): width
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 518
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<3><94>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe0): height
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 519
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<3><a3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe7): pixelformat
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 520
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<3><b2>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf3): field
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 521
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<3><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf9): bytesperline
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 522
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<3><d0>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x106): sizeimage
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 523
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<3><df>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x110): colorspace
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 524
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<3><ee>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11b): priv
+DW_AT_type : <0xff>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 525
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<1><ff>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x10a>
+DW_AT_name : (indirect string, offset: 0xc5): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><10a>
+Abbrev Number: 7 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb8): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><111>
+Abbrev Number: 8 (DW_TAG_pointer_type)
diff --git a/mpers-m32/struct_v4l2_framebuffer.h b/mpers-m32/struct_v4l2_framebuffer.h
new file mode 100644
index 00000000..7dee9042
--- /dev/null
+++ b/mpers-m32/struct_v4l2_framebuffer.h
@@ -0,0 +1,22 @@
+#include <stdint.h>
+#ifndef mpers_ptr_t_is_uint32_t
+typedef uint32_t mpers_ptr_t;
+#define mpers_ptr_t_is_uint32_t
+#endif
+typedef
+struct {
+uint32_t capability;
+uint32_t flags;
+mpers_ptr_t base;
+struct {
+uint32_t width;
+uint32_t height;
+uint32_t pixelformat;
+uint32_t field;
+uint32_t bytesperline;
+uint32_t sizeimage;
+uint32_t colorspace;
+uint32_t priv;
+} ATTRIBUTE_PACKED fmt;
+} ATTRIBUTE_PACKED m32_struct_v4l2_framebuffer;
+#define MPERS_m32_struct_v4l2_framebuffer m32_struct_v4l2_framebuffer
diff --git a/mpers-m32/struct_v4l2_input.c b/mpers-m32/struct_v4l2_input.c
new file mode 100644
index 00000000..99cc6f5f
--- /dev/null
+++ b/mpers-m32/struct_v4l2_input.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_input mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_input.d1 b/mpers-m32/struct_v4l2_input.d1
new file mode 100644
index 00000000..d7d48352
--- /dev/null
+++ b/mpers-m32/struct_v4l2_input.d1
@@ -0,0 +1,137 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x12c (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_input.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5b): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x96): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x14a): struct_v4l2_input
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 50
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x13f): v4l2_input
+ <40> DW_AT_byte_size : 80
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 728
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xa7): index
+ <49> DW_AT_type : <0xcc>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 729
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xc0): name
+ <58> DW_AT_type : <0xde>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 730
+ <5f> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xe1): type
+ <67> DW_AT_type : <0xcc>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 731
+ <6e> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0xe6): audioset
+ <76> DW_AT_type : <0xcc>
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 732
+ <7d> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><80>: Abbrev Number: 5 (DW_TAG_member)
+ <81> DW_AT_name : (indirect string, offset: 0xef): tuner
+ <85> DW_AT_type : <0xcc>
+ <89> DW_AT_decl_file : 2
+ <8a> DW_AT_decl_line : 733
+ <8c> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><8f>: Abbrev Number: 5 (DW_TAG_member)
+ <90> DW_AT_name : (indirect string, offset: 0xf5): std
+ <94> DW_AT_type : <0x104>
+ <98> DW_AT_decl_file : 2
+ <99> DW_AT_decl_line : 734
+ <9b> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><9e>: Abbrev Number: 5 (DW_TAG_member)
+ <9f> DW_AT_name : (indirect string, offset: 0x122): status
+ <a3> DW_AT_type : <0xcc>
+ <a7> DW_AT_decl_file : 2
+ <a8> DW_AT_decl_line : 735
+ <aa> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><ad>: Abbrev Number: 5 (DW_TAG_member)
+ <ae> DW_AT_name : (indirect string, offset: 0x129): capabilities
+ <b2> DW_AT_type : <0xcc>
+ <b6> DW_AT_decl_file : 2
+ <b7> DW_AT_decl_line : 736
+ <b9> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+ <2><bc>: Abbrev Number: 5 (DW_TAG_member)
+ <bd> DW_AT_name : (indirect string, offset: 0x136): reserved
+ <c1> DW_AT_type : <0x122>
+ <c5> DW_AT_decl_file : 2
+ <c6> DW_AT_decl_line : 737
+ <c8> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+ <2><cb>: Abbrev Number: 0
+ <1><cc>: Abbrev Number: 3 (DW_TAG_typedef)
+ <cd> DW_AT_type : <0xd7>
+ <d1> DW_AT_name : (indirect string, offset: 0xba): __u32
+ <d5> DW_AT_decl_file : 1
+ <d6> DW_AT_decl_line : 28
+ <1><d7>: Abbrev Number: 6 (DW_TAG_base_type)
+ <d8> DW_AT_name : (indirect string, offset: 0xad): unsigned int
+ <dc> DW_AT_encoding : 7 (unsigned)
+ <dd> DW_AT_byte_size : 4
+ <1><de>: Abbrev Number: 7 (DW_TAG_array_type)
+ <df> DW_AT_type : <0xeb>
+ <2><e3>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <e4> DW_AT_type : <0xfd>
+ <e8> DW_AT_lower_bound : 0
+ <e9> DW_AT_count : 32
+ <2><ea>: Abbrev Number: 0
+ <1><eb>: Abbrev Number: 3 (DW_TAG_typedef)
+ <ec> DW_AT_type : <0xf6>
+ <f0> DW_AT_name : (indirect string, offset: 0xd3): __u8
+ <f4> DW_AT_decl_file : 1
+ <f5> DW_AT_decl_line : 24
+ <1><f6>: Abbrev Number: 6 (DW_TAG_base_type)
+ <f7> DW_AT_name : (indirect string, offset: 0xc5): unsigned char
+ <fb> DW_AT_encoding : 8 (unsigned char)
+ <fc> DW_AT_byte_size : 1
+ <1><fd>: Abbrev Number: 9 (DW_TAG_base_type)
+ <fe> DW_AT_name : (indirect string, offset: 0xd8): sizetype
+ <102> DW_AT_byte_size : 8
+ <103> DW_AT_encoding : 7 (unsigned)
+ <1><104>: Abbrev Number: 10 (DW_TAG_typedef)
+ <105> DW_AT_type : <0x110>
+ <109> DW_AT_name : (indirect string, offset: 0x116): v4l2_std_id
+ <10d> DW_AT_decl_file : 2
+ <10e> DW_AT_decl_line : 591
+ <1><110>: Abbrev Number: 3 (DW_TAG_typedef)
+ <111> DW_AT_type : <0x11b>
+ <115> DW_AT_name : (indirect string, offset: 0x110): __u64
+ <119> DW_AT_decl_file : 1
+ <11a> DW_AT_decl_line : 31
+ <1><11b>: Abbrev Number: 6 (DW_TAG_base_type)
+ <11c> DW_AT_name : (indirect string, offset: 0xf9): long long unsigned int
+ <120> DW_AT_encoding : 7 (unsigned)
+ <121> DW_AT_byte_size : 8
+ <1><122>: Abbrev Number: 7 (DW_TAG_array_type)
+ <123> DW_AT_type : <0xcc>
+ <2><127>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <128> DW_AT_type : <0xfd>
+ <12c> DW_AT_lower_bound : 0
+ <12d> DW_AT_count : 3
+ <2><12e>: Abbrev Number: 0
+ <1><12f>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_input.d2 b/mpers-m32/struct_v4l2_input.d2
new file mode 100644
index 00000000..55ca5fe8
--- /dev/null
+++ b/mpers-m32/struct_v4l2_input.d2
@@ -0,0 +1,143 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x96): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x14a): struct_v4l2_input
+DW_AT_decl_file : 3
+DW_AT_decl_line : 50
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x13f): v4l2_input
+DW_AT_byte_size : 80
+DW_AT_decl_file : 2
+DW_AT_decl_line : 728
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa7): index
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 729
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc0): name
+DW_AT_type : <0xde>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 730
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe1): type
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 731
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe6): audioset
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 732
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><80>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xef): tuner
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 733
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><8f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf5): std
+DW_AT_type : <0x104>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 734
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><9e>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x122): status
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 735
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<2><ad>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x129): capabilities
+DW_AT_type : <0xcc>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 736
+DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
+<2><bc>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x136): reserved
+DW_AT_type : <0x122>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 737
+DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
+<1><cc>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xd7>
+DW_AT_name : (indirect string, offset: 0xba): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><d7>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xad): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><de>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0xeb>
+<2><e3>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0xfd>
+DW_AT_lower_bound : 0
+DW_AT_count : 32
+<1><eb>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xf6>
+DW_AT_name : (indirect string, offset: 0xd3): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><f6>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc5): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><fd>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xd8): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><104>
+Abbrev Number: 10 (DW_TAG_typedef)
+DW_AT_type : <0x110>
+DW_AT_name : (indirect string, offset: 0x116): v4l2_std_id
+DW_AT_decl_file : 2
+DW_AT_decl_line : 591
+<1><110>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x11b>
+DW_AT_name : (indirect string, offset: 0x110): __u64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<1><11b>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf9): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><122>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0xcc>
+<2><127>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0xfd>
+DW_AT_lower_bound : 0
+DW_AT_count : 3
diff --git a/mpers-m32/struct_v4l2_input.h b/mpers-m32/struct_v4l2_input.h
new file mode 100644
index 00000000..067312a3
--- /dev/null
+++ b/mpers-m32/struct_v4l2_input.h
@@ -0,0 +1,15 @@
+#include <stdint.h>
+typedef
+struct {
+uint32_t index;
+unsigned char name[32];
+uint32_t type;
+uint32_t audioset;
+uint32_t tuner;
+uint64_t std;
+uint32_t status;
+uint32_t capabilities;
+uint32_t reserved[3];
+unsigned char mpers_end_filler_1[4];
+} ATTRIBUTE_PACKED m32_struct_v4l2_input;
+#define MPERS_m32_struct_v4l2_input m32_struct_v4l2_input
diff --git a/mpers-m32/struct_v4l2_standard.c b/mpers-m32/struct_v4l2_standard.c
new file mode 100644
index 00000000..469f120a
--- /dev/null
+++ b/mpers-m32/struct_v4l2_standard.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2018 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 <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifdef VIDIOC_CREATE_BUFS
+#endif
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+#ifdef VIDIOC_CREATE_BUFS
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+#endif
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_standard mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_standard.d1 b/mpers-m32/struct_v4l2_standard.d1
new file mode 100644
index 00000000..74db884e
--- /dev/null
+++ b/mpers-m32/struct_v4l2_standard.d1
@@ -0,0 +1,137 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x124 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_standard.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x5e): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x99): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 53
+ <2a> DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x15f): struct_v4l2_standard
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 51
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x151): v4l2_standard
+ <40> DW_AT_byte_size : 72
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 638
+ <2><44>: Abbrev Number: 5 (DW_TAG_member)
+ <45> DW_AT_name : (indirect string, offset: 0xaa): index
+ <49> DW_AT_type : <0x9f>
+ <4d> DW_AT_decl_file : 2
+ <4e> DW_AT_decl_line : 639
+ <50> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><53>: Abbrev Number: 5 (DW_TAG_member)
+ <54> DW_AT_name : (indirect string, offset: 0xc3): id
+ <58> DW_AT_type : <0xb1>
+ <5c> DW_AT_decl_file : 2
+ <5d> DW_AT_decl_line : 640
+ <5f> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><62>: Abbrev Number: 5 (DW_TAG_member)
+ <63> DW_AT_name : (indirect string, offset: 0xef): name
+ <67> DW_AT_type : <0xcf>
+ <6b> DW_AT_decl_file : 2
+ <6c> DW_AT_decl_line : 641
+ <6e> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><71>: Abbrev Number: 5 (DW_TAG_member)
+ <72> DW_AT_name : (indirect string, offset: 0x110): frameperiod
+ <76> DW_AT_type : <0xf5>
+ <7a> DW_AT_decl_file : 2
+ <7b> DW_AT_decl_line : 642
+ <7d> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><80>: Abbrev Number: 5 (DW_TAG_member)
+ <81> DW_AT_name : (indirect string, offset: 0x13d): framelines
+ <85> DW_AT_type : <0x9f>
+ <89> DW_AT_decl_file : 2
+ <8a> DW_AT_decl_line : 643
+ <8c> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><8f>: Abbrev Number: 5 (DW_TAG_member)
+ <90> DW_AT_name : (indirect string, offset: 0x148): reserved
+ <94> DW_AT_type : <0x11a>
+ <98> DW_AT_decl_file : 2
+ <99> DW_AT_decl_line : 644
+ <9b> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><9e>: Abbrev Number: 0
+ <1><9f>: Abbrev Number: 3 (DW_TAG_typedef)
+ <a0> DW_AT_type : <0xaa>
+ <a4> DW_AT_name : (indirect string, offset: 0xbd): __u32
+ <a8> DW_AT_decl_file : 1
+ <a9> DW_AT_decl_line : 28
+ <1><aa>: Abbrev Number: 6 (DW_TAG_base_type)
+ <ab> DW_AT_name : (indirect string, offset: 0xb0): unsigned int
+ <af> DW_AT_encoding : 7 (unsigned)
+ <b0> DW_AT_byte_size : 4
+ <1><b1>: Abbrev Number: 7 (DW_TAG_typedef)
+ <b2> DW_AT_type : <0xbd>
+ <b6> DW_AT_name : (indirect string, offset: 0xe3): v4l2_std_id
+ <ba> DW_AT_decl_file : 2
+ <bb> DW_AT_decl_line : 591
+ <1><bd>: Abbrev Number: 3 (DW_TAG_typedef)
+ <be> DW_AT_type : <0xc8>
+ <c2> DW_AT_name : (indirect string, offset: 0xdd): __u64
+ <c6> DW_AT_decl_file : 1
+ <c7> DW_AT_decl_line : 31
+ <1><c8>: Abbrev Number: 6 (DW_TAG_base_type)
+ <c9> DW_AT_name : (indirect string, offset: 0xc6): long long unsigned int
+ <cd> DW_AT_encoding : 7 (unsigned)
+ <ce> DW_AT_byte_size : 8
+ <1><cf>: Abbrev Number: 8 (DW_TAG_array_type)
+ <d0> DW_AT_type : <0xdc>
+ <2><d4>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <d5> DW_AT_type : <0xee>
+ <d9> DW_AT_lower_bound : 0
+ <da> DW_AT_count : 24
+ <2><db>: Abbrev Number: 0
+ <1><dc>: Abbrev Number: 3 (DW_TAG_typedef)
+ <dd> DW_AT_type : <0xe7>
+ <e1> DW_AT_name : (indirect string, offset: 0x102): __u8
+ <e5> DW_AT_decl_file : 1
+ <e6> DW_AT_decl_line : 24
+ <1><e7>: Abbrev Number: 6 (DW_TAG_base_type)
+ <e8> DW_AT_name : (indirect string, offset: 0xf4): unsigned char
+ <ec> DW_AT_encoding : 8 (unsigned char)
+ <ed> DW_AT_byte_size : 1
+ <1><ee>: Abbrev Number: 10 (DW_TAG_base_type)
+ <ef> DW_AT_name : (indirect string, offset: 0x107): sizetype
+ <f3> DW_AT_byte_size : 8
+ <f4> DW_AT_encoding : 7 (unsigned)
+ <1><f5>: Abbrev Number: 11 (DW_TAG_structure_type)
+ <f6> DW_AT_name : (indirect string, offset: 0x132): v4l2_fract
+ <fa> DW_AT_byte_size : 8
+ <fb> DW_AT_decl_file : 2
+ <fc> DW_AT_decl_line : 141
+ <2><fd>: Abbrev Number: 12 (DW_TAG_member)
+ <fe> DW_AT_name : (indirect string, offset: 0x11c): numerator
+ <102> DW_AT_type : <0x9f>
+ <106> DW_AT_decl_file : 2
+ <107> DW_AT_decl_line : 142
+ <108> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><10b>: Abbrev Number: 12 (DW_TAG_member)
+ <10c> DW_AT_name : (indirect string, offset: 0x126): denominator
+ <110> DW_AT_type : <0x9f>
+ <114> DW_AT_decl_file : 2
+ <115> DW_AT_decl_line : 143
+ <116> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><119>: Abbrev Number: 0
+ <1><11a>: Abbrev Number: 8 (DW_TAG_array_type)
+ <11b> DW_AT_type : <0x9f>
+ <2><11f>: Abbrev Number: 9 (DW_TAG_subrange_type)
+ <120> DW_AT_type : <0xee>
+ <124> DW_AT_lower_bound : 0
+ <125> DW_AT_count : 4
+ <2><126>: Abbrev Number: 0
+ <1><127>: Abbrev Number: 0
+
diff --git a/mpers-m32/struct_v4l2_standard.d2 b/mpers-m32/struct_v4l2_standard.d2
new file mode 100644
index 00000000..dd295577
--- /dev/null
+++ b/mpers-m32/struct_v4l2_standard.d2
@@ -0,0 +1,142 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x99): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 53
+DW_AT_location : 5 byte block: 3 8 0 0 0 (DW_OP_addr: 8)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x15f): struct_v4l2_standard
+DW_AT_decl_file : 3
+DW_AT_decl_line : 51
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x151): v4l2_standard
+DW_AT_byte_size : 72
+DW_AT_decl_file : 2
+DW_AT_decl_line : 638
+<2><44>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xaa): index
+DW_AT_type : <0x9f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 639
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><53>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xc3): id
+DW_AT_type : <0xb1>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 640
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><62>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xef): name
+DW_AT_type : <0xcf>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 641
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><71>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x110): frameperiod
+DW_AT_type : <0xf5>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 642
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><80>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x13d): framelines
+DW_AT_type : <0x9f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 643
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><8f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x148): reserved
+DW_AT_type : <0x11a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 644
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<1><9f>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xaa>
+DW_AT_name : (indirect string, offset: 0xbd): __u32
+DW_AT_decl_file : 1
+DW_AT_decl_line : 28
+<1><aa>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xb0): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><b1>
+Abbrev Number: 7 (DW_TAG_typedef)
+DW_AT_type : <0xbd>
+DW_AT_name : (indirect string, offset: 0xe3): v4l2_std_id
+DW_AT_decl_file : 2
+DW_AT_decl_line : 591
+<1><bd>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xc8>
+DW_AT_name : (indirect string, offset: 0xdd): __u64
+DW_AT_decl_file : 1
+DW_AT_decl_line : 31
+<1><c8>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc6): long long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 8
+<1><cf>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0xdc>
+<2><d4>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0xee>
+DW_AT_lower_bound : 0
+DW_AT_count : 24
+<1><dc>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0xe7>
+DW_AT_name : (indirect string, offset: 0x102): __u8
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><e7>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xf4): unsigned char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
+<1><ee>
+Abbrev Number: 10 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x107): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><f5>
+Abbrev Number: 11 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x132): v4l2_fract
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 141
+<2><fd>
+Abbrev Number: 12 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x11c): numerator
+DW_AT_type : <0x9f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 142
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><10b>
+Abbrev Number: 12 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x126): denominator
+DW_AT_type : <0x9f>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 143
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><11a>
+Abbrev Number: 8 (DW_TAG_array_type)
+DW_AT_type : <0x9f>
+<2><11f>
+Abbrev Number: 9 (DW_TAG_subrange_type)
+DW_AT_type : <0xee>
+DW_AT_lower_bound : 0
+DW_AT_count : 4
diff --git a/mpers-m32/struct_v4l2_standard.h b/mpers-m32/struct_v4l2_standard.h
new file mode 100644
index 00000000..e611641e
--- /dev/null
+++ b/mpers-m32/struct_v4l2_standard.h
@@ -0,0 +1,16 @@
+#include <stdint.h>
+typedef
+struct {
+uint32_t index;
+unsigned char mpers_filler_1[4];
+uint64_t id;
+unsigned char name[24];
+struct {
+uint32_t numerator;
+uint32_t denominator;
+} ATTRIBUTE_PACKED frameperiod;
+uint32_t framelines;
+uint32_t reserved[4];
+unsigned char mpers_end_filler_2[4];
+} ATTRIBUTE_PACKED m32_struct_v4l2_standard;
+#define MPERS_m32_struct_v4l2_standard m32_struct_v4l2_standard
diff --git a/mpers-m32/sysinfo_t.c b/mpers-m32/sysinfo_t.c
new file mode 100644
index 00000000..c34a80f6
--- /dev/null
+++ b/mpers-m32/sysinfo_t.c
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
+ * Copyright (c) 2012 Denys Vlasenko <vda.linux@googlemail.com>
+ * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2014-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 <sys/sysinfo.h>
+typedef struct sysinfo sysinfo_t;
+sysinfo_t mpers_target_var;
diff --git a/mpers-m32/sysinfo_t.d1 b/mpers-m32/sysinfo_t.d1
new file mode 100644
index 00000000..60bbc418
--- /dev/null
+++ b/mpers-m32/sysinfo_t.d1
@@ -0,0 +1,175 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x175 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/sysinfo_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x53): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 4
+ <29> DW_AT_decl_line : 39
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0x187): sysinfo_t
+ <39> DW_AT_decl_file : 4
+ <3a> DW_AT_decl_line : 38
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0x17f): sysinfo
+ <40> DW_AT_byte_size : 64
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 23
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9f): uptime
+ <48> DW_AT_type : <0x108>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 24
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xbf): loads
+ <56> DW_AT_type : <0x11a>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 25
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xf1): totalram
+ <64> DW_AT_type : <0x127>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 26
+ <6a> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xfa): freeram
+ <72> DW_AT_type : <0x127>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 27
+ <78> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+ <2><7b>: Abbrev Number: 5 (DW_TAG_member)
+ <7c> DW_AT_name : (indirect string, offset: 0x102): sharedram
+ <80> DW_AT_type : <0x127>
+ <84> DW_AT_decl_file : 2
+ <85> DW_AT_decl_line : 28
+ <86> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+ <2><89>: Abbrev Number: 5 (DW_TAG_member)
+ <8a> DW_AT_name : (indirect string, offset: 0x10c): bufferram
+ <8e> DW_AT_type : <0x127>
+ <92> DW_AT_decl_file : 2
+ <93> DW_AT_decl_line : 29
+ <94> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+ <2><97>: Abbrev Number: 5 (DW_TAG_member)
+ <98> DW_AT_name : (indirect string, offset: 0x116): totalswap
+ <9c> DW_AT_type : <0x127>
+ <a0> DW_AT_decl_file : 2
+ <a1> DW_AT_decl_line : 30
+ <a2> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+ <2><a5>: Abbrev Number: 5 (DW_TAG_member)
+ <a6> DW_AT_name : (indirect string, offset: 0x120): freeswap
+ <aa> DW_AT_type : <0x127>
+ <ae> DW_AT_decl_file : 2
+ <af> DW_AT_decl_line : 31
+ <b0> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+ <2><b3>: Abbrev Number: 5 (DW_TAG_member)
+ <b4> DW_AT_name : (indirect string, offset: 0x129): procs
+ <b8> DW_AT_type : <0x140>
+ <bc> DW_AT_decl_file : 2
+ <bd> DW_AT_decl_line : 32
+ <be> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+ <2><c1>: Abbrev Number: 5 (DW_TAG_member)
+ <c2> DW_AT_name : (indirect string, offset: 0x144): pad
+ <c6> DW_AT_type : <0x140>
+ <ca> DW_AT_decl_file : 2
+ <cb> DW_AT_decl_line : 33
+ <cc> DW_AT_data_member_location: 2 byte block: 23 2a (DW_OP_plus_uconst: 42)
+ <2><cf>: Abbrev Number: 5 (DW_TAG_member)
+ <d0> DW_AT_name : (indirect string, offset: 0x148): totalhigh
+ <d4> DW_AT_type : <0x127>
+ <d8> DW_AT_decl_file : 2
+ <d9> DW_AT_decl_line : 34
+ <da> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+ <2><dd>: Abbrev Number: 5 (DW_TAG_member)
+ <de> DW_AT_name : (indirect string, offset: 0x152): freehigh
+ <e2> DW_AT_type : <0x127>
+ <e6> DW_AT_decl_file : 2
+ <e7> DW_AT_decl_line : 35
+ <e8> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+ <2><eb>: Abbrev Number: 5 (DW_TAG_member)
+ <ec> DW_AT_name : (indirect string, offset: 0x15b): mem_unit
+ <f0> DW_AT_type : <0x152>
+ <f4> DW_AT_decl_file : 2
+ <f5> DW_AT_decl_line : 36
+ <f6> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+ <2><f9>: Abbrev Number: 5 (DW_TAG_member)
+ <fa> DW_AT_name : (indirect string, offset: 0x177): _f
+ <fe> DW_AT_type : <0x164>
+ <102> DW_AT_decl_file : 2
+ <103> DW_AT_decl_line : 37
+ <104> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+ <2><107>: Abbrev Number: 0
+ <1><108>: Abbrev Number: 3 (DW_TAG_typedef)
+ <109> DW_AT_type : <0x113>
+ <10d> DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t
+ <111> DW_AT_decl_file : 1
+ <112> DW_AT_decl_line : 23
+ <1><113>: Abbrev Number: 6 (DW_TAG_base_type)
+ <114> DW_AT_name : (indirect string, offset: 0xa6): long int
+ <118> DW_AT_encoding : 5 (signed)
+ <119> DW_AT_byte_size : 4
+ <1><11a>: Abbrev Number: 7 (DW_TAG_array_type)
+ <11b> DW_AT_type : <0x127>
+ <2><11f>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <120> DW_AT_type : <0x139>
+ <124> DW_AT_lower_bound : 0
+ <125> DW_AT_count : 3
+ <2><126>: Abbrev Number: 0
+ <1><127>: Abbrev Number: 3 (DW_TAG_typedef)
+ <128> DW_AT_type : <0x132>
+ <12c> DW_AT_name : (indirect string, offset: 0xd7): __kernel_ulong_t
+ <130> DW_AT_decl_file : 1
+ <131> DW_AT_decl_line : 24
+ <1><132>: Abbrev Number: 6 (DW_TAG_base_type)
+ <133> DW_AT_name : (indirect string, offset: 0xc5): long unsigned int
+ <137> DW_AT_encoding : 7 (unsigned)
+ <138> DW_AT_byte_size : 4
+ <1><139>: Abbrev Number: 9 (DW_TAG_base_type)
+ <13a> DW_AT_name : (indirect string, offset: 0xe8): sizetype
+ <13e> DW_AT_byte_size : 8
+ <13f> DW_AT_encoding : 7 (unsigned)
+ <1><140>: Abbrev Number: 3 (DW_TAG_typedef)
+ <141> DW_AT_type : <0x14b>
+ <145> DW_AT_name : (indirect string, offset: 0x13e): __u16
+ <149> DW_AT_decl_file : 3
+ <14a> DW_AT_decl_line : 26
+ <1><14b>: Abbrev Number: 6 (DW_TAG_base_type)
+ <14c> DW_AT_name : (indirect string, offset: 0x12f): unsigned short
+ <150> DW_AT_encoding : 7 (unsigned)
+ <151> DW_AT_byte_size : 2
+ <1><152>: Abbrev Number: 3 (DW_TAG_typedef)
+ <153> DW_AT_type : <0x15d>
+ <157> DW_AT_name : (indirect string, offset: 0x171): __u32
+ <15b> DW_AT_decl_file : 3
+ <15c> DW_AT_decl_line : 28
+ <1><15d>: Abbrev Number: 6 (DW_TAG_base_type)
+ <15e> DW_AT_name : (indirect string, offset: 0x164): unsigned int
+ <162> DW_AT_encoding : 7 (unsigned)
+ <163> DW_AT_byte_size : 4
+ <1><164>: Abbrev Number: 7 (DW_TAG_array_type)
+ <165> DW_AT_type : <0x171>
+ <2><169>: Abbrev Number: 8 (DW_TAG_subrange_type)
+ <16a> DW_AT_type : <0x139>
+ <16e> DW_AT_lower_bound : 0
+ <16f> DW_AT_count : 8
+ <2><170>: Abbrev Number: 0
+ <1><171>: Abbrev Number: 6 (DW_TAG_base_type)
+ <172> DW_AT_name : (indirect string, offset: 0x17a): char
+ <176> DW_AT_encoding : 8 (unsigned char)
+ <177> DW_AT_byte_size : 1
+ <1><178>: Abbrev Number: 0
+
diff --git a/mpers-m32/sysinfo_t.d2 b/mpers-m32/sysinfo_t.d2
new file mode 100644
index 00000000..8ce04443
--- /dev/null
+++ b/mpers-m32/sysinfo_t.d2
@@ -0,0 +1,188 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 4
+DW_AT_decl_line : 39
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0x187): sysinfo_t
+DW_AT_decl_file : 4
+DW_AT_decl_line : 38
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0x17f): sysinfo
+DW_AT_byte_size : 64
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9f): uptime
+DW_AT_type : <0x108>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xbf): loads
+DW_AT_type : <0x11a>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xf1): totalram
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xfa): freeram
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 27
+DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
+<2><7b>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x102): sharedram
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 28
+DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
+<2><89>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x10c): bufferram
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
+<2><97>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x116): totalswap
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
+<2><a5>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x120): freeswap
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
+<2><b3>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x129): procs
+DW_AT_type : <0x140>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 32
+DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
+<2><c1>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x144): pad
+DW_AT_type : <0x140>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 33
+DW_AT_data_member_location: 2 byte block: 23 2a (DW_OP_plus_uconst: 42)
+<2><cf>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x148): totalhigh
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 34
+DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
+<2><dd>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x152): freehigh
+DW_AT_type : <0x127>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 35
+DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
+<2><eb>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x15b): mem_unit
+DW_AT_type : <0x152>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 36
+DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
+<2><f9>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x177): _f
+DW_AT_type : <0x164>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 37
+DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
+<1><108>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x113>
+DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><113>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa6): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><11a>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x127>
+<2><11f>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x139>
+DW_AT_lower_bound : 0
+DW_AT_count : 3
+<1><127>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x132>
+DW_AT_name : (indirect string, offset: 0xd7): __kernel_ulong_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 24
+<1><132>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xc5): long unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><139>
+Abbrev Number: 9 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xe8): sizetype
+DW_AT_byte_size : 8
+DW_AT_encoding : 7 (unsigned)
+<1><140>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x14b>
+DW_AT_name : (indirect string, offset: 0x13e): __u16
+DW_AT_decl_file : 3
+DW_AT_decl_line : 26
+<1><14b>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x12f): unsigned short
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 2
+<1><152>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x15d>
+DW_AT_name : (indirect string, offset: 0x171): __u32
+DW_AT_decl_file : 3
+DW_AT_decl_line : 28
+<1><15d>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x164): unsigned int
+DW_AT_encoding : 7 (unsigned)
+DW_AT_byte_size : 4
+<1><164>
+Abbrev Number: 7 (DW_TAG_array_type)
+DW_AT_type : <0x171>
+<2><169>
+Abbrev Number: 8 (DW_TAG_subrange_type)
+DW_AT_type : <0x139>
+DW_AT_lower_bound : 0
+DW_AT_count : 8
+<1><171>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x17a): char
+DW_AT_encoding : 8 (unsigned char)
+DW_AT_byte_size : 1
diff --git a/mpers-m32/sysinfo_t.h b/mpers-m32/sysinfo_t.h
new file mode 100644
index 00000000..c22103f8
--- /dev/null
+++ b/mpers-m32/sysinfo_t.h
@@ -0,0 +1,19 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t uptime;
+uint32_t loads[3];
+uint32_t totalram;
+uint32_t freeram;
+uint32_t sharedram;
+uint32_t bufferram;
+uint32_t totalswap;
+uint32_t freeswap;
+uint16_t procs;
+uint16_t pad;
+uint32_t totalhigh;
+uint32_t freehigh;
+uint32_t mem_unit;
+char _f[8];
+} ATTRIBUTE_PACKED m32_sysinfo_t;
+#define MPERS_m32_sysinfo_t m32_sysinfo_t
diff --git a/mpers-m32/time_t.c b/mpers-m32/time_t.c
new file mode 100644
index 00000000..834d93d6
--- /dev/null
+++ b/mpers-m32/time_t.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-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"
+
+
+time_t mpers_target_var;
diff --git a/mpers-m32/time_t.d1 b/mpers-m32/time_t.d1
new file mode 100644
index 00000000..ca0edafd
--- /dev/null
+++ b/mpers-m32/time_t.d1
@@ -0,0 +1,46 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x60 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/time_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x50): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8b): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 32
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xce): time_t
+ <39> DW_AT_decl_file : 2
+ <3a> DW_AT_decl_line : 96
+ <1><3b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <3c> DW_AT_type : <0x46>
+ <40> DW_AT_name : (indirect string, offset: 0xc5): __time_t
+ <44> DW_AT_decl_file : 2
+ <45> DW_AT_decl_line : 95
+ <1><46>: Abbrev Number: 3 (DW_TAG_typedef)
+ <47> DW_AT_type : <0x51>
+ <4b> DW_AT_name : (indirect string, offset: 0xb5): __kernel_time_t
+ <4f> DW_AT_decl_file : 1
+ <50> DW_AT_decl_line : 77
+ <1><51>: Abbrev Number: 3 (DW_TAG_typedef)
+ <52> DW_AT_type : <0x5c>
+ <56> DW_AT_name : (indirect string, offset: 0xa5): __kernel_long_t
+ <5a> DW_AT_decl_file : 1
+ <5b> DW_AT_decl_line : 23
+ <1><5c>: Abbrev Number: 4 (DW_TAG_base_type)
+ <5d> DW_AT_name : (indirect string, offset: 0x9c): long int
+ <61> DW_AT_encoding : 5 (signed)
+ <62> DW_AT_byte_size : 4
+ <1><63>: Abbrev Number: 0
+
diff --git a/mpers-m32/time_t.d2 b/mpers-m32/time_t.d2
new file mode 100644
index 00000000..d6761338
--- /dev/null
+++ b/mpers-m32/time_t.d2
@@ -0,0 +1,37 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8b): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 32
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xce): time_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 96
+<1><3b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x46>
+DW_AT_name : (indirect string, offset: 0xc5): __time_t
+DW_AT_decl_file : 2
+DW_AT_decl_line : 95
+<1><46>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x51>
+DW_AT_name : (indirect string, offset: 0xb5): __kernel_time_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+<1><51>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x5c>
+DW_AT_name : (indirect string, offset: 0xa5): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><5c>
+Abbrev Number: 4 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0x9c): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/time_t.h b/mpers-m32/time_t.h
new file mode 100644
index 00000000..05237af9
--- /dev/null
+++ b/mpers-m32/time_t.h
@@ -0,0 +1,4 @@
+#include <stdint.h>
+typedef
+int32_t m32_time_t;
+#define MPERS_m32_time_t m32_time_t
diff --git a/mpers-m32/timespec_t.c b/mpers-m32/timespec_t.c
new file mode 100644
index 00000000..d841ea7e
--- /dev/null
+++ b/mpers-m32/timespec_t.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 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"
+
+
+typedef struct timespec timespec_t;
+
+timespec_t mpers_target_var;
diff --git a/mpers-m32/timespec_t.d1 b/mpers-m32/timespec_t.d1
new file mode 100644
index 00000000..54a96ce6
--- /dev/null
+++ b/mpers-m32/timespec_t.d1
@@ -0,0 +1,59 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x7a (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/timespec_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x54): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 34
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xe1): timespec_t
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 32
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xd8): timespec
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 24
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0xa0): tv_sec
+ <48> DW_AT_type : <0x60>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 25
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xd0): tv_nsec
+ <56> DW_AT_type : <0x76>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 26
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 0
+ <1><60>: Abbrev Number: 3 (DW_TAG_typedef)
+ <61> DW_AT_type : <0x6b>
+ <65> DW_AT_name : (indirect string, offset: 0xc0): __kernel_time_t
+ <69> DW_AT_decl_file : 1
+ <6a> DW_AT_decl_line : 77
+ <1><6b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <6c> DW_AT_type : <0x76>
+ <70> DW_AT_name : (indirect string, offset: 0xb0): __kernel_long_t
+ <74> DW_AT_decl_file : 1
+ <75> DW_AT_decl_line : 23
+ <1><76>: Abbrev Number: 6 (DW_TAG_base_type)
+ <77> DW_AT_name : (indirect string, offset: 0xa7): long int
+ <7b> DW_AT_encoding : 5 (signed)
+ <7c> DW_AT_byte_size : 4
+ <1><7d>: Abbrev Number: 0
+
diff --git a/mpers-m32/timespec_t.d2 b/mpers-m32/timespec_t.d2
new file mode 100644
index 00000000..7e157e43
--- /dev/null
+++ b/mpers-m32/timespec_t.d2
@@ -0,0 +1,51 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8f): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 34
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xe1): timespec_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 32
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xd8): timespec
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xa0): tv_sec
+DW_AT_type : <0x60>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd0): tv_nsec
+DW_AT_type : <0x76>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><60>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x6b>
+DW_AT_name : (indirect string, offset: 0xc0): __kernel_time_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+<1><6b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x76>
+DW_AT_name : (indirect string, offset: 0xb0): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><76>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa7): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/timespec_t.h b/mpers-m32/timespec_t.h
new file mode 100644
index 00000000..f0aed75b
--- /dev/null
+++ b/mpers-m32/timespec_t.h
@@ -0,0 +1,7 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t tv_sec;
+int32_t tv_nsec;
+} ATTRIBUTE_PACKED m32_timespec_t;
+#define MPERS_m32_timespec_t m32_timespec_t
diff --git a/mpers-m32/timeval_t.c b/mpers-m32/timeval_t.c
new file mode 100644
index 00000000..ffde2c50
--- /dev/null
+++ b/mpers-m32/timeval_t.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 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"
+
+
+typedef struct timeval timeval_t;
+
+timeval_t mpers_target_var;
diff --git a/mpers-m32/timeval_t.d1 b/mpers-m32/timeval_t.d1
new file mode 100644
index 00000000..98794805
--- /dev/null
+++ b/mpers-m32/timeval_t.d1
@@ -0,0 +1,64 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x85 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/timeval_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x53): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 34
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xf4): timeval_t
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 32
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xec): timeval
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 29
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9f): tv_sec
+ <48> DW_AT_type : <0x60>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 30
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xcf): tv_usec
+ <56> DW_AT_type : <0x7d>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 31
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 0
+ <1><60>: Abbrev Number: 3 (DW_TAG_typedef)
+ <61> DW_AT_type : <0x6b>
+ <65> DW_AT_name : (indirect string, offset: 0xbf): __kernel_time_t
+ <69> DW_AT_decl_file : 1
+ <6a> DW_AT_decl_line : 77
+ <1><6b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <6c> DW_AT_type : <0x76>
+ <70> DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t
+ <74> DW_AT_decl_file : 1
+ <75> DW_AT_decl_line : 23
+ <1><76>: Abbrev Number: 6 (DW_TAG_base_type)
+ <77> DW_AT_name : (indirect string, offset: 0xa6): long int
+ <7b> DW_AT_encoding : 5 (signed)
+ <7c> DW_AT_byte_size : 4
+ <1><7d>: Abbrev Number: 3 (DW_TAG_typedef)
+ <7e> DW_AT_type : <0x6b>
+ <82> DW_AT_name : (indirect string, offset: 0xd7): __kernel_suseconds_t
+ <86> DW_AT_decl_file : 1
+ <87> DW_AT_decl_line : 43
+ <1><88>: Abbrev Number: 0
+
diff --git a/mpers-m32/timeval_t.d2 b/mpers-m32/timeval_t.d2
new file mode 100644
index 00000000..a8f5f811
--- /dev/null
+++ b/mpers-m32/timeval_t.d2
@@ -0,0 +1,57 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 34
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xf4): timeval_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 32
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xec): timeval
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 29
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9f): tv_sec
+DW_AT_type : <0x60>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 30
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): tv_usec
+DW_AT_type : <0x7d>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 31
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><60>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x6b>
+DW_AT_name : (indirect string, offset: 0xbf): __kernel_time_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+<1><6b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x76>
+DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><76>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa6): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
+<1><7d>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x6b>
+DW_AT_name : (indirect string, offset: 0xd7): __kernel_suseconds_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 43
diff --git a/mpers-m32/timeval_t.h b/mpers-m32/timeval_t.h
new file mode 100644
index 00000000..b1bdbff6
--- /dev/null
+++ b/mpers-m32/timeval_t.h
@@ -0,0 +1,7 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t tv_sec;
+int32_t tv_usec;
+} ATTRIBUTE_PACKED m32_timeval_t;
+#define MPERS_m32_timeval_t m32_timeval_t
diff --git a/mpers-m32/tms_t.c b/mpers-m32/tms_t.c
new file mode 100644
index 00000000..cf3d35a4
--- /dev/null
+++ b/mpers-m32/tms_t.c
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
+ * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 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 <sys/times.h>
+typedef struct tms tms_t;
+tms_t mpers_target_var;
diff --git a/mpers-m32/tms_t.d1 b/mpers-m32/tms_t.d1
new file mode 100644
index 00000000..324af3dc
--- /dev/null
+++ b/mpers-m32/tms_t.d1
@@ -0,0 +1,71 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x96 (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/tms_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x4f): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8a): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 38
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xf3): tms_t
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 37
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xef): tms
+ <40> DW_AT_byte_size : 16
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 22
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9b): tms_utime
+ <48> DW_AT_type : <0x7c>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 23
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xcf): tms_stime
+ <56> DW_AT_type : <0x7c>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 24
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 5 (DW_TAG_member)
+ <60> DW_AT_name : (indirect string, offset: 0xd9): tms_cutime
+ <64> DW_AT_type : <0x7c>
+ <68> DW_AT_decl_file : 2
+ <69> DW_AT_decl_line : 25
+ <6a> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+ <2><6d>: Abbrev Number: 5 (DW_TAG_member)
+ <6e> DW_AT_name : (indirect string, offset: 0xe4): tms_cstime
+ <72> DW_AT_type : <0x7c>
+ <76> DW_AT_decl_file : 2
+ <77> DW_AT_decl_line : 26
+ <78> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+ <2><7b>: Abbrev Number: 0
+ <1><7c>: Abbrev Number: 3 (DW_TAG_typedef)
+ <7d> DW_AT_type : <0x87>
+ <81> DW_AT_name : (indirect string, offset: 0xbe): __kernel_clock_t
+ <85> DW_AT_decl_file : 1
+ <86> DW_AT_decl_line : 78
+ <1><87>: Abbrev Number: 3 (DW_TAG_typedef)
+ <88> DW_AT_type : <0x92>
+ <8c> DW_AT_name : (indirect string, offset: 0xae): __kernel_long_t
+ <90> DW_AT_decl_file : 1
+ <91> DW_AT_decl_line : 23
+ <1><92>: Abbrev Number: 6 (DW_TAG_base_type)
+ <93> DW_AT_name : (indirect string, offset: 0xa5): long int
+ <97> DW_AT_encoding : 5 (signed)
+ <98> DW_AT_byte_size : 4
+ <1><99>: Abbrev Number: 0
+
diff --git a/mpers-m32/tms_t.d2 b/mpers-m32/tms_t.d2
new file mode 100644
index 00000000..19879b3f
--- /dev/null
+++ b/mpers-m32/tms_t.d2
@@ -0,0 +1,65 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8a): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 38
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xf3): tms_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 37
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xef): tms
+DW_AT_byte_size : 16
+DW_AT_decl_file : 2
+DW_AT_decl_line : 22
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9b): tms_utime
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): tms_stime
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<2><5f>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xd9): tms_cutime
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 25
+DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
+<2><6d>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xe4): tms_cstime
+DW_AT_type : <0x7c>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 26
+DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
+<1><7c>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x87>
+DW_AT_name : (indirect string, offset: 0xbe): __kernel_clock_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 78
+<1><87>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x92>
+DW_AT_name : (indirect string, offset: 0xae): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><92>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa5): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/tms_t.h b/mpers-m32/tms_t.h
new file mode 100644
index 00000000..7247d2d6
--- /dev/null
+++ b/mpers-m32/tms_t.h
@@ -0,0 +1,9 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t tms_utime;
+int32_t tms_stime;
+int32_t tms_cutime;
+int32_t tms_cstime;
+} ATTRIBUTE_PACKED m32_tms_t;
+#define MPERS_m32_tms_t m32_tms_t
diff --git a/mpers-m32/utimbuf_t.c b/mpers-m32/utimbuf_t.c
new file mode 100644
index 00000000..bb8a34a5
--- /dev/null
+++ b/mpers-m32/utimbuf_t.c
@@ -0,0 +1,8 @@
+#include "defs.h"
+
+
+#include <utime.h>
+
+typedef struct utimbuf utimbuf_t;
+
+utimbuf_t mpers_target_var;
diff --git a/mpers-m32/utimbuf_t.d1 b/mpers-m32/utimbuf_t.d1
new file mode 100644
index 00000000..df1e349c
--- /dev/null
+++ b/mpers-m32/utimbuf_t.d1
@@ -0,0 +1,59 @@
+Contents of the .debug_info section:
+
+ Compilation Unit @ offset 0x0:
+ Length: 0x7a (32-bit)
+ Version: 2
+ Abbrev Offset: 0x0
+ Pointer Size: 4
+ <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
+ <c> DW_AT_producer : (indirect string, offset: 0x0): Android clang version 5.0.300080 (based on LLVM 5.0.300080)
+ <10> DW_AT_language : 12 (ANSI C99)
+ <12> DW_AT_name : (indirect string, offset: 0x3d): mpers-m32/utimbuf_t.c
+ <16> DW_AT_stmt_list : 0x0
+ <1a> DW_AT_comp_dir : (indirect string, offset: 0x53): /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
+ <1f> DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+ <23> DW_AT_type : <0x30>
+ <27> DW_AT_external : 1
+ <28> DW_AT_decl_file : 3
+ <29> DW_AT_decl_line : 8
+ <2a> DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+ <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
+ <31> DW_AT_type : <0x3b>
+ <35> DW_AT_name : (indirect string, offset: 0xdf): utimbuf_t
+ <39> DW_AT_decl_file : 3
+ <3a> DW_AT_decl_line : 6
+ <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
+ <3c> DW_AT_name : (indirect string, offset: 0xd7): utimbuf
+ <40> DW_AT_byte_size : 8
+ <41> DW_AT_decl_file : 2
+ <42> DW_AT_decl_line : 22
+ <2><43>: Abbrev Number: 5 (DW_TAG_member)
+ <44> DW_AT_name : (indirect string, offset: 0x9f): actime
+ <48> DW_AT_type : <0x60>
+ <4c> DW_AT_decl_file : 2
+ <4d> DW_AT_decl_line : 23
+ <4e> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+ <2><51>: Abbrev Number: 5 (DW_TAG_member)
+ <52> DW_AT_name : (indirect string, offset: 0xcf): modtime
+ <56> DW_AT_type : <0x60>
+ <5a> DW_AT_decl_file : 2
+ <5b> DW_AT_decl_line : 24
+ <5c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+ <2><5f>: Abbrev Number: 0
+ <1><60>: Abbrev Number: 3 (DW_TAG_typedef)
+ <61> DW_AT_type : <0x6b>
+ <65> DW_AT_name : (indirect string, offset: 0xbf): __kernel_time_t
+ <69> DW_AT_decl_file : 1
+ <6a> DW_AT_decl_line : 77
+ <1><6b>: Abbrev Number: 3 (DW_TAG_typedef)
+ <6c> DW_AT_type : <0x76>
+ <70> DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t
+ <74> DW_AT_decl_file : 1
+ <75> DW_AT_decl_line : 23
+ <1><76>: Abbrev Number: 6 (DW_TAG_base_type)
+ <77> DW_AT_name : (indirect string, offset: 0xa6): long int
+ <7b> DW_AT_encoding : 5 (signed)
+ <7c> DW_AT_byte_size : 4
+ <1><7d>: Abbrev Number: 0
+
diff --git a/mpers-m32/utimbuf_t.d2 b/mpers-m32/utimbuf_t.d2
new file mode 100644
index 00000000..78558f43
--- /dev/null
+++ b/mpers-m32/utimbuf_t.d2
@@ -0,0 +1,51 @@
+<1><1e>
+Abbrev Number: 2 (DW_TAG_variable)
+DW_AT_name : (indirect string, offset: 0x8e): mpers_target_var
+DW_AT_type : <0x30>
+DW_AT_external : 1
+DW_AT_decl_file : 3
+DW_AT_decl_line : 8
+DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4)
+<1><30>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x3b>
+DW_AT_name : (indirect string, offset: 0xdf): utimbuf_t
+DW_AT_decl_file : 3
+DW_AT_decl_line : 6
+<1><3b>
+Abbrev Number: 4 (DW_TAG_structure_type)
+DW_AT_name : (indirect string, offset: 0xd7): utimbuf
+DW_AT_byte_size : 8
+DW_AT_decl_file : 2
+DW_AT_decl_line : 22
+<2><43>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0x9f): actime
+DW_AT_type : <0x60>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 23
+DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
+<2><51>
+Abbrev Number: 5 (DW_TAG_member)
+DW_AT_name : (indirect string, offset: 0xcf): modtime
+DW_AT_type : <0x60>
+DW_AT_decl_file : 2
+DW_AT_decl_line : 24
+DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
+<1><60>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x6b>
+DW_AT_name : (indirect string, offset: 0xbf): __kernel_time_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 77
+<1><6b>
+Abbrev Number: 3 (DW_TAG_typedef)
+DW_AT_type : <0x76>
+DW_AT_name : (indirect string, offset: 0xaf): __kernel_long_t
+DW_AT_decl_file : 1
+DW_AT_decl_line : 23
+<1><76>
+Abbrev Number: 6 (DW_TAG_base_type)
+DW_AT_name : (indirect string, offset: 0xa6): long int
+DW_AT_encoding : 5 (signed)
+DW_AT_byte_size : 4
diff --git a/mpers-m32/utimbuf_t.h b/mpers-m32/utimbuf_t.h
new file mode 100644
index 00000000..c8b21c47
--- /dev/null
+++ b/mpers-m32/utimbuf_t.h
@@ -0,0 +1,7 @@
+#include <stdint.h>
+typedef
+struct {
+int32_t actime;
+int32_t modtime;
+} ATTRIBUTE_PACKED m32_utimbuf_t;
+#define MPERS_m32_utimbuf_t m32_utimbuf_t
diff --git a/mpers.am b/mpers.am
index d9ceb377..c255dcc0 100644
--- a/mpers.am
+++ b/mpers.am
@@ -1,2 +1,2 @@
# Generated by ./generate_mpers_am.sh; do not edit.
-mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_bpf_fprog.c fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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_group_req.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
+mpers_source_files = block.c btrfs.c dirent.c evdev_mpers.c fetch_bpf_fprog.c fetch_struct_flock.c fetch_struct_keyctl_kdf_params.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_group_req.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.awk b/mpers.awk
index fcc562e7..1374ee48 100644
--- a/mpers.awk
+++ b/mpers.awk
@@ -161,7 +161,7 @@ function what_is(what_idx, \
BEGIN {
match(ARCH_FLAG, /[[:digit:]]+/, temparray)
default_pointer_size = temparray[0] / 8
- print "#include <inttypes.h>"
+ print "#include <stdint.h>"
}
/^<[[:xdigit:]]+>/ {
match($0, /([[:alnum:]]+)><([[:alnum:]]+)/, matches)
diff --git a/mpers_test.sh b/mpers_test.sh
index 982f0a02..bdd42110 100755
--- a/mpers_test.sh
+++ b/mpers_test.sh
@@ -83,7 +83,7 @@ EOF
expected="$mpers_dir/sample.expected"
mpers_ptr_t="uint${size}_t"
cat > "$expected" <<EOF
-#include <inttypes.h>
+#include <stdint.h>
#ifndef mpers_ptr_t_is_${mpers_ptr_t}
typedef ${mpers_ptr_t} mpers_ptr_t;
#define mpers_ptr_t_is_${mpers_ptr_t}
diff --git a/mpers_xlat.h b/mpers_xlat.h
index 7ff78d95..e8b3e40c 100644
--- a/mpers_xlat.h
+++ b/mpers_xlat.h
@@ -14,6 +14,7 @@ extern const struct xlat btrfs_features_compat[];
extern const struct xlat btrfs_features_compat_ro[];
extern const struct xlat btrfs_features_incompat[];
extern const struct xlat btrfs_key_types[];
+extern const struct xlat btrfs_logical_ino_args_flags[];
extern const struct xlat btrfs_qgroup_ctl_cmds[];
extern const struct xlat btrfs_qgroup_inherit_flags[];
extern const struct xlat btrfs_qgroup_limit_flags[];
@@ -23,18 +24,6 @@ extern const struct xlat btrfs_send_flags[];
extern const struct xlat btrfs_snap_flags_v2[];
extern const struct xlat btrfs_space_info_flags[];
extern const struct xlat btrfs_tree_objectids[];
-extern const struct xlat evdev_autorepeat[];
-extern const struct xlat evdev_ff_status[];
-extern const struct xlat evdev_ff_types[];
-extern const struct xlat evdev_keycode[];
-extern const struct xlat evdev_leds[];
-extern const struct xlat evdev_misc[];
-extern const struct xlat evdev_mtslots[];
-extern const struct xlat evdev_prop[];
-extern const struct xlat evdev_relative_axes[];
-extern const struct xlat evdev_snd[];
-extern const struct xlat evdev_switch[];
-extern const struct xlat evdev_sync[];
extern const struct xlat msgctl_flags[];
extern const struct xlat shmctl_flags[];
extern const struct xlat loop_cmds[];
@@ -67,6 +56,8 @@ extern const struct xlat sg_io_dxfer_direction[];
extern const struct xlat sg_io_flags[];
extern const struct xlat sigaltstack_flags[];
extern const struct xlat iffflags[];
+extern const struct xlat v4l2_pix_fmts[];
+extern const struct xlat v4l2_sdr_fmts[];
extern const struct xlat v4l2_device_capabilities_flags[];
extern const struct xlat v4l2_buf_types[];
extern const struct xlat v4l2_format_description_flags[];
diff --git a/mtd.c b/mtd.c
index 52957f9d..3cdaed48 100644
--- a/mtd.c
+++ b/mtd.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2012 Mike Frysinger <vapier@gentoo.org>
- * Copyright (c) 2012-2017 The strace developers.
+ * Copyright (c) 2012-2018 The strace developers.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -274,7 +274,7 @@ MPERS_PRINTER_DECL(int, mtd_ioctl, struct tcb *const tcp,
case OTPGETREGIONINFO:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case OTPLOCK:
decode_otp_info(tcp, arg);
break;
diff --git a/native_printer_decls.h b/native_printer_decls.h
index 5e8dd16c..00fc232c 100644
--- a/native_printer_decls.h
+++ b/native_printer_decls.h
@@ -1,7 +1,7 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev_mpers.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
extern int block_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
extern int btrfs_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
-extern int evdev_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+extern int evdev_write_ioctl_mpers(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
extern unsigned int get_sock_fprog_size(void);
extern _Bool fetch_bpf_fprog(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
extern _Bool fetch_struct_flock(struct tcb *const tcp, const kernel_ulong_t addr, void *const p);
diff --git a/native_printer_defs.h b/native_printer_defs.h
index 91acbca3..de2f047b 100644
--- a/native_printer_defs.h
+++ b/native_printer_defs.h
@@ -1,7 +1,7 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev_mpers.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
.block_ioctl = block_ioctl,
.btrfs_ioctl = btrfs_ioctl,
-.evdev_ioctl = evdev_ioctl,
+.evdev_write_ioctl_mpers = evdev_write_ioctl_mpers,
.get_sock_fprog_size = get_sock_fprog_size,
.fetch_bpf_fprog = fetch_bpf_fprog,
.fetch_struct_flock = fetch_struct_flock,
diff --git a/netlink.c b/netlink.c
index beb6ea4a..b5855f60 100644
--- a/netlink.c
+++ b/netlink.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -53,7 +53,6 @@
#include "xlat/nf_ulog_msg_types.h"
#include "xlat/nl_audit_types.h"
#include "xlat/nl_crypto_types.h"
-#include "xlat/nl_netfilter_msg_types.h"
#include "xlat/nl_netfilter_subsys_ids.h"
#include "xlat/nl_selinux_types.h"
#include "xlat/nl_sock_diag_types.h"
@@ -549,6 +548,9 @@ static const netlink_decoder_t netlink_decoders[] = {
#ifdef HAVE_LINUX_CRYPTOUSER_H
[NETLINK_CRYPTO] = decode_netlink_crypto,
#endif
+#ifdef HAVE_LINUX_NETFILTER_NFNETLINK_H
+ [NETLINK_NETFILTER] = decode_netlink_netfilter,
+#endif
[NETLINK_ROUTE] = decode_netlink_route,
[NETLINK_SELINUX] = decode_netlink_selinux,
[NETLINK_SOCK_DIAG] = decode_netlink_sock_diag
diff --git a/netlink_netfilter.c b/netlink_netfilter.c
new file mode 100644
index 00000000..1d59ae33
--- /dev/null
+++ b/netlink_netfilter.c
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2018 Chen Jingpiao <chenjingpiao@gmail.com>
+ * Copyright (c) 2018 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"
+
+#ifdef HAVE_LINUX_NETFILTER_NFNETLINK_H
+
+# include "print_fields.h"
+# include "nlattr.h"
+
+# include <netinet/in.h>
+# include <arpa/inet.h>
+# include "netlink.h"
+# include <linux/netfilter/nfnetlink.h>
+
+# include "xlat/netfilter_versions.h"
+# include "xlat/nl_netfilter_msg_types.h"
+# include "xlat/nl_netfilter_subsys_ids.h"
+
+bool
+decode_netlink_netfilter(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const kernel_ulong_t addr,
+ const unsigned int len)
+{
+ if (nlmsghdr->nlmsg_type == NLMSG_DONE)
+ return false;
+
+ struct nfgenmsg nfmsg;
+
+ if (len < sizeof(nfmsg))
+ printstr_ex(tcp, addr, len, QUOTE_FORCE_HEX);
+ else if (!umove_or_printaddr(tcp, addr, &nfmsg)) {
+ const uint8_t subsys_id = (uint8_t) (nlmsghdr->nlmsg_type >> 8);
+ uint16_t res_id = ntohs(nfmsg.res_id);
+
+ PRINT_FIELD_XVAL("{", nfmsg, nfgen_family, addrfams, "AF_???");
+ PRINT_FIELD_XVAL(", ", nfmsg, version, netfilter_versions,
+ "NFNETLINK_???");
+
+ /*
+ * Work around wrong endianness in res_id field,
+ * see linux commit v4.3-rc1~28^2~47^2~1
+ */
+ tprints(", res_id=");
+ if (subsys_id == NFNL_SUBSYS_NFTABLES
+ && res_id == NFNL_SUBSYS_NFTABLES) {
+ tprints("htons(NFNL_SUBSYS_NFTABLES)");
+ } else if (subsys_id == NFNL_SUBSYS_NFTABLES
+ && nfmsg.res_id == NFNL_SUBSYS_NFTABLES) {
+ tprints("NFNL_SUBSYS_NFTABLES");
+ } else {
+ tprintf("htons(%d)", res_id);
+ }
+
+ const size_t offset = NLMSG_ALIGN(sizeof(nfmsg));
+ if (len > offset) {
+ tprints(", ");
+ if ((nlmsghdr->nlmsg_type >= NFNL_MSG_BATCH_BEGIN
+ && nlmsghdr->nlmsg_type <= NFNL_MSG_BATCH_END)
+ || nlmsghdr->nlmsg_type < NLMSG_MIN_TYPE)
+ printstr_ex(tcp, addr + offset,
+ len - offset, QUOTE_FORCE_HEX);
+ else
+ decode_nlattr(tcp, addr + offset, len - offset,
+ NULL, NULL, NULL, 0, NULL);
+ }
+ }
+
+ return true;
+}
+
+#endif /* HAVE_LINUX_NETFILTER_NFNETLINK_H */
diff --git a/netlink_packet_diag.c b/netlink_packet_diag.c
index 49523836..db688a9f 100644
--- a/netlink_packet_diag.c
+++ b/netlink_packet_diag.c
@@ -52,8 +52,10 @@ DECL_NETLINK_DIAG_DECODER(decode_packet_diag_req)
if (!umoven_or_printaddr(tcp, addr + offset,
sizeof(req) - offset,
(char *) &req + offset)) {
- PRINT_FIELD_XVAL("", req, sdiag_protocol,
- ethernet_protocols, "ETH_P_???");
+ tprints("sdiag_protocol=");
+ printxval_searchn(ethernet_protocols,
+ ethernet_protocols_size,
+ req.sdiag_protocol, "ETH_P_???");
PRINT_FIELD_U(", ", req, pdiag_ino);
PRINT_FIELD_FLAGS(", ", req, pdiag_show,
packet_diag_show, "PACKET_SHOW_???");
diff --git a/nlattr.c b/nlattr.c
index ac430f4f..a71c79a8 100644
--- a/nlattr.c
+++ b/nlattr.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
* Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -34,6 +34,7 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <linux/sock_diag.h>
+#include "static_assert.h"
static bool
fetch_nlattr(struct tcb *const tcp, struct nlattr *const nlattr,
@@ -55,6 +56,9 @@ print_nlattr(const struct nlattr *const nla,
const struct xlat *const table,
const char *const dflt)
{
+ static_assert(NLA_TYPE_MASK == ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER),
+ "wrong NLA_TYPE_MASK");
+
tprintf("{nla_len=%u, nla_type=", nla->nla_len);
if (nla->nla_type & NLA_F_NESTED)
tprints("NLA_F_NESTED|");
diff --git a/poll.c b/poll.c
index 6939e3e9..da42388f 100644
--- a/poll.c
+++ b/poll.c
@@ -156,14 +156,7 @@ SYS_FUNC(poll)
{
if (entering(tcp)) {
decode_poll_entering(tcp);
- int timeout = tcp->u_arg[2];
-
-#ifdef INFTIM
- if (INFTIM == timeout)
- tprints("INFTIM");
- else
-#endif
- tprintf("%d", timeout);
+ tprintf("%d", (int) tcp->u_arg[2]);
return 0;
} else {
diff --git a/prctl.c b/prctl.c
index befa14b3..a0f4f6a5 100644
--- a/prctl.c
+++ b/prctl.c
@@ -3,7 +3,7 @@
* Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
* Copyright (c) 2005-2007 Roland McGrath <roland@redhat.com>
* Copyright (c) 2008-2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2014-2017 The strace developers.
+ * Copyright (c) 2014-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,6 +33,8 @@
#include <linux/prctl.h>
+#include "xstring.h"
+
#include "xlat/prctl_options.h"
#include "xlat/pr_cap_ambient.h"
#include "xlat/pr_dumpable.h"
@@ -40,6 +42,7 @@
#include "xlat/pr_mce_kill.h"
#include "xlat/pr_mce_kill_policy.h"
#include "xlat/pr_set_mm.h"
+#include "xlat/pr_sve_vl_flags.h"
#include "xlat/pr_tsc.h"
#include "xlat/pr_unalign_flags.h"
@@ -65,6 +68,11 @@ enum {
#include "xlat/cap.h"
+#ifndef PR_SVE_VL_LEN_MASK
+# define PR_SVE_VL_LEN_MASK 0xffff
+#endif
+
+
static void
print_prctl_args(struct tcb *tcp, const unsigned int first)
{
@@ -74,6 +82,22 @@ print_prctl_args(struct tcb *tcp, const unsigned int first)
tprintf(", %#" PRI_klx, tcp->u_arg[i]);
}
+static char *
+sprint_sve_val(kernel_ulong_t arg)
+{
+ static char out[sizeof("PR_SVE_SET_VL_ONEXEC|PR_SVE_VL_INHERIT|0x") +
+ sizeof(kernel_ulong_t) * 2];
+
+ kernel_ulong_t vl = arg & PR_SVE_VL_LEN_MASK;
+ kernel_ulong_t flags = arg & ~PR_SVE_VL_LEN_MASK;
+ const char *flags_str = sprintflags("", pr_sve_vl_flags, flags);
+
+ xsprintf(out, "%s%s%#" PRI_klx,
+ flags_str ?: "", flags_str ? "|" : "", vl);
+
+ return out;
+}
+
SYS_FUNC(prctl)
{
const unsigned int option = tcp->u_arg[0];
@@ -184,6 +208,23 @@ SYS_FUNC(prctl)
(kernel_ulong_t) tcp->u_rval);
return RVAL_STR;
+ case PR_SVE_SET_VL:
+ if (entering(tcp)) {
+ tprintf(", %s", sprint_sve_val(arg2));
+ return 0;
+ }
+ ATTRIBUTE_FALLTHROUGH;
+
+ case PR_SVE_GET_VL:
+ if (entering(tcp))
+ break;
+ if (syserror(tcp) || tcp->u_rval == 0)
+ return 0;
+
+ tcp->auxstr = sprint_sve_val(tcp->u_rval);
+
+ return RVAL_STR;
+
/* PR_TASK_PERF_EVENTS_* take no arguments. */
case PR_TASK_PERF_EVENTS_DISABLE:
case PR_TASK_PERF_EVENTS_ENABLE:
@@ -332,7 +373,7 @@ SYS_FUNC(prctl)
return 0;
tcp->auxstr = xlookup(pr_mce_kill_policy,
(kernel_ulong_t) tcp->u_rval);
- return tcp->auxstr ? RVAL_STR : RVAL_UDECIMAL;
+ return RVAL_STR;
case PR_SET_FP_MODE:
tprints(", ");
diff --git a/print_fields.h b/print_fields.h
index 401ff04f..0b810d5c 100644
--- a/print_fields.h
+++ b/print_fields.h
@@ -53,6 +53,18 @@
STRACE_PRINTF("%s%s=%#llx", (prefix_), #field_, \
zero_extend_signed_to_ull((where_).field_))
+#define PRINT_FIELD_ADDR(prefix_, where_, field_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ printaddr((where_).field_); \
+ } while (0)
+
+#define PRINT_FIELD_ADDR64(prefix_, where_, field_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ printaddr64((where_).field_); \
+ } while (0)
+
#define PRINT_FIELD_0X(prefix_, where_, field_) \
STRACE_PRINTF("%s%s=%#0*llx", (prefix_), #field_, \
(int) sizeof((where_).field_) * 2, \
@@ -104,15 +116,23 @@
#define PRINT_FIELD_CSTRING(prefix_, where_, field_) \
do { \
STRACE_PRINTF("%s%s=", (prefix_), #field_); \
- print_quoted_cstring((const char *)(where_).field_, \
- sizeof((where_).field_)); \
+ print_quoted_cstring((const char *) (where_).field_, \
+ sizeof((where_).field_) + \
+ MUST_BE_ARRAY((where_).field_)); \
+ } while (0)
+
+#define PRINT_FIELD_CSTRING_SZ(prefix_, where_, field_, size_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ print_quoted_cstring((const char *) (where_).field_, \
+ (size_)); \
} while (0)
#define PRINT_FIELD_HEX_ARRAY(prefix_, where_, field_) \
do { \
STRACE_PRINTF("%s%s=", (prefix_), #field_); \
print_quoted_string((const char *)(where_).field_, \
- sizeof((where_).field_) + \
+ sizeof((where_).field_) + \
MUST_BE_ARRAY((where_).field_), \
QUOTE_FORCE_HEX); \
} while (0)
diff --git a/printers.h b/printers.h
index 88033aa4..333d53a7 100644
--- a/printers.h
+++ b/printers.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev_mpers.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
typedef struct {
int (*block_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
#define block_ioctl MPERS_PRINTER_NAME(block_ioctl)
@@ -6,8 +6,8 @@ typedef struct {
int (*btrfs_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
#define btrfs_ioctl MPERS_PRINTER_NAME(btrfs_ioctl)
- int (*evdev_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
-#define evdev_ioctl MPERS_PRINTER_NAME(evdev_ioctl)
+ int (*evdev_write_ioctl_mpers)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
+#define evdev_write_ioctl_mpers MPERS_PRINTER_NAME(evdev_write_ioctl_mpers)
unsigned int (*get_sock_fprog_size)(void);
#define get_sock_fprog_size MPERS_PRINTER_NAME(get_sock_fprog_size)
diff --git a/process.c b/process.c
index 895fc4b8..47803113 100644
--- a/process.c
+++ b/process.c
@@ -122,6 +122,7 @@ SYS_FUNC(ptrace)
case PTRACE_GETSIGMASK:
case PTRACE_SETSIGMASK:
case PTRACE_SECCOMP_GET_FILTER:
+ case PTRACE_SECCOMP_GET_METADATA:
tprintf(", %" PRI_klu, addr);
break;
case PTRACE_PEEKSIGINFO: {
@@ -204,6 +205,21 @@ SYS_FUNC(ptrace)
case PTRACE_SETREGSET:
tprint_iov(tcp, /*len:*/ 1, data, IOV_DECODE_ADDR);
break;
+ case PTRACE_SECCOMP_GET_METADATA:
+ if (verbose(tcp)) {
+ uint64_t filter_off;
+ if (addr < sizeof(filter_off) ||
+ umove(tcp, data, &filter_off)) {
+ printaddr(data);
+ return RVAL_DECODED;
+ }
+
+ tprintf("{filter_off=%" PRIu64, filter_off);
+ return 0;
+ }
+
+ printaddr(data);
+ break;
#ifndef IA64
case PTRACE_PEEKDATA:
case PTRACE_PEEKTEXT:
@@ -219,7 +235,7 @@ SYS_FUNC(ptrace)
/* print data on exiting syscall */
return 0;
}
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
default:
printaddr(data);
break;
@@ -253,6 +269,32 @@ SYS_FUNC(ptrace)
case PTRACE_SECCOMP_GET_FILTER:
print_seccomp_fprog(tcp, data, tcp->u_rval);
break;
+ case PTRACE_SECCOMP_GET_METADATA: {
+ const size_t offset = sizeof(uint64_t);
+ uint64_t flags = 0;
+ size_t ret_size = MIN((kernel_ulong_t) tcp->u_rval,
+ offset + sizeof(flags));
+
+ if (syserror(tcp) || ret_size <= offset) {
+ tprints("}");
+ return 0;
+ }
+
+ if (umoven(tcp, data + offset, ret_size - offset,
+ &flags)) {
+ tprints(", ...}");
+ return 0;
+ }
+
+ tprints(", flags=");
+ printflags64(seccomp_filter_flags, flags,
+ "SECCOMP_FILTER_FLAG_???");
+
+ if ((kernel_ulong_t) tcp->u_rval > ret_size)
+ tprints(", ...");
+
+ tprints("}");
+ }
}
}
return 0;
diff --git a/ptp.c b/ptp.c
index 3cb3ae87..0987111f 100644
--- a/ptp.c
+++ b/ptp.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2014 Stefan Sørensen <stefan.sorensen@spectralink.com>
* Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2014-2017 The strace developers.
+ * Copyright (c) 2014-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -34,6 +34,7 @@
# include <linux/ioctl.h>
# include <linux/ptp_clock.h>
+# include "print_fields.h"
# include "xlat/ptp_flags_options.h"
int
@@ -51,8 +52,8 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
if (umove_or_printaddr(tcp, arg, &extts))
break;
- tprintf("{index=%d, flags=", extts.index);
- printflags(ptp_flags_options, extts.flags, "PTP_???");
+ PRINT_FIELD_D("{", extts, index);
+ PRINT_FIELD_FLAGS(", ", extts, flags, ptp_flags_options, "PTP_???");
tprints("}");
break;
}
@@ -64,13 +65,12 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
if (umove_or_printaddr(tcp, arg, &perout))
break;
- tprintf("{start={%" PRId64 ", %" PRIu32 "}"
- ", period={%" PRId64 ", %" PRIu32 "}"
- ", index=%d, flags=",
- (int64_t)perout.start.sec, perout.start.nsec,
- (int64_t)perout.period.sec, perout.period.nsec,
- perout.index);
- printflags(ptp_flags_options, perout.flags, "PTP_???");
+ PRINT_FIELD_D("{start={", perout.start, sec);
+ PRINT_FIELD_U(", ", perout.start, nsec);
+ PRINT_FIELD_D("}, period={", perout.period, sec);
+ PRINT_FIELD_U(", ", perout.period, nsec);
+ PRINT_FIELD_D("}, ", perout, index);
+ PRINT_FIELD_FLAGS(", ", perout, flags, ptp_flags_options, "PTP_???");
tprints("}");
break;
}
@@ -87,7 +87,7 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
if (umove_or_printaddr(tcp, arg, &sysoff))
break;
- tprintf("{n_samples=%u", sysoff.n_samples);
+ PRINT_FIELD_U("{", sysoff, n_samples);
return 0;
} else {
unsigned int n_samples, i;
@@ -109,9 +109,9 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
for (i = 0; i < 2 * n_samples + 1; ++i) {
if (i > 0)
tprints(", ");
- tprintf("{%" PRId64 ", %" PRIu32 "}",
- (int64_t)sysoff.ts[i].sec,
- sysoff.ts[i].nsec);
+ PRINT_FIELD_D("{", sysoff.ts[i], sec);
+ PRINT_FIELD_U(", ", sysoff.ts[i], nsec);
+ tprints("}");
}
if (sysoff.n_samples > PTP_MAX_SAMPLES)
tprints(", ...");
@@ -129,9 +129,12 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
if (umove_or_printaddr(tcp, arg, &caps))
break;
- tprintf("{max_adj=%d, n_alarm=%d, n_ext_ts=%d, n_per_out=%d, pps=%d}",
- caps.max_adj, caps.n_alarm, caps.n_ext_ts,
- caps.n_per_out, caps.pps);
+ PRINT_FIELD_D("{", caps, max_adj);
+ PRINT_FIELD_D(", ", caps, n_alarm);
+ PRINT_FIELD_D(", ", caps, n_ext_ts);
+ PRINT_FIELD_D(", ", caps, n_per_out);
+ PRINT_FIELD_D(", ", caps, pps);
+ tprints("}");
break;
}
diff --git a/ptrace.h b/ptrace.h
index ce4fd9af..6250547d 100644
--- a/ptrace.h
+++ b/ptrace.h
@@ -8,6 +8,7 @@
* Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
* Copyright (c) 2013 Ali Polatel <alip@exherbo.org>
* Copyright (c) 2015 Mike Frysinger <vapier@gentoo.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -171,6 +172,9 @@
#ifndef PTRACE_SECCOMP_GET_FILTER
# define PTRACE_SECCOMP_GET_FILTER 0x420c
#endif
+#ifndef PTRACE_SECCOMP_GET_METADATA
+# define PTRACE_SECCOMP_GET_METADATA 0x420d
+#endif
#if !HAVE_DECL_PTRACE_PEEKUSER
# define PTRACE_PEEKUSER PTRACE_PEEKUSR
diff --git a/quota.c b/quota.c
index ba1d7612..f1ab9bc5 100644
--- a/quota.c
+++ b/quota.c
@@ -4,7 +4,7 @@
* Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
* Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
* Copyright (c) 2005-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2006-2017 The strace developers.
+ * Copyright (c) 2006-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -177,7 +177,7 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
return 0;
}
- /* Fall-through */
+ ATTRIBUTE_FALLTHROUGH;
case Q_SETQUOTA:
{
struct if_dqblk dq;
@@ -247,7 +247,7 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
return 0;
}
- /* Fall-through */
+ ATTRIBUTE_FALLTHROUGH;
case Q_XSETQLIM:
{
struct xfs_dqblk dq;
@@ -310,7 +310,7 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
return 0;
}
- /* Fall-through */
+ ATTRIBUTE_FALLTHROUGH;
case Q_SETINFO:
{
struct if_dqinfo dq;
diff --git a/regs.h b/regs.h
index d89581d7..7a044cef 100644
--- a/regs.h
+++ b/regs.h
@@ -2,11 +2,6 @@
#define STRACE_REGS_H
#include <sys/user.h>
-
-#ifdef HAVE_SYS_REG_H
-# include <sys/reg.h>
-#endif
-
#include "arch_regs.h"
#endif /* !STRACE_REGS_H */
diff --git a/retval.c b/retval.c
new file mode 100644
index 00000000..b8916d07
--- /dev/null
+++ b/retval.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2018 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 "retval.h"
+
+static kernel_long_t *retval_vec;
+static size_t retval_vec_capacity; /* size of the arena */
+static size_t retval_vec_size; /* size of the used arena */
+
+static void
+expand_retval_vec(void)
+{
+ const size_t old_capacity = retval_vec_capacity;
+ retval_vec = xgrowarray(retval_vec, &retval_vec_capacity,
+ sizeof(*retval_vec));
+ memset(retval_vec + old_capacity, 0,
+ (retval_vec_capacity - old_capacity)
+ * sizeof(*retval_vec));
+}
+
+uint16_t
+retval_new(const kernel_long_t rval)
+{
+ const uint16_t idx = retval_vec_size;
+
+ if (idx < retval_vec_size)
+ error_func_msg_and_die("retval index overflow");
+
+ if (retval_vec_size == retval_vec_capacity)
+ expand_retval_vec();
+
+ retval_vec[idx] = rval;
+ ++retval_vec_size;
+
+ return idx;
+}
+
+kernel_long_t
+retval_get(const uint16_t rval_idx)
+{
+ if (rval_idx >= retval_vec_size)
+ error_func_msg_and_die("rval_idx >= retval_vec_size");
+
+ return retval_vec[rval_idx];
+}
diff --git a/retval.h b/retval.h
new file mode 100644
index 00000000..0de38c5a
--- /dev/null
+++ b/retval.h
@@ -0,0 +1,8 @@
+/* retval to index and visa versa. */
+#ifndef STRACE_RETVAL_H
+#define STRACE_RETVAL_H
+
+uint16_t retval_new(kernel_long_t rval);
+kernel_long_t retval_get(uint16_t rval_idx);
+
+#endif /* !STRACE_RETVAL_H */
diff --git a/rtc.c b/rtc.c
index 9c02cbd5..22812eee 100644
--- a/rtc.c
+++ b/rtc.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
* Copyright (c) 2004-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -93,7 +93,7 @@ MPERS_PRINTER_DECL(int, rtc_ioctl, struct tcb *const tcp,
case RTC_RD_TIME:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case RTC_ALM_SET:
case RTC_SET_TIME:
tprints(", ");
@@ -113,7 +113,7 @@ MPERS_PRINTER_DECL(int, rtc_ioctl, struct tcb *const tcp,
case RTC_WKALM_RD:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case RTC_WKALM_SET:
tprints(", ");
decode_rtc_wkalrm(tcp, arg);
@@ -121,7 +121,7 @@ MPERS_PRINTER_DECL(int, rtc_ioctl, struct tcb *const tcp,
case RTC_PLL_GET:
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case RTC_PLL_SET:
tprints(", ");
decode_rtc_pll_info(tcp, arg);
diff --git a/rtnl_link.c b/rtnl_link.c
index 2e13fce5..a01452fa 100644
--- a/rtnl_link.c
+++ b/rtnl_link.c
@@ -39,6 +39,7 @@
#include <linux/rtnetlink.h>
#include "xlat/rtnl_ifla_brport_attrs.h"
+#include "xlat/rtnl_ifla_events.h"
#include "xlat/rtnl_ifla_info_attrs.h"
#include "xlat/rtnl_ifla_port_attrs.h"
#include "xlat/rtnl_ifla_vf_port_attrs.h"
@@ -375,6 +376,22 @@ decode_ifla_xdp(struct tcb *const tcp,
return true;
}
+static bool
+decode_ifla_event(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const unsigned int len,
+ const void *const opaque_data)
+{
+ uint32_t ev;
+
+ if (len < sizeof(ev))
+ return false;
+ else if (!umove_or_printaddr(tcp, addr, &ev))
+ printxval(rtnl_ifla_events, ev, "IFLA_EVENT_???");
+
+ return true;
+}
+
static const nla_decoder_t ifinfomsg_nla_decoders[] = {
[IFLA_ADDRESS] = NULL, /* unimplemented */
[IFLA_BROADCAST] = NULL, /* unimplemented */
@@ -419,7 +436,12 @@ static const nla_decoder_t ifinfomsg_nla_decoders[] = {
[IFLA_GSO_MAX_SIZE] = decode_nla_u32,
[IFLA_PAD] = NULL,
[IFLA_XDP] = decode_ifla_xdp,
- [IFLA_EVENT] = decode_nla_u32
+ [IFLA_EVENT] = decode_ifla_event,
+ [IFLA_NEW_NETNSID] = decode_nla_s32,
+ [IFLA_IF_NETNSID] = decode_nla_s32,
+ [IFLA_CARRIER_UP_COUNT] = decode_nla_u32,
+ [IFLA_CARRIER_DOWN_COUNT] = decode_nla_u32,
+ [IFLA_NEW_IFINDEX] = decode_nla_s32,
};
DECL_NETLINK_ROUTE_DECODER(decode_ifinfomsg)
diff --git a/rtnl_tc.c b/rtnl_tc.c
index f6e766d4..237afce7 100644
--- a/rtnl_tc.c
+++ b/rtnl_tc.c
@@ -293,7 +293,10 @@ static const nla_decoder_t tcmsg_nla_decoders[] = {
[TCA_STAB] = decode_tca_stab,
[TCA_PAD] = NULL,
[TCA_DUMP_INVISIBLE] = NULL,
- [TCA_CHAIN] = decode_nla_u32
+ [TCA_CHAIN] = decode_nla_u32,
+ [TCA_HW_OFFLOAD] = decode_nla_u8,
+ [TCA_INGRESS_BLOCK] = decode_nla_u32,
+ [TCA_EGRESS_BLOCK] = decode_nla_u32,
};
DECL_NETLINK_ROUTE_DECODER(decode_tcmsg)
diff --git a/s390.c b/s390.c
index a9349936..222fd01f 100644
--- a/s390.c
+++ b/s390.c
@@ -451,18 +451,6 @@ decode_ebcdic(const char *ebcdic, char *ascii, size_t size)
} while (0)
-static bool
-is_filled(char *ptr, char fill, size_t size)
-{
- while (size--)
- if (*ptr++ != fill)
- return false;
-
- return true;
-}
-
-#define IS_ZERO(arr_) \
- is_filled(arr_, '\0', sizeof(arr_) + MUST_BE_ARRAY(arr_))
#define IS_BLANK(arr_) /* 0x40 is space in EBCDIC */ \
is_filled(arr_, '\x40', sizeof(arr_) + MUST_BE_ARRAY(arr_))
@@ -541,13 +529,13 @@ print_sthyi_machine(struct tcb *tcp, struct sthyi_machine *hdr, uint16_t size,
if (name_val || hdr->infmname)
PRINT_FIELD_EBCDIC(", ", *hdr, infmname);
- if (id_val || !IS_ZERO(hdr->infmtype))
+ if (id_val || !IS_ARRAY_ZERO(hdr->infmtype))
PRINT_FIELD_EBCDIC(", ", *hdr, infmtype);
- if (id_val || !IS_ZERO(hdr->infmmanu))
+ if (id_val || !IS_ARRAY_ZERO(hdr->infmmanu))
PRINT_FIELD_EBCDIC(", ", *hdr, infmmanu);
- if (id_val || !IS_ZERO(hdr->infmseq))
+ if (id_val || !IS_ARRAY_ZERO(hdr->infmseq))
PRINT_FIELD_EBCDIC(", ", *hdr, infmseq);
- if (id_val || !IS_ZERO(hdr->infmpman))
+ if (id_val || !IS_ARRAY_ZERO(hdr->infmpman))
PRINT_FIELD_EBCDIC(", ", *hdr, infmpman);
PRINT_UNKNOWN_TAIL(hdr, size);
@@ -615,10 +603,10 @@ print_sthyi_partition(struct tcb *tcp, struct sthyi_partition *hdr,
if (cnt_val || hdr->infpdifl)
PRINT_FIELD_U(", ", *hdr, infpdifl);
- if (!abbrev(tcp) && !IS_ZERO(hdr->reserved_1__))
+ if (!abbrev(tcp) && !IS_ARRAY_ZERO(hdr->reserved_1__))
PRINT_FIELD_HEX_ARRAY(", ", *hdr, reserved_1__);
- if (id_val || !IS_ZERO(hdr->infppnam))
+ if (id_val || !IS_ARRAY_ZERO(hdr->infppnam))
PRINT_FIELD_EBCDIC(", ", *hdr, infppnam);
if (!abbrev(tcp)) {
@@ -631,7 +619,7 @@ print_sthyi_partition(struct tcb *tcp, struct sthyi_partition *hdr,
if (acap_val || hdr->infpabif)
PRINT_FIELD_WEIGHT(", ", *hdr, infpabif);
- if (!IS_ZERO(hdr->infplgnm)) {
+ if (!IS_ARRAY_ZERO(hdr->infplgnm)) {
PRINT_FIELD_EBCDIC(", ", *hdr, infplgnm);
PRINT_FIELD_WEIGHT(", ", *hdr, infplgcp);
@@ -693,7 +681,7 @@ print_sthyi_hypervisor(struct tcb *tcp, struct sthyi_hypervisor *hdr,
tprints_comment("unknown hypervisor type");
}
- if (!IS_ZERO(hdr->reserved_1__))
+ if (!IS_ARRAY_ZERO(hdr->reserved_1__))
PRINT_FIELD_HEX_ARRAY(", ", *hdr, reserved_1__);
if (mt || hdr->infycpt)
@@ -792,7 +780,7 @@ print_sthyi_guest(struct tcb *tcp, struct sthyi_guest *hdr, uint16_t size,
tprints_comment("unknown");
}
- if (!IS_ZERO(hdr->reserved_1__))
+ if (!IS_ARRAY_ZERO(hdr->reserved_1__))
PRINT_FIELD_HEX_ARRAY(", ", *hdr, reserved_1__);
}
@@ -817,7 +805,7 @@ print_sthyi_guest(struct tcb *tcp, struct sthyi_guest *hdr, uint16_t size,
tprints_comment("unknown");
}
- if (!IS_ZERO(hdr->reserved_2__))
+ if (!IS_ARRAY_ZERO(hdr->reserved_2__))
PRINT_FIELD_HEX_ARRAY(", ", *hdr, reserved_2__);
}
@@ -855,7 +843,7 @@ print_sthyi_guest(struct tcb *tcp, struct sthyi_guest *hdr, uint16_t size,
hdr->infgpflg & 0x07 ? " - ???" : "");
if (!abbrev(tcp)) {
- if (!IS_ZERO(hdr->reserved_3__))
+ if (!IS_ARRAY_ZERO(hdr->reserved_3__))
PRINT_FIELD_HEX_ARRAY(", ", *hdr, reserved_3__);
if (!IS_BLANK(hdr->infgpnam))
@@ -946,7 +934,7 @@ print_sthyi_buf(struct tcb *tcp, kernel_ulong_t ptr)
if (hdr->infhval2) /* Reserved */
PRINT_FIELD_0X(", ", *hdr, infhval2);
- if (!IS_ZERO(hdr->reserved_1__))
+ if (!IS_ARRAY_ZERO(hdr->reserved_1__))
PRINT_FIELD_HEX_ARRAY(", ", *hdr, reserved_1__);
PRINT_FIELD_U(", ", *hdr, infhygct);
diff --git a/sched.c b/sched.c
index 72226329..f96dfadf 100644
--- a/sched.c
+++ b/sched.c
@@ -2,7 +2,7 @@
* Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
* Copyright (c) 2005 Roland McGrath <roland@redhat.com>
* Copyright (c) 2012-2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2014-2017 The strace developers.
+ * Copyright (c) 2014-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -42,8 +42,7 @@ SYS_FUNC(sched_getscheduler)
tprintf("%d", (int) tcp->u_arg[0]);
} else if (!syserror(tcp)) {
tcp->auxstr = xlookup(schedulers, (kernel_ulong_t) tcp->u_rval);
- if (tcp->auxstr != NULL)
- return RVAL_STR;
+ return RVAL_STR;
}
return 0;
}
@@ -183,7 +182,7 @@ SYS_FUNC(sched_getattr)
* Due to a subtle gcc bug that leads to miscompiled aarch64
* kernels, the 3rd argument of sched_getattr is not quite 32-bit
* as on other architectures. For more details see
- * https://sourceforge.net/p/strace/mailman/message/35721703/
+ * https://lists.strace.io/pipermail/strace-devel/2017-March/006085.html
*/
if (syserror(tcp))
print_abnormal_hi(tcp->u_arg[2]);
diff --git a/sen.h b/sen.h
index a91c11d5..dc48cbc5 100644
--- a/sen.h
+++ b/sen.h
@@ -146,6 +146,7 @@ SEN_ioprio_get,
SEN_ioprio_set,
SEN_ipc,
SEN_kcmp,
+SEN_kern_features,
SEN_kexec_file_load,
SEN_kexec_load,
SEN_keyctl,
diff --git a/sockaddr.c b/sockaddr.c
index ac42e164..71d18c62 100644
--- a/sockaddr.c
+++ b/sockaddr.c
@@ -4,7 +4,7 @@
* Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
* Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
* Copyright (c) 2005-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -66,6 +66,8 @@
#define SIZEOF_SA_FAMILY sizeof(((struct sockaddr *) 0)->sa_family)
+const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1;
+
static void
print_sockaddr_data_un(const void *const buf, const int addrlen)
{
@@ -223,7 +225,8 @@ print_sockaddr_data_ll(const void *const buf, const int addrlen)
const struct sockaddr_ll *const sa_ll = buf;
tprints("sll_protocol=htons(");
- printxval(ethernet_protocols, ntohs(sa_ll->sll_protocol), "ETH_P_???");
+ printxval_search(ethernet_protocols, ntohs(sa_ll->sll_protocol),
+ "ETH_P_???");
PRINT_FIELD_IFINDEX("), ", *sa_ll, sll_ifindex);
tprints(", sll_hatype=");
printxval(arp_hardware_types, sa_ll->sll_hatype, "ARPHRD_???");
diff --git a/socketutils.c b/socketutils.c
index c6c42c1a..38b864cd 100644
--- a/socketutils.c
+++ b/socketutils.c
@@ -165,6 +165,10 @@ inet_parse_response(const void *const data, const int data_len,
char src_buf[text_size];
char *details;
+ /* open/closing brackets for IPv6 addresses */
+ const char *ob = diag_msg->idiag_family == AF_INET6 ? "[" : "";
+ const char *cb = diag_msg->idiag_family == AF_INET6 ? "]" : "";
+
if (!inet_ntop(diag_msg->idiag_family, diag_msg->id.idiag_src,
src_buf, text_size))
return -1;
@@ -177,12 +181,14 @@ inet_parse_response(const void *const data, const int data_len,
dst_buf, text_size))
return -1;
- if (asprintf(&details, "%s:[%s:%u->%s:%u]", proto_name,
- src_buf, ntohs(diag_msg->id.idiag_sport),
- dst_buf, ntohs(diag_msg->id.idiag_dport)) < 0)
+ if (asprintf(&details, "%s:[%s%s%s:%u->%s%s%s:%u]", proto_name,
+ ob, src_buf, cb, ntohs(diag_msg->id.idiag_sport),
+ ob, dst_buf, cb, ntohs(diag_msg->id.idiag_dport))
+ < 0)
return false;
} else {
- if (asprintf(&details, "%s:[%s:%u]", proto_name, src_buf,
+ if (asprintf(&details, "%s:[%s%s%s:%u]",
+ proto_name, ob, src_buf, cb,
ntohs(diag_msg->id.idiag_sport)) < 0)
return false;
}
@@ -325,10 +331,10 @@ unix_parse_response(const void *data, const int data_len,
if (path[0] == '\0') {
outstr[1] = '@';
string_quote(path + 1, outstr + 2,
- path_len - 1, QUOTE_0_TERMINATED);
+ path_len - 1, QUOTE_0_TERMINATED, NULL);
} else {
string_quote(path, outstr + 1,
- path_len, QUOTE_0_TERMINATED);
+ path_len, QUOTE_0_TERMINATED, NULL);
}
path_str = outstr;
} else {
diff --git a/sparc.c b/sparc.c
new file mode 100644
index 00000000..8e8c8a2c
--- /dev/null
+++ b/sparc.c
@@ -0,0 +1,46 @@
+/*
+ * SPARC-specific syscall decoders.
+ *
+ * Copyright (c) 2018 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"
+
+#if defined SPARC || defined SPARC64
+
+# include "xlat/sparc_kern_features.h"
+
+SYS_FUNC(kern_features)
+{
+ if (entering(tcp) || syserror(tcp))
+ return 0;
+
+ tcp->auxstr = sprintflags("", sparc_kern_features,
+ (kernel_ulong_t) tcp->u_rval);
+ return RVAL_HEX | RVAL_STR;
+}
+
+#endif /* SPARC || SPARC64 */
diff --git a/stamp-h1 b/stamp-h1
new file mode 100644
index 00000000..4547fe1b
--- /dev/null
+++ b/stamp-h1
@@ -0,0 +1 @@
+timestamp for config.h
diff --git a/static_assert.h b/static_assert.h
new file mode 100755
index 00000000..1c58e7da
--- /dev/null
+++ b/static_assert.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2018 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_STATIC_ASSERT_H
+#define STRACE_STATIC_ASSERT_H
+
+#include "assert.h"
+
+#ifndef HAVE_STATIC_ASSERT
+
+# define static_assert(expr, message) \
+ extern int (*strace_static_assert(int))[sizeof(int[2 * !!(expr) - 1])]
+
+#endif
+
+#endif /* !STRACE_STATIC_ASSERT_H */
diff --git a/strace-log-merge b/strace-log-merge
index 7c0c0a11..22a9f488 100755
--- a/strace-log-merge
+++ b/strace-log-merge
@@ -3,7 +3,7 @@
# This script processes strace -ff -tt output. It merges the contents of all
# STRACE_LOG.PID files and sorts them, printing result on the standard output.
#
-# Copyright (c) 2012-2017 The strace developers.
+# Copyright (c) 2012-2018 The strace developers.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/strace-log-merge.1 b/strace-log-merge.1
index 9bdee734..7316083b 100644
--- a/strace-log-merge.1
+++ b/strace-log-merge.1
@@ -31,7 +31,7 @@
. BR "\\$1"
..
.\"
-.TH STRACE-LOG-MERGE 1 "2018-02-11" "strace 4.21"
+.TH STRACE-LOG-MERGE 1 "2018-04-04" "strace 4.22"
.\"
.SH NAME
strace-log-merge \- merge strace \-ff \-tt output
@@ -140,7 +140,7 @@ Problems with
.B strace-log-merge
should be reported to the
.B strace
-mailing list at <strace\-devel@lists.sourceforge.net>.
+mailing list at <strace\-devel@lists.strace.io>.
.\"
.SH "SEE ALSO"
.BR strace (1)
diff --git a/strace-log-merge.1.in b/strace-log-merge.1.in
index c5f6d29f..255246c9 100644
--- a/strace-log-merge.1.in
+++ b/strace-log-merge.1.in
@@ -140,7 +140,7 @@ Problems with
.B strace-log-merge
should be reported to the
.B strace
-mailing list at <strace\-devel@lists.sourceforge.net>.
+mailing list at <strace\-devel@lists.strace.io>.
.\"
.SH "SEE ALSO"
.BR strace (1)
diff --git a/strace.1 b/strace.1
index cbac6b22..5b9691ec 100644
--- a/strace.1
+++ b/strace.1
@@ -53,12 +53,12 @@
. el \
. BR "\\$1"
..
-.TH STRACE 1 "2018-02-11" "strace 4.21"
+.TH STRACE 1 "2018-04-04" "strace 4.22"
.SH NAME
strace \- trace system calls and signals
.SH SYNOPSIS
.SY strace
-.OP \-CdffhikqrtttTvVxxy
+.OP \-ACdffhikqrtttTvVxxy
.OP \-I n
.OP \-b execve
.OM \-e expr
@@ -274,6 +274,10 @@ without affecting the redirections of executed programs.
The latter is not compatible with
.B \-ff
option currently.
+.TP \-A
+Open the file provided in the
+.B \-o
+option in append mode.
.TP
.B \-q
Suppress messages about attaching, detaching etc. This happens
@@ -287,6 +291,13 @@ If given twice, suppress messages about process exit status.
Print a relative timestamp upon entry to each system call. This
records the time difference between the beginning of successive
system calls.
+Note that since
+.B \-r
+option uses the monotonic clock time for measuring time difference and not the
+wall clock time, its measurements can differ from the difference in time
+reported by the
+.B \-t
+option.
.TP
.BI "\-s " strsize
Specify the maximum string size to print (the default is 32). Note
@@ -318,12 +329,14 @@ Print all strings in hexadecimal string format.
Print paths associated with file descriptor arguments.
.TP
.B \-yy
-Print protocol specific information associated with socket file descriptors.
+Print protocol specific information associated with socket file descriptors,
+and block/character device number associated with device file descriptors.
.SS Statistics
.TP 12
.B \-c
Count time, calls, and errors for each system call and report a summary on
-program exit. This attempts to show system time (CPU time spent running
+program exit, suppressing the regular output.
+This attempts to show system time (CPU time spent running
in the kernel) independent of wall clock time. If
.B \-c
is used with
@@ -434,7 +447,7 @@ You can use
.B POSIX
Extended Regular Expression syntax (see
.BR regex (7)).
-.PP
+.TP
.BR "\-e\ trace" = %file
.TQ
.BR "\-e\ trace" = file " (deprecated)"
@@ -446,33 +459,33 @@ Furthermore, using the abbreviation will ensure that you don't
accidentally forget to include a call like
.B lstat
in the list. Betchya woulda forgot that one.
-.PP
+.TP
.BR "\-e\ trace" = %process
.TQ
.BR "\-e\ trace" = process " (deprecated)"
Trace all system calls which involve process management. This
is useful for watching the fork, wait, and exec steps of a process.
-.PP
+.TP
.BR "\-e\ trace" = %network
.TQ
.BR "\-e\ trace" = network " (deprecated)"
Trace all the network related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %signal
.TQ
.BR "\-e\ trace" = signal " (deprecated)"
Trace all signal related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %ipc
.TQ
.BR "\-e\ trace" = ipc " (deprecated)"
Trace all IPC related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %desc
.TQ
.BR "\-e\ trace" = desc " (deprecated)"
Trace all file descriptor related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %memory
.TQ
.BR "\-e\ trace" = memory " (deprecated)"
@@ -582,14 +595,16 @@ Note that this is independent from the normal tracing of the
system call which is controlled by the option
.BR -e "\ " trace = write .
.TP
-\fB\-e\ inject\fR=\,\fIset\/\fR[:\fBerror\fR=\,\fIerrno\/\fR|:\fBretval\fR=\,\fIvalue\/\fR][:\fBsignal\fR=\,\fIsig\/\fR][:\fBwhen\fR=\,\fIexpr\/\fR]
+\fB\-e\ inject\fR=\,\fIset\/\fR[:\fBerror\fR=\,\fIerrno\/\fR|:\fBretval\fR=\,\fIvalue\/\fR][:\fBsignal\fR=\,\fIsig\/\fR][:\fBdelay_enter\fR=\,\fIusecs\/\fR][:\fBdelay_exit\fR=\,\fIusecs\/\fR][:\fBwhen\fR=\,\fIexpr\/\fR]
Perform syscall tampering for the specified set of syscalls.
At least one of
.BR error ,
.BR retval ,
+.BR signal ,
+.BR delay_enter ,
or
-.B signal
+.B delay_exit
options has to be specified.
.B error
and
@@ -616,14 +631,24 @@ or a numeric value within 1..\fBSIGRTMAX\fR range,
that signal is delivered on entering every syscall specified by the
.IR set .
+If :\fBdelay_enter\fR=\,\fIusecs\/\fR or :\fBdelay_exit\fR=\,\fIusecs\/\fR
+options are specified, delay injection is performed: the tracee is delayed
+by at least
+.IR usecs
+microseconds on entering or exiting the syscall.
+
If :\fBsignal\fR=\,\fIsig\/\fR option is specified without
-:\fBerror\fR=\,\fIerrno\/\fR or :\fBretval\fR=\,\fIvalue\/\fR options,
+:\fBerror\fR=\,\fIerrno\/\fR, :\fBretval\fR=\,\fIvalue\/\fR or
+:\fBdelay_{enter,exit}\fR=\,\fIusecs\/\fR options,
then only a signal
.I sig
-is delivered without a syscall fault injection.
+is delivered without a syscall fault or delay injection.
Conversely, :\fBerror\fR=\,\fIerrno\/\fR or
:\fBretval\fR=\,\fIvalue\/\fR option without
-:\fBsignal\fR=\,\fIsig\/\fR option injects a fault without delivering a signal.
+:\fBdelay_enter\fR=\,\fIusecs\/\fR,
+:\fBdelay_exit\fR=\,\fIusecs\/\fR or
+:\fBsignal\fR=\,\fIsig\/\fR options injects a fault without delivering a signal
+or injecting a delay, etc.
If both :\fBerror\fR=\,\fIerrno\/\fR or :\fBretval\fR=\,\fIvalue\/\fR
and :\fBsignal\fR=\,\fIsig\/\fR options are specified, then both
@@ -992,6 +1017,18 @@ to the traced process, but a few system calls aren't.
Arguably, every instance of such behavior is a kernel bug.)
This may have an unpredictable effect on the process
if the process takes no action to restart the system call.
+.LP
+As
+.B strace
+executes the specified
+.I command
+directly and does not employ a shell for that, scripts without shebang
+that usually run just fine when invoked by shell fail to execute with
+.B ENOEXEC
+error.
+It is advisable to manually supply a shell as a
+.I command
+with the script as its argument.
.SH BUGS
Programs that use the
.I setuid
@@ -1082,7 +1119,7 @@ Problems with
.B strace
should be reported to the
.B strace
-mailing list at <strace\-devel@lists.sourceforge.net>.
+mailing list at <strace\-devel@lists.strace.io>.
.SH "SEE ALSO"
.BR strace-log-merge (1),
.BR ltrace (1),
diff --git a/strace.1.in b/strace.1.in
index 5d45e616..46a55e5e 100644
--- a/strace.1.in
+++ b/strace.1.in
@@ -58,7 +58,7 @@
strace \- trace system calls and signals
.SH SYNOPSIS
.SY strace
-.OP \-CdffhikqrtttTvVxxy
+.OP \-ACdffhikqrtttTvVxxy
.OP \-I n
.OP \-b execve
.OM \-e expr
@@ -274,6 +274,10 @@ without affecting the redirections of executed programs.
The latter is not compatible with
.B \-ff
option currently.
+.TP \-A
+Open the file provided in the
+.B \-o
+option in append mode.
.TP
.B \-q
Suppress messages about attaching, detaching etc. This happens
@@ -287,6 +291,13 @@ If given twice, suppress messages about process exit status.
Print a relative timestamp upon entry to each system call. This
records the time difference between the beginning of successive
system calls.
+Note that since
+.B \-r
+option uses the monotonic clock time for measuring time difference and not the
+wall clock time, its measurements can differ from the difference in time
+reported by the
+.B \-t
+option.
.TP
.BI "\-s " strsize
Specify the maximum string size to print (the default is 32). Note
@@ -318,12 +329,14 @@ Print all strings in hexadecimal string format.
Print paths associated with file descriptor arguments.
.TP
.B \-yy
-Print protocol specific information associated with socket file descriptors.
+Print protocol specific information associated with socket file descriptors,
+and block/character device number associated with device file descriptors.
.SS Statistics
.TP 12
.B \-c
Count time, calls, and errors for each system call and report a summary on
-program exit. This attempts to show system time (CPU time spent running
+program exit, suppressing the regular output.
+This attempts to show system time (CPU time spent running
in the kernel) independent of wall clock time. If
.B \-c
is used with
@@ -434,7 +447,7 @@ You can use
.B POSIX
Extended Regular Expression syntax (see
.BR regex (7)).
-.PP
+.TP
.BR "\-e\ trace" = %file
.TQ
.BR "\-e\ trace" = file " (deprecated)"
@@ -446,33 +459,33 @@ Furthermore, using the abbreviation will ensure that you don't
accidentally forget to include a call like
.B lstat
in the list. Betchya woulda forgot that one.
-.PP
+.TP
.BR "\-e\ trace" = %process
.TQ
.BR "\-e\ trace" = process " (deprecated)"
Trace all system calls which involve process management. This
is useful for watching the fork, wait, and exec steps of a process.
-.PP
+.TP
.BR "\-e\ trace" = %network
.TQ
.BR "\-e\ trace" = network " (deprecated)"
Trace all the network related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %signal
.TQ
.BR "\-e\ trace" = signal " (deprecated)"
Trace all signal related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %ipc
.TQ
.BR "\-e\ trace" = ipc " (deprecated)"
Trace all IPC related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %desc
.TQ
.BR "\-e\ trace" = desc " (deprecated)"
Trace all file descriptor related system calls.
-.PP
+.TP
.BR "\-e\ trace" = %memory
.TQ
.BR "\-e\ trace" = memory " (deprecated)"
@@ -582,14 +595,16 @@ Note that this is independent from the normal tracing of the
system call which is controlled by the option
.BR -e "\ " trace = write .
.TP
-\fB\-e\ inject\fR=\,\fIset\/\fR[:\fBerror\fR=\,\fIerrno\/\fR|:\fBretval\fR=\,\fIvalue\/\fR][:\fBsignal\fR=\,\fIsig\/\fR][:\fBwhen\fR=\,\fIexpr\/\fR]
+\fB\-e\ inject\fR=\,\fIset\/\fR[:\fBerror\fR=\,\fIerrno\/\fR|:\fBretval\fR=\,\fIvalue\/\fR][:\fBsignal\fR=\,\fIsig\/\fR][:\fBdelay_enter\fR=\,\fIusecs\/\fR][:\fBdelay_exit\fR=\,\fIusecs\/\fR][:\fBwhen\fR=\,\fIexpr\/\fR]
Perform syscall tampering for the specified set of syscalls.
At least one of
.BR error ,
.BR retval ,
+.BR signal ,
+.BR delay_enter ,
or
-.B signal
+.B delay_exit
options has to be specified.
.B error
and
@@ -616,14 +631,24 @@ or a numeric value within 1..\fBSIGRTMAX\fR range,
that signal is delivered on entering every syscall specified by the
.IR set .
+If :\fBdelay_enter\fR=\,\fIusecs\/\fR or :\fBdelay_exit\fR=\,\fIusecs\/\fR
+options are specified, delay injection is performed: the tracee is delayed
+by at least
+.IR usecs
+microseconds on entering or exiting the syscall.
+
If :\fBsignal\fR=\,\fIsig\/\fR option is specified without
-:\fBerror\fR=\,\fIerrno\/\fR or :\fBretval\fR=\,\fIvalue\/\fR options,
+:\fBerror\fR=\,\fIerrno\/\fR, :\fBretval\fR=\,\fIvalue\/\fR or
+:\fBdelay_{enter,exit}\fR=\,\fIusecs\/\fR options,
then only a signal
.I sig
-is delivered without a syscall fault injection.
+is delivered without a syscall fault or delay injection.
Conversely, :\fBerror\fR=\,\fIerrno\/\fR or
:\fBretval\fR=\,\fIvalue\/\fR option without
-:\fBsignal\fR=\,\fIsig\/\fR option injects a fault without delivering a signal.
+:\fBdelay_enter\fR=\,\fIusecs\/\fR,
+:\fBdelay_exit\fR=\,\fIusecs\/\fR or
+:\fBsignal\fR=\,\fIsig\/\fR options injects a fault without delivering a signal
+or injecting a delay, etc.
If both :\fBerror\fR=\,\fIerrno\/\fR or :\fBretval\fR=\,\fIvalue\/\fR
and :\fBsignal\fR=\,\fIsig\/\fR options are specified, then both
@@ -992,6 +1017,18 @@ to the traced process, but a few system calls aren't.
Arguably, every instance of such behavior is a kernel bug.)
This may have an unpredictable effect on the process
if the process takes no action to restart the system call.
+.LP
+As
+.B strace
+executes the specified
+.I command
+directly and does not employ a shell for that, scripts without shebang
+that usually run just fine when invoked by shell fail to execute with
+.B ENOEXEC
+error.
+It is advisable to manually supply a shell as a
+.I command
+with the script as its argument.
.SH BUGS
Programs that use the
.I setuid
@@ -1082,7 +1119,7 @@ Problems with
.B strace
should be reported to the
.B strace
-mailing list at <strace\-devel@lists.sourceforge.net>.
+mailing list at <strace\-devel@lists.strace.io>.
.SH "SEE ALSO"
.BR strace-log-merge (1),
.BR ltrace (1),
diff --git a/strace.c b/strace.c
index 10579f66..a76502af 100644
--- a/strace.c
+++ b/strace.c
@@ -44,6 +44,7 @@
#include <pwd.h>
#include <grp.h>
#include <dirent.h>
+#include <locale.h>
#include <sys/utsname.h>
#ifdef HAVE_PRCTL
# include <sys/prctl.h>
@@ -51,11 +52,13 @@
#include <asm/unistd.h>
#include "largefile_wrappers.h"
+#include "mmap_cache.h"
#include "number_set.h"
#include "scno.h"
#include "printsiginfo.h"
#include "trace_event.h"
#include "xstring.h"
+#include "delay.h"
/* In some libc, these aren't declared. Do it ourself: */
extern char **environ;
@@ -121,13 +124,8 @@ static int opt_intr;
*/
static bool daemonized_tracer;
-#if USE_SEIZE
static int post_attach_sigstop = TCB_IGNORE_ONE_SIGSTOP;
-# define use_seize (post_attach_sigstop == 0)
-#else
-# define post_attach_sigstop TCB_IGNORE_ONE_SIGSTOP
-# define use_seize 0
-#endif
+#define use_seize (post_attach_sigstop == 0)
/* Sometimes we want to print only succeeding syscalls. */
bool not_failing_only;
@@ -152,6 +150,7 @@ static char *acolumn_spaces;
static const char *outfname;
/* If -ff, points to stderr. Else, it's our common output log */
static FILE *shared_log;
+static bool open_append;
struct tcb *printing_tcp;
static struct tcb *current_tcp;
@@ -169,14 +168,16 @@ 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 start_set, blocked_set;
#ifdef HAVE_SIG_ATOMIC_T
-static volatile sig_atomic_t interrupted;
+static volatile sig_atomic_t interrupted, restart_failed;
#else
-static volatile int interrupted;
+static volatile int interrupted, restart_failed;
#endif
+static sigset_t timer_set;
+static void timer_sighandler(int);
+
#ifndef HAVE_STRERROR
#if !HAVE_DECL_SYS_ERRLIST
@@ -334,7 +335,6 @@ static const char *ptrace_attach_cmd;
static int
ptrace_attach_or_seize(int pid)
{
-#if USE_SEIZE
int r;
if (!use_seize)
return ptrace_attach_cmd = "PTRACE_ATTACH",
@@ -344,10 +344,6 @@ ptrace_attach_or_seize(int pid)
return ptrace_attach_cmd = "PTRACE_SEIZE", r;
r = ptrace(PTRACE_INTERRUPT, pid, 0L, 0L);
return ptrace_attach_cmd = "PTRACE_INTERRUPT", r;
-#else
- return ptrace_attach_cmd = "PTRACE_ATTACH",
- ptrace(PTRACE_ATTACH, pid, 0L, 0L);
-#endif
}
/*
@@ -454,7 +450,7 @@ strace_fopen(const char *path)
FILE *fp;
swap_uid();
- fp = fopen_for_output(path, "w");
+ fp = fopen_stream(path, open_append ? "a" : "w");
if (!fp)
perror_msg_and_die("Can't fopen '%s'", path);
swap_uid();
@@ -650,30 +646,47 @@ printleader(struct tcb *tcp)
tprintf("[pid %5u] ", tcp->pid);
if (tflag) {
- char str[sizeof("HH:MM:SS")];
- struct timeval tv, dtv;
- static struct timeval otv;
-
- gettimeofday(&tv, NULL);
- if (rflag) {
- if (otv.tv_sec == 0)
- otv = tv;
- tv_sub(&dtv, &tv, &otv);
- tprintf("%6ld.%06ld ",
- (long) dtv.tv_sec, (long) dtv.tv_usec);
- otv = tv;
- } else if (tflag > 2) {
- tprintf("%ld.%06ld ",
- (long) tv.tv_sec, (long) tv.tv_usec);
+ struct timespec ts;
+ clock_gettime(CLOCK_REALTIME, &ts);
+
+ if (tflag > 2) {
+ tprintf("%lld.%06ld ",
+ (long long) ts.tv_sec, (long) ts.tv_nsec / 1000);
} else {
- time_t local = tv.tv_sec;
- strftime(str, sizeof(str), "%T", localtime(&local));
+ time_t local = ts.tv_sec;
+ char str[MAX(sizeof("HH:MM:SS"), sizeof(ts.tv_sec) * 3)];
+ struct tm *tm = localtime(&local);
+
+ if (tm)
+ strftime(str, sizeof(str), "%T", tm);
+ else
+ xsprintf(str, "%lld", (long long) local);
if (tflag > 1)
- tprintf("%s.%06ld ", str, (long) tv.tv_usec);
+ tprintf("%s.%06ld ",
+ str, (long) ts.tv_nsec / 1000);
else
tprintf("%s ", str);
}
}
+
+ if (rflag) {
+ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+
+ static struct timespec ots;
+ if (ots.tv_sec == 0)
+ ots = ts;
+
+ struct timespec dts;
+ ts_sub(&dts, &ts, &ots);
+ ots = ts;
+
+ tprintf("%s%6ld.%06ld%s ",
+ tflag ? "(+" : "",
+ (long) dts.tv_sec, (long) dts.tv_nsec / 1000,
+ tflag ? ")" : "");
+ }
+
if (iflag)
print_pc(tcp);
}
@@ -803,6 +816,8 @@ droptcb(struct tcb *tcp)
}
#endif
+ mmap_cache_delete(tcp, __func__);
+
nprocs--;
debug_msg("dropped tcb for pid %d, %d remain", tcp->pid, nprocs);
@@ -1083,15 +1098,6 @@ startup_attach(void)
unsigned int tcbi;
struct tcb *tcp;
- /*
- * Block user interruptions as we would leave the traced
- * process stopped (process state T) if we would terminate in
- * between PTRACE_ATTACH and wait4() on SIGSTOP.
- * We rely on cleanup() from this point on.
- */
- if (interactive)
- sigprocmask(SIG_SETMASK, &blocked_set, NULL);
-
if (daemonized_tracer) {
pid_t pid = fork();
if (pid < 0)
@@ -1131,12 +1137,8 @@ startup_attach(void)
attach_tcb(tcp);
- if (interactive) {
- sigprocmask(SIG_SETMASK, &start_set, NULL);
- if (interrupted)
- goto ret;
- sigprocmask(SIG_SETMASK, &blocked_set, NULL);
- }
+ if (interrupted)
+ return;
} /* for each tcbtab[] */
if (daemonized_tracer) {
@@ -1147,10 +1149,6 @@ startup_attach(void)
kill(parent_pid, SIGKILL);
strace_child = 0;
}
-
- ret:
- if (interactive)
- sigprocmask(SIG_SETMASK, &start_set, NULL);
}
/* Stack-o-phobic exec helper, in the hope to work around
@@ -1469,7 +1467,6 @@ startup_child(char **argv)
redirect_standard_fds();
}
-#if USE_SEIZE
static void
test_ptrace_seize(void)
{
@@ -1519,9 +1516,6 @@ test_ptrace_seize(void)
error_func_msg_and_die("unexpected wait status %#x", status);
}
}
-#else /* !USE_SEIZE */
-# define test_ptrace_seize() ((void)0)
-#endif
static unsigned
get_os_release(void)
@@ -1559,10 +1553,6 @@ get_os_release(void)
static void
set_sighandler(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);
}
@@ -1605,13 +1595,16 @@ init(int argc, char *argv[])
#ifdef USE_LIBUNWIND
"k"
#endif
- "a:b:cCdDe:E:fFhiI:o:O:p:P:qrs:S:tTu:vVwxyz")) != EOF) {
+ "a:Ab:cCdDe:E:fFhiI:o:O:p:P:qrs:S:tTu:vVwxyz")) != EOF) {
switch (c) {
case 'a':
acolumn = string_to_uint(optarg);
if (acolumn < 0)
error_opt_arg(c, optarg);
break;
+ case 'A':
+ open_append = true;
+ break;
case 'b':
if (strcmp(optarg, "execve") != 0)
error_msg_and_die("Syscall '%s' for -b isn't supported",
@@ -1775,19 +1768,10 @@ init(int argc, char *argv[])
error_msg("-%c has no effect with -c", 'y');
}
- if (rflag) {
- if (tflag > 1)
- error_msg("-tt has no effect with -r");
- 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_sighandler(SIGCHLD, SIG_DFL, &params_for_tracee.child_sa);
#ifdef USE_LIBUNWIND
@@ -1901,9 +1885,9 @@ init(int argc, char *argv[])
set_sighandler(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.
+ * fatal signals are handled asynchronously and acted
+ * when waiting for process state changes.
+ * In non-interactive mode these signals are ignored.
*/
set_sighandler(SIGHUP, interactive ? interrupt : SIG_IGN, NULL);
set_sighandler(SIGINT, interactive ? interrupt : SIG_IGN, NULL);
@@ -1912,6 +1896,11 @@ init(int argc, char *argv[])
set_sighandler(SIGTERM, interactive ? interrupt : SIG_IGN, NULL);
}
+ sigemptyset(&timer_set);
+ sigaddset(&timer_set, SIGALRM);
+ sigprocmask(SIG_BLOCK, &timer_set, NULL);
+ set_sighandler(SIGALRM, timer_sighandler, NULL);
+
if (nprocs != 0 || daemonized_tracer)
startup_attach();
@@ -1924,17 +1913,25 @@ init(int argc, char *argv[])
}
static struct tcb *
-pid2tcb(int pid)
+pid2tcb(const int pid)
{
- unsigned int i;
-
if (pid <= 0)
return NULL;
- for (i = 0; i < tcbtabsize; i++) {
- struct tcb *tcp = tcbtab[i];
+#define PID2TCB_CACHE_SIZE 1024U
+#define PID2TCB_CACHE_MASK (PID2TCB_CACHE_SIZE - 1)
+
+ static struct tcb *pid2tcb_cache[PID2TCB_CACHE_SIZE];
+ struct tcb **const ptcp = &pid2tcb_cache[pid & PID2TCB_CACHE_MASK];
+ struct tcb *tcp = *ptcp;
+
+ if (tcp && tcp->pid == pid)
+ return tcp;
+
+ for (unsigned int i = 0; i < tcbtabsize; ++i) {
+ tcp = tcbtab[i];
if (tcp->pid == pid)
- return tcp;
+ return *ptcp = tcp;
}
return NULL;
@@ -2223,7 +2220,6 @@ static enum trace_event
next_event(int *pstatus, siginfo_t *si)
{
int pid;
- int wait_errno;
int status;
struct tcb *tcp;
struct rusage ru;
@@ -2252,12 +2248,42 @@ next_event(int *pstatus, siginfo_t *si)
return TE_BREAK;
}
- if (interactive)
- sigprocmask(SIG_SETMASK, &start_set, NULL);
+ const bool unblock_delay_timer = is_delay_timer_armed();
+
+ /*
+ * The window of opportunity to handle expirations
+ * of the delay timer opens here.
+ *
+ * Unblock the signal handler for the delay timer
+ * iff the delay timer is already created.
+ */
+ if (unblock_delay_timer)
+ sigprocmask(SIG_UNBLOCK, &timer_set, NULL);
+
+ /*
+ * If the delay timer has expired, then its expiration
+ * has been handled already by the signal handler.
+ *
+ * If the delay timer expires during wait4(),
+ * then the system call will be interrupted and
+ * the expiration will be handled by the signal handler.
+ */
pid = wait4(-1, pstatus, __WALL, (cflag ? &ru : NULL));
- wait_errno = errno;
- if (interactive)
- sigprocmask(SIG_SETMASK, &blocked_set, NULL);
+ const int wait_errno = errno;
+
+ /*
+ * The window of opportunity to handle expirations
+ * of the delay timer closes here.
+ *
+ * Block the signal handler for the delay timer
+ * iff it was unblocked earlier.
+ */
+ if (unblock_delay_timer) {
+ sigprocmask(SIG_BLOCK, &timer_set, NULL);
+
+ if (restart_failed)
+ return TE_BREAK;
+ }
if (pid < 0) {
if (wait_errno == EINTR)
@@ -2298,8 +2324,12 @@ next_event(int *pstatus, siginfo_t *si)
set_current_tcp(tcp);
if (cflag) {
- tv_sub(&tcp->dtime, &ru.ru_stime, &tcp->stime);
- tcp->stime = ru.ru_stime;
+ struct timespec stime = {
+ .tv_sec = ru.ru_stime.tv_sec,
+ .tv_nsec = ru.ru_stime.tv_usec * 1000
+ };
+ ts_sub(&tcp->dtime, &stime, &tcp->stime);
+ tcp->stime = stime;
}
if (WIFSIGNALED(status))
@@ -2348,7 +2378,6 @@ next_event(int *pstatus, siginfo_t *si)
return stopped ? TE_GROUP_STOP : TE_SIGNAL_DELIVERY_STOP;
}
break;
-#if USE_SEIZE
case PTRACE_EVENT_STOP:
/*
* PTRACE_INTERRUPT-stop or group-stop.
@@ -2362,7 +2391,6 @@ next_event(int *pstatus, siginfo_t *si)
return TE_GROUP_STOP;
}
return TE_RESTART;
-#endif
case PTRACE_EVENT_EXEC:
return TE_STOP_BEFORE_EXECVE;
case PTRACE_EVENT_EXIT:
@@ -2386,10 +2414,10 @@ trace_syscall(struct tcb *tcp, unsigned int *sig)
syscall_entering_finish(tcp, res);
return res;
} else {
- struct timeval tv = {};
- int res = syscall_exiting_decode(tcp, &tv);
+ struct timespec ts = {};
+ int res = syscall_exiting_decode(tcp, &ts);
if (res != 0) {
- res = syscall_exiting_trace(tcp, tv, res);
+ res = syscall_exiting_trace(tcp, &ts, res);
}
syscall_exiting_finish(tcp);
return res;
@@ -2524,6 +2552,10 @@ dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si)
if (interrupted)
return false;
+ /* If the process is being delayed, do not ptrace_restart just yet */
+ if (syscall_delayed(current_tcp))
+ return true;
+
if (ptrace_restart(restart_op, current_tcp, restart_sig) < 0) {
/* Note: ptrace_restart emitted error message */
exit_code = 1;
@@ -2532,6 +2564,74 @@ dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si)
return true;
}
+static bool
+restart_delayed_tcb(struct tcb *const tcp)
+{
+ debug_func_msg("pid %d", tcp->pid);
+
+ tcp->flags &= ~TCB_DELAYED;
+
+ struct tcb *const prev_tcp = current_tcp;
+ current_tcp = tcp;
+ bool ret = dispatch_event(TE_RESTART, NULL, NULL);
+ current_tcp = prev_tcp;
+
+ return ret;
+}
+
+static bool
+restart_delayed_tcbs(void)
+{
+ struct tcb *tcp_next = NULL;
+ struct timespec ts_now;
+
+ clock_gettime(CLOCK_MONOTONIC, &ts_now);
+
+ for (size_t i = 0; i < tcbtabsize; i++) {
+ struct tcb *tcp = tcbtab[i];
+
+ if (tcp->pid && syscall_delayed(tcp)) {
+ if (ts_cmp(&ts_now, &tcp->delay_expiration_time) > 0) {
+ if (!restart_delayed_tcb(tcp))
+ return false;
+ } else {
+ /* Check whether this tcb is the next. */
+ if (!tcp_next ||
+ ts_cmp(&tcp_next->delay_expiration_time,
+ &tcp->delay_expiration_time) > 0) {
+ tcp_next = tcp;
+ }
+ }
+ }
+ }
+
+ if (tcp_next)
+ arm_delay_timer(tcp_next);
+
+ return true;
+}
+
+/*
+ * As this signal handler does a lot of work that is not suitable
+ * for signal handlers, extra care must be taken to ensure that
+ * it is enabled only in those places where it's safe.
+ */
+static void
+timer_sighandler(int sig)
+{
+ delay_timer_expired();
+
+ if (restart_failed)
+ return;
+
+ int saved_errno = errno;
+
+ if (!restart_delayed_tcbs())
+ restart_failed = 1;
+
+ errno = saved_errno;
+}
+
#ifdef ENABLE_COVERAGE_GCOV
extern void __gcov_flush(void);
#endif
@@ -2579,6 +2679,7 @@ terminate(void)
int
main(int argc, char *argv[])
{
+ setlocale(LC_ALL, "");
init(argc, argv);
exit_code = !nprocs;
diff --git a/strace.spec b/strace.spec
index 548ce88e..b47ed6a4 100644
--- a/strace.spec
+++ b/strace.spec
@@ -1,11 +1,12 @@
Summary: Tracks and displays system calls associated with a running process
Name: strace
-Version: 4.21
+Version: 4.22
Release: 1%{?dist}
License: BSD
Group: Development/Debuggers
URL: https://strace.io
-Source: https://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz
+Source: https://github.com/strace/strace/releases/download/v%{version}/strace-%{version}.tar.xz
+BuildRequires: gcc
%if 0%{?fedora} >= 18 || 0%{?centos} >= 8 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1200
BuildRequires: pkgconfig(bluez)
%endif
@@ -52,7 +53,7 @@ The `strace' program in the `strace' package is for 32-bit processes.
%setup -q
echo -n %version-%release > .tarball-version
echo -n 2018 > .year
-echo -n 2018-02-11 > .strace.1.in.date
+echo -n 2018-04-04 > .strace.1.in.date
%build
echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION'
@@ -106,8 +107,11 @@ echo 'END OF TEST SUITE INFORMATION'
%endif
%changelog
-* Tue Feb 13 2018 strace-devel@lists.sourceforge.net - 4.21-1
-- strace 4.21 snapshot.
+* Thu Jun 14 2018 strace-devel@lists.strace.io - 4.22-1
+- strace 4.22 snapshot.
+
+* Tue Feb 13 2018 Dmitry V. Levin <ldv@altlinux.org> - 4.21-1
+- v4.20 -> v4.21.
* Mon Nov 13 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.20-1
- v4.19 -> v4.20.
diff --git a/strace.spec.in b/strace.spec.in
index a2a169f4..1bad59dd 100644
--- a/strace.spec.in
+++ b/strace.spec.in
@@ -5,7 +5,8 @@ Release: 1%{?dist}
License: BSD
Group: Development/Debuggers
URL: https://strace.io
-Source: https://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz
+Source: https://github.com/strace/strace/releases/download/v%{version}/strace-%{version}.tar.xz
+BuildRequires: gcc
%if 0%{?fedora} >= 18 || 0%{?centos} >= 8 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1200
BuildRequires: pkgconfig(bluez)
%endif
@@ -109,6 +110,9 @@ echo 'END OF TEST SUITE INFORMATION'
* @RPM_CHANGELOGTIME@ @PACKAGE_BUGREPORT@ - @PACKAGE_VERSION@-1
- @PACKAGE_STRING@ snapshot.
+* Tue Feb 13 2018 Dmitry V. Levin <ldv@altlinux.org> - 4.21-1
+- v4.20 -> v4.21.
+
* Mon Nov 13 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.20-1
- v4.19 -> v4.20.
diff --git a/sys_func.h b/sys_func.h
index 90a6f675..1ffa4fbd 100644
--- a/sys_func.h
+++ b/sys_func.h
@@ -103,6 +103,7 @@ extern SYS_FUNC(io_setup);
extern SYS_FUNC(io_submit);
extern SYS_FUNC(ipc);
extern SYS_FUNC(kcmp);
+extern SYS_FUNC(kern_features);
extern SYS_FUNC(kexec_file_load);
extern SYS_FUNC(kexec_load);
extern SYS_FUNC(keyctl);
diff --git a/syscall.c b/syscall.c
index cb9bce1e..13d81532 100644
--- a/syscall.c
+++ b/syscall.c
@@ -33,10 +33,13 @@
*/
#include "defs.h"
+#include "mmap_cache.h"
#include "native_defs.h"
#include "ptrace.h"
#include "nsig.h"
#include "number_set.h"
+#include "delay.h"
+#include "retval.h"
#include <limits.h>
/* for struct iovec */
@@ -431,36 +434,10 @@ decode_syscall_subcall(struct tcb *tcp)
static void
dumpio(struct tcb *tcp)
{
- if (syserror(tcp))
- return;
-
int fd = tcp->u_arg[0];
if (fd < 0)
return;
- if (is_number_in_set(fd, read_set)) {
- switch (tcp->s_ent->sen) {
- case SEN_read:
- case SEN_pread:
- case SEN_recv:
- case SEN_recvfrom:
- case SEN_mq_timedreceive:
- dumpstr(tcp, tcp->u_arg[1], tcp->u_rval);
- return;
- case SEN_readv:
- case SEN_preadv:
- case SEN_preadv2:
- dumpiov_upto(tcp, tcp->u_arg[2], tcp->u_arg[1],
- tcp->u_rval);
- return;
- case SEN_recvmsg:
- dumpiov_in_msghdr(tcp, tcp->u_arg[1], tcp->u_rval);
- return;
- case SEN_recvmmsg:
- dumpiov_in_mmsghdr(tcp, tcp->u_arg[1]);
- return;
- }
- }
if (is_number_in_set(fd, write_set)) {
switch (tcp->s_ent->sen) {
case SEN_write:
@@ -484,6 +461,33 @@ dumpio(struct tcb *tcp)
break;
}
}
+
+ if (syserror(tcp))
+ return;
+
+ if (is_number_in_set(fd, read_set)) {
+ switch (tcp->s_ent->sen) {
+ case SEN_read:
+ case SEN_pread:
+ case SEN_recv:
+ case SEN_recvfrom:
+ case SEN_mq_timedreceive:
+ dumpstr(tcp, tcp->u_arg[1], tcp->u_rval);
+ return;
+ case SEN_readv:
+ case SEN_preadv:
+ case SEN_preadv2:
+ dumpiov_upto(tcp, tcp->u_arg[2], tcp->u_arg[1],
+ tcp->u_rval);
+ return;
+ case SEN_recvmsg:
+ dumpiov_in_msghdr(tcp, tcp->u_arg[1], tcp->u_rval);
+ return;
+ case SEN_recvmmsg:
+ dumpiov_in_mmsghdr(tcp, tcp->u_arg[1]);
+ return;
+ }
+ }
}
const char *
@@ -540,9 +544,13 @@ tamper_with_syscall_entering(struct tcb *tcp, unsigned int *signo)
if (!recovering(tcp)) {
if (opts->data.flags & INJECT_F_SIGNAL)
*signo = opts->data.signo;
- if (opts->data.flags & INJECT_F_RETVAL &&
+ if (opts->data.flags & (INJECT_F_ERROR | INJECT_F_RETVAL) &&
!arch_set_scno(tcp, -1))
tcp->flags |= TCB_TAMPERED;
+ if (opts->data.flags & INJECT_F_DELAY_ENTER)
+ delay_tcb(tcp, opts->data.delay_idx, true);
+ if (opts->data.flags & INJECT_F_DELAY_EXIT)
+ tcp->flags |= TCB_INJECT_DELAY_EXIT;
}
return 0;
@@ -551,6 +559,16 @@ tamper_with_syscall_entering(struct tcb *tcp, unsigned int *signo)
static long
tamper_with_syscall_exiting(struct tcb *tcp)
{
+ struct inject_opts *opts = tcb_inject_opts(tcp);
+ if (!opts)
+ return 0;
+
+ if (inject_delay_exit(tcp))
+ delay_tcb(tcp, opts->data.delay_idx, false);
+
+ if (!syscall_tampered(tcp))
+ return 0;
+
if (!syserror(tcp)) {
error_msg("Failed to tamper with process %d: got no error "
"(return value %#" PRI_klx ")",
@@ -559,16 +577,14 @@ tamper_with_syscall_exiting(struct tcb *tcp)
return 1;
}
- struct inject_opts *opts = tcb_inject_opts(tcp);
bool update_tcb = false;
- if (!opts)
- return 0;
-
- if (opts->data.rval >= 0) {
+ if (opts->data.flags & INJECT_F_RETVAL) {
+ kernel_long_t inject_rval =
+ retval_get(opts->data.rval_idx);
kernel_long_t u_rval = tcp->u_rval;
- tcp->u_rval = opts->data.rval;
+ tcp->u_rval = inject_rval;
if (arch_set_success(tcp)) {
tcp->u_rval = u_rval;
} else {
@@ -576,7 +592,7 @@ tamper_with_syscall_exiting(struct tcb *tcp)
tcp->u_error = 0;
}
} else {
- unsigned long new_error = -opts->data.rval;
+ unsigned long new_error = retval_get(opts->data.rval_idx);
if (new_error != tcp->u_error && new_error <= MAX_ERRNO_VALUE) {
unsigned long u_error = tcp->u_error;
@@ -692,7 +708,7 @@ syscall_entering_trace(struct tcb *tcp, unsigned int *sig)
#ifdef USE_LIBUNWIND
if (stack_trace_enabled) {
if (tcp->s_ent->sys_flags & STACKTRACE_CAPTURE_ON_ENTER)
- unwind_capture_stacktrace(tcp);
+ unwind_tcb_capture(tcp);
}
#endif
@@ -710,7 +726,7 @@ syscall_entering_finish(struct tcb *tcp, int res)
tcp->sys_func_rval = res;
/* Measure the entrance time as late as possible to avoid errors. */
if ((Tflag || cflag) && !filtered(tcp))
- gettimeofday(&tcp->etime, NULL);
+ clock_gettime(CLOCK_MONOTONIC, &tcp->etime);
}
/* Returns:
@@ -722,18 +738,16 @@ syscall_entering_finish(struct tcb *tcp, int res)
* value. Anyway, call syscall_exiting_finish(tcp) then.
*/
int
-syscall_exiting_decode(struct tcb *tcp, struct timeval *ptv)
+syscall_exiting_decode(struct tcb *tcp, struct timespec *pts)
{
/* Measure the exit time as early as possible to avoid errors. */
if ((Tflag || cflag) && !(filtered(tcp) || hide_log(tcp)))
- gettimeofday(ptv, NULL);
+ clock_gettime(CLOCK_MONOTONIC, pts);
-#ifdef USE_LIBUNWIND
- if (stack_trace_enabled) {
+ if (mmap_cache_is_enabled()) {
if (tcp->s_ent->sys_flags & STACKTRACE_INVALIDATE_CACHE)
- unwind_cache_invalidate(tcp);
+ mmap_cache_invalidate(tcp);
}
-#endif
if (filtered(tcp) || hide_log(tcp))
return 0;
@@ -746,13 +760,13 @@ syscall_exiting_decode(struct tcb *tcp, struct timeval *ptv)
}
int
-syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
+syscall_exiting_trace(struct tcb *tcp, struct timespec *ts, int res)
{
- if (syscall_tampered(tcp))
+ if (syscall_tampered(tcp) || inject_delay_exit(tcp))
tamper_with_syscall_exiting(tcp);
if (cflag) {
- count_syscall(tcp, &tv);
+ count_syscall(tcp, ts);
if (cflag == CFLAG_ONLY_STATS) {
return 0;
}
@@ -808,7 +822,6 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
tprints(") ");
tabto();
unsigned long u_error = tcp->u_error;
- kernel_long_t u_rval;
if (raw(tcp)) {
if (u_error) {
@@ -876,15 +889,13 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
tprints("= ? ERESTART_RESTARTBLOCK (Interrupted by signal)");
break;
default:
- u_rval = sys_res & RVAL_PRINT_ERR_VAL ?
- tcp->u_rval : -1;
u_error_str = err_name(u_error);
if (u_error_str)
- tprintf("= %" PRI_kld " %s (%s)",
- u_rval, u_error_str, strerror(u_error));
+ tprintf("= %" PRI_kld " %s (%s)", tcp->u_rval,
+ u_error_str, strerror(u_error));
else
- tprintf("= %" PRI_kld " %lu (%s)",
- u_rval, u_error, strerror(u_error));
+ tprintf("= %" PRI_kld " %lu (%s)", tcp->u_rval,
+ u_error, strerror(u_error));
break;
}
if (syscall_tampered(tcp))
@@ -922,9 +933,6 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
tprintf("= %" PRI_klu, tcp->u_rval);
}
break;
- case RVAL_DECIMAL:
- tprintf("= %" PRI_kld, tcp->u_rval);
- break;
case RVAL_FD:
if (show_fd_path) {
tprints("= ");
@@ -943,9 +951,9 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
tprints(" (INJECTED)");
}
if (Tflag) {
- tv_sub(&tv, &tv, &tcp->etime);
+ ts_sub(ts, ts, &tcp->etime);
tprintf(" <%ld.%06ld>",
- (long) tv.tv_sec, (long) tv.tv_usec);
+ (long) ts->tv_sec, (long) ts->tv_nsec / 1000);
}
tprints("\n");
dumpio(tcp);
@@ -953,7 +961,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
#ifdef USE_LIBUNWIND
if (stack_trace_enabled)
- unwind_print_stacktrace(tcp);
+ unwind_tcb_print(tcp);
#endif
return 0;
}
@@ -961,7 +969,7 @@ syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
void
syscall_exiting_finish(struct tcb *tcp)
{
- tcp->flags &= ~(TCB_INSYSCALL | TCB_TAMPERED);
+ tcp->flags &= ~(TCB_INSYSCALL | TCB_TAMPERED | TCB_INJECT_DELAY_EXIT);
tcp->sys_func_rval = 0;
free_tcb_priv_data(tcp);
}
diff --git a/term.c b/term.c
index 9368e5fd..cfb878b0 100644
--- a/term.c
+++ b/term.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
- * Copyright (c) 1996-2017 The strace developers.
+ * Copyright (c) 1996-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -160,6 +160,7 @@ term_ioctl(struct tcb *const tcp, const unsigned int code,
case TIOCGLCKTRMIOS:
if (entering(tcp))
return 0;
+ ATTRIBUTE_FALLTHROUGH;
case TCSETS:
#ifdef TCSETS2
case TCSETS2:
@@ -180,6 +181,7 @@ term_ioctl(struct tcb *const tcp, const unsigned int code,
case TCGETA:
if (entering(tcp))
return 0;
+ ATTRIBUTE_FALLTHROUGH;
case TCSETA:
case TCSETAW:
case TCSETAF:
@@ -190,6 +192,7 @@ term_ioctl(struct tcb *const tcp, const unsigned int code,
case TIOCGWINSZ:
if (entering(tcp))
return 0;
+ ATTRIBUTE_FALLTHROUGH;
case TIOCSWINSZ:
decode_winsize(tcp, arg);
break;
@@ -199,6 +202,7 @@ term_ioctl(struct tcb *const tcp, const unsigned int code,
case TIOCGSIZE:
if (entering(tcp))
return 0;
+ ATTRIBUTE_FALLTHROUGH;
case TIOCSSIZE:
decode_ttysize(tcp, arg);
break;
@@ -223,6 +227,7 @@ term_ioctl(struct tcb *const tcp, const unsigned int code,
case TIOCMGET:
if (entering(tcp))
return 0;
+ ATTRIBUTE_FALLTHROUGH;
case TIOCMBIS:
case TIOCMBIC:
case TIOCMSET:
@@ -245,6 +250,7 @@ term_ioctl(struct tcb *const tcp, const unsigned int code,
#endif
if (entering(tcp))
return 0;
+ ATTRIBUTE_FALLTHROUGH;
case TIOCSPGRP:
case TIOCSETD:
case FIONBIO:
diff --git a/tests-m32/Makefile b/tests-m32/Makefile
new file mode 100644
index 00000000..874010cf
--- /dev/null
+++ b/tests-m32/Makefile
@@ -0,0 +1,8817 @@
+# 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-2018 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 = aarch64-unknown-linux-android
+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) _newselect-P$(EXEEXT) answer$(EXEEXT) \
+ attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
+ attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
+ block_reset_raise_run$(EXEEXT) caps-abbrev$(EXEEXT) \
+ check_sigblock$(EXEEXT) check_sigign$(EXEEXT) \
+ clone_parent$(EXEEXT) clone_ptrace$(EXEEXT) count-f$(EXEEXT) \
+ delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
+ getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \
+ inject-nf$(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) \
+ is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \
+ list_sigaction_signum$(EXEEXT) localtime$(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) \
+ nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
+ oldselect-efault-P$(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) \
+ run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
+ seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+ select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \
+ set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \
+ signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+ stack-fcall-mangled$(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) zeroargc$(EXEEXT)
+##am__append_1 = strace-k-demangle.test
+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/bpf_attr.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-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) \
+ libtests_a-hexdump_strdup.$(OBJEXT) \
+ libtests_a-hexquote_strndup.$(OBJEXT) \
+ libtests_a-ifindex.$(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-test_printpath.$(OBJEXT) \
+ libtests_a-test_printstrn.$(OBJEXT) \
+ libtests_a-test_ucopy.$(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) \
+ bpf-v$(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) dev-yy$(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) fflush$(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) group_req$(EXEEXT) inet-cmsg$(EXEEXT) \
+ init_module$(EXEEXT) inotify$(EXEEXT) inotify_init1$(EXEEXT) \
+ ioctl$(EXEEXT) ioctl_block$(EXEEXT) ioctl_dm$(EXEEXT) \
+ ioctl_evdev$(EXEEXT) ioctl_kvm_run$(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) kcmp-y$(EXEEXT) \
+ kern_features$(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) modify_ldt$(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-inet6$(EXEEXT) net-yy-netlink$(EXEEXT) \
+ net-yy-unix$(EXEEXT) netlink_audit$(EXEEXT) \
+ netlink_crypto$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_kobject_uevent$(EXEEXT) netlink_netfilter$(EXEEXT) \
+ netlink_protocol$(EXEEXT) netlink_route$(EXEEXT) \
+ netlink_selinux$(EXEEXT) netlink_sock_diag$(EXEEXT) \
+ netlink_xfrm$(EXEEXT) newfstatat$(EXEEXT) \
+ nfnetlink_acct$(EXEEXT) nfnetlink_cthelper$(EXEEXT) \
+ nfnetlink_ctnetlink$(EXEEXT) nfnetlink_ctnetlink_exp$(EXEEXT) \
+ nfnetlink_cttimeout$(EXEEXT) nfnetlink_nft_compat$(EXEEXT) \
+ nfnetlink_nftables$(EXEEXT) nfnetlink_ipset$(EXEEXT) \
+ nfnetlink_osf$(EXEEXT) nfnetlink_queue$(EXEEXT) \
+ nfnetlink_ulog$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_crypto_user_alg$(EXEEXT) nlattr_br_port_msg$(EXEEXT) \
+ nlattr_dcbmsg$(EXEEXT) nlattr_fib_rule_hdr$(EXEEXT) \
+ nlattr_ifaddrlblmsg$(EXEEXT) nlattr_ifaddrmsg$(EXEEXT) \
+ nlattr_ifinfomsg$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \
+ nlattr_ifla_port$(EXEEXT) nlattr_ifla_xdp$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) \
+ nlattr_inet_diag_req_compat$(EXEEXT) \
+ nlattr_inet_diag_req_v2$(EXEEXT) \
+ nlattr_mdba_mdb_entry$(EXEEXT) \
+ nlattr_mdba_router_port$(EXEEXT) nlattr_ndmsg$(EXEEXT) \
+ nlattr_ndtmsg$(EXEEXT) nlattr_netconfmsg$(EXEEXT) \
+ nlattr_netlink_diag_msg$(EXEEXT) nlattr_nlmsgerr$(EXEEXT) \
+ nlattr_packet_diag_msg$(EXEEXT) nlattr_rtgenmsg$(EXEEXT) \
+ nlattr_rtmsg$(EXEEXT) nlattr_smc_diag_msg$(EXEEXT) \
+ nlattr_tc_stats$(EXEEXT) nlattr_tca_stab$(EXEEXT) \
+ nlattr_tcamsg$(EXEEXT) nlattr_tcmsg$(EXEEXT) \
+ nlattr_unix_diag_msg$(EXEEXT) old_mmap$(EXEEXT) \
+ old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) oldfstat$(EXEEXT) \
+ oldlstat$(EXEEXT) oldselect$(EXEEXT) oldselect-efault$(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) poll-P$(EXEEXT) ppoll$(EXEEXT) ppoll-P$(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) \
+ printpath-umovestr$(EXEEXT) \
+ printpath-umovestr-peekdata$(EXEEXT) \
+ printpath-umovestr-undumpable$(EXEEXT) printstr$(EXEEXT) \
+ printstrn-umoven$(EXEEXT) printstrn-umoven-peekdata$(EXEEXT) \
+ printstrn-umoven-undumpable$(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) \
+ riscv_flush_icache$(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) \
+ s390_guarded_storage$(EXEEXT) s390_guarded_storage-v$(EXEEXT) \
+ s390_pci_mmio_read_write$(EXEEXT) s390_runtime_instr$(EXEEXT) \
+ s390_sthyi$(EXEEXT) s390_sthyi-v$(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) \
+ seccomp_get_action_avail$(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) so_linger$(EXEEXT) \
+ so_peercred$(EXEEXT) sock_filter-v$(EXEEXT) \
+ socketcall$(EXEEXT) sockopt-sol_netlink$(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) \
+ xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
+ xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
+_newselect_SOURCES = _newselect.c
+_newselect_OBJECTS = _newselect.$(OBJEXT)
+_newselect_LDADD = $(LDADD)
+_newselect_DEPENDENCIES = libtests.a
+_newselect_P_SOURCES = _newselect-P.c
+_newselect_P_OBJECTS = _newselect-P.$(OBJEXT)
+_newselect_P_LDADD = $(LDADD)
+_newselect_P_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
+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)
+bpf_DEPENDENCIES = libtests.a
+bpf_v_SOURCES = bpf-v.c
+bpf_v_OBJECTS = bpf-v.$(OBJEXT)
+bpf_v_LDADD = $(LDADD)
+bpf_v_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
+check_sigblock_SOURCES = check_sigblock.c
+check_sigblock_OBJECTS = check_sigblock.$(OBJEXT)
+check_sigblock_LDADD = $(LDADD)
+check_sigblock_DEPENDENCIES = libtests.a
+check_sigign_SOURCES = check_sigign.c
+check_sigign_OBJECTS = check_sigign.$(OBJEXT)
+check_sigign_LDADD = $(LDADD)
+check_sigign_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_LDADD = $(LDADD)
+clock_xettime_DEPENDENCIES = libtests.a
+clone_parent_SOURCES = clone_parent.c
+clone_parent_OBJECTS = clone_parent.$(OBJEXT)
+clone_parent_LDADD = $(LDADD)
+clone_parent_DEPENDENCIES = libtests.a
+clone_ptrace_SOURCES = clone_ptrace.c
+clone_ptrace_OBJECTS = clone_ptrace.$(OBJEXT)
+clone_ptrace_LDADD = $(LDADD)
+clone_ptrace_DEPENDENCIES = libtests.a
+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
+delay_SOURCES = delay.c
+delay_OBJECTS = delay.$(OBJEXT)
+am__DEPENDENCIES_1 =
+delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+delete_module_SOURCES = delete_module.c
+delete_module_OBJECTS = delete_module.$(OBJEXT)
+delete_module_LDADD = $(LDADD)
+delete_module_DEPENDENCIES = libtests.a
+dev_yy_SOURCES = dev-yy.c
+dev_yy_OBJECTS = dev-yy.$(OBJEXT)
+dev_yy_LDADD = $(LDADD)
+dev_yy_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
+fflush_SOURCES = fflush.c
+fflush_OBJECTS = fflush.$(OBJEXT)
+fflush_LDADD = $(LDADD)
+fflush_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
+fsync_y_SOURCES = fsync-y.c
+fsync_y_OBJECTS = fsync-y.$(OBJEXT)
+fsync_y_LDADD = $(LDADD)
+fsync_y_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
+group_req_SOURCES = group_req.c
+group_req_OBJECTS = group_req.$(OBJEXT)
+group_req_LDADD = $(LDADD)
+group_req_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
+inject_nf_SOURCES = inject-nf.c
+inject_nf_OBJECTS = inject-nf.$(OBJEXT)
+inject_nf_LDADD = $(LDADD)
+inject_nf_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_kvm_run_SOURCES = ioctl_kvm_run.c
+ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT)
+ioctl_kvm_run_LDADD = $(LDADD)
+ioctl_kvm_run_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
+is_linux_mips_n64_SOURCES = is_linux_mips_n64.c
+is_linux_mips_n64_OBJECTS = is_linux_mips_n64.$(OBJEXT)
+is_linux_mips_n64_LDADD = $(LDADD)
+is_linux_mips_n64_DEPENDENCIES = libtests.a
+kcmp_SOURCES = kcmp.c
+kcmp_OBJECTS = kcmp.$(OBJEXT)
+kcmp_LDADD = $(LDADD)
+kcmp_DEPENDENCIES = libtests.a
+kcmp_y_SOURCES = kcmp-y.c
+kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
+kcmp_y_LDADD = $(LDADD)
+kcmp_y_DEPENDENCIES = libtests.a
+kern_features_SOURCES = kern_features.c
+kern_features_OBJECTS = kern_features.$(OBJEXT)
+kern_features_LDADD = $(LDADD)
+kern_features_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
+list_sigaction_signum_SOURCES = list_sigaction_signum.c
+list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
+list_sigaction_signum_LDADD = $(LDADD)
+list_sigaction_signum_DEPENDENCIES = libtests.a
+llseek_SOURCES = llseek.c
+llseek_OBJECTS = llseek.$(OBJEXT)
+llseek_LDADD = $(LDADD)
+llseek_DEPENDENCIES = libtests.a
+localtime_SOURCES = localtime.c
+localtime_OBJECTS = localtime.$(OBJEXT)
+localtime_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+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
+modify_ldt_SOURCES = modify_ldt.c
+modify_ldt_OBJECTS = modify_ldt.$(OBJEXT)
+modify_ldt_LDADD = $(LDADD)
+modify_ldt_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 = $(am__DEPENDENCIES_1) $(LDADD)
+mq_sendrecv_SOURCES = mq_sendrecv.c
+mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
+mq_sendrecv_LDADD = $(LDADD)
+mq_sendrecv_DEPENDENCIES = libtests.a
+mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
+mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
+mq_sendrecv_read_LDADD = $(LDADD)
+mq_sendrecv_read_DEPENDENCIES = libtests.a
+mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
+mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
+mq_sendrecv_write_LDADD = $(LDADD)
+mq_sendrecv_write_DEPENDENCIES = libtests.a
+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_inet6_SOURCES = net-yy-inet6.c
+net_yy_inet6_OBJECTS = net-yy-inet6.$(OBJEXT)
+net_yy_inet6_LDADD = $(LDADD)
+net_yy_inet6_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_audit_SOURCES = netlink_audit.c
+netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
+netlink_audit_LDADD = $(LDADD)
+netlink_audit_DEPENDENCIES = libtests.a
+netlink_crypto_SOURCES = netlink_crypto.c
+netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT)
+netlink_crypto_LDADD = $(LDADD)
+netlink_crypto_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_kobject_uevent_SOURCES = netlink_kobject_uevent.c
+netlink_kobject_uevent_OBJECTS = netlink_kobject_uevent.$(OBJEXT)
+netlink_kobject_uevent_LDADD = $(LDADD)
+netlink_kobject_uevent_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)
+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_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
+nfnetlink_acct_SOURCES = nfnetlink_acct.c
+nfnetlink_acct_OBJECTS = nfnetlink_acct.$(OBJEXT)
+nfnetlink_acct_LDADD = $(LDADD)
+nfnetlink_acct_DEPENDENCIES = libtests.a
+nfnetlink_cthelper_SOURCES = nfnetlink_cthelper.c
+nfnetlink_cthelper_OBJECTS = nfnetlink_cthelper.$(OBJEXT)
+nfnetlink_cthelper_LDADD = $(LDADD)
+nfnetlink_cthelper_DEPENDENCIES = libtests.a
+nfnetlink_ctnetlink_SOURCES = nfnetlink_ctnetlink.c
+nfnetlink_ctnetlink_OBJECTS = nfnetlink_ctnetlink.$(OBJEXT)
+nfnetlink_ctnetlink_LDADD = $(LDADD)
+nfnetlink_ctnetlink_DEPENDENCIES = libtests.a
+nfnetlink_ctnetlink_exp_SOURCES = nfnetlink_ctnetlink_exp.c
+nfnetlink_ctnetlink_exp_OBJECTS = nfnetlink_ctnetlink_exp.$(OBJEXT)
+nfnetlink_ctnetlink_exp_LDADD = $(LDADD)
+nfnetlink_ctnetlink_exp_DEPENDENCIES = libtests.a
+nfnetlink_cttimeout_SOURCES = nfnetlink_cttimeout.c
+nfnetlink_cttimeout_OBJECTS = nfnetlink_cttimeout.$(OBJEXT)
+nfnetlink_cttimeout_LDADD = $(LDADD)
+nfnetlink_cttimeout_DEPENDENCIES = libtests.a
+nfnetlink_ipset_SOURCES = nfnetlink_ipset.c
+nfnetlink_ipset_OBJECTS = nfnetlink_ipset.$(OBJEXT)
+nfnetlink_ipset_LDADD = $(LDADD)
+nfnetlink_ipset_DEPENDENCIES = libtests.a
+nfnetlink_nft_compat_SOURCES = nfnetlink_nft_compat.c
+nfnetlink_nft_compat_OBJECTS = nfnetlink_nft_compat.$(OBJEXT)
+nfnetlink_nft_compat_LDADD = $(LDADD)
+nfnetlink_nft_compat_DEPENDENCIES = libtests.a
+nfnetlink_nftables_SOURCES = nfnetlink_nftables.c
+nfnetlink_nftables_OBJECTS = nfnetlink_nftables.$(OBJEXT)
+nfnetlink_nftables_LDADD = $(LDADD)
+nfnetlink_nftables_DEPENDENCIES = libtests.a
+nfnetlink_osf_SOURCES = nfnetlink_osf.c
+nfnetlink_osf_OBJECTS = nfnetlink_osf.$(OBJEXT)
+nfnetlink_osf_LDADD = $(LDADD)
+nfnetlink_osf_DEPENDENCIES = libtests.a
+nfnetlink_queue_SOURCES = nfnetlink_queue.c
+nfnetlink_queue_OBJECTS = nfnetlink_queue.$(OBJEXT)
+nfnetlink_queue_LDADD = $(LDADD)
+nfnetlink_queue_DEPENDENCIES = libtests.a
+nfnetlink_ulog_SOURCES = nfnetlink_ulog.c
+nfnetlink_ulog_OBJECTS = nfnetlink_ulog.$(OBJEXT)
+nfnetlink_ulog_LDADD = $(LDADD)
+nfnetlink_ulog_DEPENDENCIES = libtests.a
+nlattr_SOURCES = nlattr.c
+nlattr_OBJECTS = nlattr.$(OBJEXT)
+nlattr_LDADD = $(LDADD)
+nlattr_DEPENDENCIES = libtests.a
+nlattr_br_port_msg_SOURCES = nlattr_br_port_msg.c
+nlattr_br_port_msg_OBJECTS = nlattr_br_port_msg.$(OBJEXT)
+nlattr_br_port_msg_LDADD = $(LDADD)
+nlattr_br_port_msg_DEPENDENCIES = libtests.a
+nlattr_crypto_user_alg_SOURCES = nlattr_crypto_user_alg.c
+nlattr_crypto_user_alg_OBJECTS = nlattr_crypto_user_alg.$(OBJEXT)
+nlattr_crypto_user_alg_LDADD = $(LDADD)
+nlattr_crypto_user_alg_DEPENDENCIES = libtests.a
+nlattr_dcbmsg_SOURCES = nlattr_dcbmsg.c
+nlattr_dcbmsg_OBJECTS = nlattr_dcbmsg.$(OBJEXT)
+nlattr_dcbmsg_LDADD = $(LDADD)
+nlattr_dcbmsg_DEPENDENCIES = libtests.a
+nlattr_fib_rule_hdr_SOURCES = nlattr_fib_rule_hdr.c
+nlattr_fib_rule_hdr_OBJECTS = nlattr_fib_rule_hdr.$(OBJEXT)
+nlattr_fib_rule_hdr_LDADD = $(LDADD)
+nlattr_fib_rule_hdr_DEPENDENCIES = libtests.a
+nlattr_ifaddrlblmsg_SOURCES = nlattr_ifaddrlblmsg.c
+nlattr_ifaddrlblmsg_OBJECTS = nlattr_ifaddrlblmsg.$(OBJEXT)
+nlattr_ifaddrlblmsg_LDADD = $(LDADD)
+nlattr_ifaddrlblmsg_DEPENDENCIES = libtests.a
+nlattr_ifaddrmsg_SOURCES = nlattr_ifaddrmsg.c
+nlattr_ifaddrmsg_OBJECTS = nlattr_ifaddrmsg.$(OBJEXT)
+nlattr_ifaddrmsg_LDADD = $(LDADD)
+nlattr_ifaddrmsg_DEPENDENCIES = libtests.a
+nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c
+nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT)
+nlattr_ifinfomsg_LDADD = $(LDADD)
+nlattr_ifinfomsg_DEPENDENCIES = libtests.a
+nlattr_ifla_brport_SOURCES = nlattr_ifla_brport.c
+nlattr_ifla_brport_OBJECTS = nlattr_ifla_brport.$(OBJEXT)
+nlattr_ifla_brport_LDADD = $(LDADD)
+nlattr_ifla_brport_DEPENDENCIES = libtests.a
+nlattr_ifla_port_SOURCES = nlattr_ifla_port.c
+nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT)
+nlattr_ifla_port_LDADD = $(LDADD)
+nlattr_ifla_port_DEPENDENCIES = libtests.a
+nlattr_ifla_xdp_SOURCES = nlattr_ifla_xdp.c
+nlattr_ifla_xdp_OBJECTS = nlattr_ifla_xdp.$(OBJEXT)
+nlattr_ifla_xdp_LDADD = $(LDADD)
+nlattr_ifla_xdp_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_inet_diag_req_compat_SOURCES = nlattr_inet_diag_req_compat.c
+nlattr_inet_diag_req_compat_OBJECTS = \
+ nlattr_inet_diag_req_compat.$(OBJEXT)
+nlattr_inet_diag_req_compat_LDADD = $(LDADD)
+nlattr_inet_diag_req_compat_DEPENDENCIES = libtests.a
+nlattr_inet_diag_req_v2_SOURCES = nlattr_inet_diag_req_v2.c
+nlattr_inet_diag_req_v2_OBJECTS = nlattr_inet_diag_req_v2.$(OBJEXT)
+nlattr_inet_diag_req_v2_LDADD = $(LDADD)
+nlattr_inet_diag_req_v2_DEPENDENCIES = libtests.a
+nlattr_mdba_mdb_entry_SOURCES = nlattr_mdba_mdb_entry.c
+nlattr_mdba_mdb_entry_OBJECTS = nlattr_mdba_mdb_entry.$(OBJEXT)
+nlattr_mdba_mdb_entry_LDADD = $(LDADD)
+nlattr_mdba_mdb_entry_DEPENDENCIES = libtests.a
+nlattr_mdba_router_port_SOURCES = nlattr_mdba_router_port.c
+nlattr_mdba_router_port_OBJECTS = nlattr_mdba_router_port.$(OBJEXT)
+nlattr_mdba_router_port_LDADD = $(LDADD)
+nlattr_mdba_router_port_DEPENDENCIES = libtests.a
+nlattr_ndmsg_SOURCES = nlattr_ndmsg.c
+nlattr_ndmsg_OBJECTS = nlattr_ndmsg.$(OBJEXT)
+nlattr_ndmsg_LDADD = $(LDADD)
+nlattr_ndmsg_DEPENDENCIES = libtests.a
+nlattr_ndtmsg_SOURCES = nlattr_ndtmsg.c
+nlattr_ndtmsg_OBJECTS = nlattr_ndtmsg.$(OBJEXT)
+nlattr_ndtmsg_LDADD = $(LDADD)
+nlattr_ndtmsg_DEPENDENCIES = libtests.a
+nlattr_netconfmsg_SOURCES = nlattr_netconfmsg.c
+nlattr_netconfmsg_OBJECTS = nlattr_netconfmsg.$(OBJEXT)
+nlattr_netconfmsg_LDADD = $(LDADD)
+nlattr_netconfmsg_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_nlmsgerr_SOURCES = nlattr_nlmsgerr.c
+nlattr_nlmsgerr_OBJECTS = nlattr_nlmsgerr.$(OBJEXT)
+nlattr_nlmsgerr_LDADD = $(LDADD)
+nlattr_nlmsgerr_DEPENDENCIES = libtests.a
+nlattr_packet_diag_msg_SOURCES = nlattr_packet_diag_msg.c
+nlattr_packet_diag_msg_OBJECTS = nlattr_packet_diag_msg.$(OBJEXT)
+nlattr_packet_diag_msg_LDADD = $(LDADD)
+nlattr_packet_diag_msg_DEPENDENCIES = libtests.a
+nlattr_rtgenmsg_SOURCES = nlattr_rtgenmsg.c
+nlattr_rtgenmsg_OBJECTS = nlattr_rtgenmsg.$(OBJEXT)
+nlattr_rtgenmsg_LDADD = $(LDADD)
+nlattr_rtgenmsg_DEPENDENCIES = libtests.a
+nlattr_rtmsg_SOURCES = nlattr_rtmsg.c
+nlattr_rtmsg_OBJECTS = nlattr_rtmsg.$(OBJEXT)
+nlattr_rtmsg_LDADD = $(LDADD)
+nlattr_rtmsg_DEPENDENCIES = libtests.a
+nlattr_smc_diag_msg_SOURCES = nlattr_smc_diag_msg.c
+nlattr_smc_diag_msg_OBJECTS = nlattr_smc_diag_msg.$(OBJEXT)
+nlattr_smc_diag_msg_LDADD = $(LDADD)
+nlattr_smc_diag_msg_DEPENDENCIES = libtests.a
+nlattr_tc_stats_SOURCES = nlattr_tc_stats.c
+nlattr_tc_stats_OBJECTS = nlattr_tc_stats.$(OBJEXT)
+nlattr_tc_stats_LDADD = $(LDADD)
+nlattr_tc_stats_DEPENDENCIES = libtests.a
+nlattr_tca_stab_SOURCES = nlattr_tca_stab.c
+nlattr_tca_stab_OBJECTS = nlattr_tca_stab.$(OBJEXT)
+nlattr_tca_stab_LDADD = $(LDADD)
+nlattr_tca_stab_DEPENDENCIES = libtests.a
+nlattr_tcamsg_SOURCES = nlattr_tcamsg.c
+nlattr_tcamsg_OBJECTS = nlattr_tcamsg.$(OBJEXT)
+nlattr_tcamsg_LDADD = $(LDADD)
+nlattr_tcamsg_DEPENDENCIES = libtests.a
+nlattr_tcmsg_SOURCES = nlattr_tcmsg.c
+nlattr_tcmsg_OBJECTS = nlattr_tcmsg.$(OBJEXT)
+nlattr_tcmsg_LDADD = $(LDADD)
+nlattr_tcmsg_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)
+nsyscalls_DEPENDENCIES = libtests.a
+nsyscalls_d_SOURCES = nsyscalls-d.c
+nsyscalls_d_OBJECTS = nsyscalls-d.$(OBJEXT)
+nsyscalls_d_LDADD = $(LDADD)
+nsyscalls_d_DEPENDENCIES = libtests.a
+old_mmap_SOURCES = old_mmap.c
+old_mmap_OBJECTS = old_mmap.$(OBJEXT)
+old_mmap_LDADD = $(LDADD)
+old_mmap_DEPENDENCIES = libtests.a
+old_mmap_P_SOURCES = old_mmap-P.c
+old_mmap_P_OBJECTS = old_mmap-P.$(OBJEXT)
+old_mmap_P_LDADD = $(LDADD)
+old_mmap_P_DEPENDENCIES = libtests.a
+old_mmap_v_none_SOURCES = old_mmap-v-none.c
+old_mmap_v_none_OBJECTS = old_mmap-v-none.$(OBJEXT)
+old_mmap_v_none_LDADD = $(LDADD)
+old_mmap_v_none_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
+oldselect_P_SOURCES = oldselect-P.c
+oldselect_P_OBJECTS = oldselect-P.$(OBJEXT)
+oldselect_P_LDADD = $(LDADD)
+oldselect_P_DEPENDENCIES = libtests.a
+oldselect_efault_SOURCES = oldselect-efault.c
+oldselect_efault_OBJECTS = oldselect-efault.$(OBJEXT)
+oldselect_efault_LDADD = $(LDADD)
+oldselect_efault_DEPENDENCIES = libtests.a
+oldselect_efault_P_SOURCES = oldselect-efault-P.c
+oldselect_efault_P_OBJECTS = oldselect-efault-P.$(OBJEXT)
+oldselect_efault_P_LDADD = $(LDADD)
+oldselect_efault_P_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)
+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
+poll_P_SOURCES = poll-P.c
+poll_P_OBJECTS = poll-P.$(OBJEXT)
+poll_P_LDADD = $(LDADD)
+poll_P_DEPENDENCIES = libtests.a
+ppoll_SOURCES = ppoll.c
+ppoll_OBJECTS = ppoll.$(OBJEXT)
+ppoll_LDADD = $(LDADD)
+ppoll_DEPENDENCIES = libtests.a
+ppoll_P_SOURCES = ppoll-P.c
+ppoll_P_OBJECTS = ppoll-P.$(OBJEXT)
+ppoll_P_LDADD = $(LDADD)
+ppoll_P_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
+printpath_umovestr_SOURCES = printpath-umovestr.c
+printpath_umovestr_OBJECTS = printpath-umovestr.$(OBJEXT)
+printpath_umovestr_LDADD = $(LDADD)
+printpath_umovestr_DEPENDENCIES = libtests.a
+printpath_umovestr_peekdata_SOURCES = printpath-umovestr-peekdata.c
+printpath_umovestr_peekdata_OBJECTS = \
+ printpath-umovestr-peekdata.$(OBJEXT)
+printpath_umovestr_peekdata_LDADD = $(LDADD)
+printpath_umovestr_peekdata_DEPENDENCIES = libtests.a
+printpath_umovestr_undumpable_SOURCES = \
+ printpath-umovestr-undumpable.c
+printpath_umovestr_undumpable_OBJECTS = \
+ printpath-umovestr-undumpable.$(OBJEXT)
+printpath_umovestr_undumpable_LDADD = $(LDADD)
+printpath_umovestr_undumpable_DEPENDENCIES = libtests.a
+printstr_SOURCES = printstr.c
+printstr_OBJECTS = printstr.$(OBJEXT)
+printstr_LDADD = $(LDADD)
+printstr_DEPENDENCIES = libtests.a
+printstrn_umoven_SOURCES = printstrn-umoven.c
+printstrn_umoven_OBJECTS = printstrn-umoven.$(OBJEXT)
+printstrn_umoven_LDADD = $(LDADD)
+printstrn_umoven_DEPENDENCIES = libtests.a
+printstrn_umoven_peekdata_SOURCES = printstrn-umoven-peekdata.c
+printstrn_umoven_peekdata_OBJECTS = \
+ printstrn-umoven-peekdata.$(OBJEXT)
+printstrn_umoven_peekdata_LDADD = $(LDADD)
+printstrn_umoven_peekdata_DEPENDENCIES = libtests.a
+printstrn_umoven_undumpable_SOURCES = printstrn-umoven-undumpable.c
+printstrn_umoven_undumpable_OBJECTS = \
+ printstrn-umoven-undumpable.$(OBJEXT)
+printstrn_umoven_undumpable_LDADD = $(LDADD)
+printstrn_umoven_undumpable_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
+riscv_flush_icache_SOURCES = riscv_flush_icache.c
+riscv_flush_icache_OBJECTS = riscv_flush_icache.$(OBJEXT)
+riscv_flush_icache_LDADD = $(LDADD)
+riscv_flush_icache_DEPENDENCIES = libtests.a
+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)
+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
+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
+s390_guarded_storage_SOURCES = s390_guarded_storage.c
+s390_guarded_storage_OBJECTS = s390_guarded_storage.$(OBJEXT)
+s390_guarded_storage_LDADD = $(LDADD)
+s390_guarded_storage_DEPENDENCIES = libtests.a
+s390_guarded_storage_v_SOURCES = s390_guarded_storage-v.c
+s390_guarded_storage_v_OBJECTS = s390_guarded_storage-v.$(OBJEXT)
+s390_guarded_storage_v_LDADD = $(LDADD)
+s390_guarded_storage_v_DEPENDENCIES = libtests.a
+s390_pci_mmio_read_write_SOURCES = s390_pci_mmio_read_write.c
+s390_pci_mmio_read_write_OBJECTS = s390_pci_mmio_read_write.$(OBJEXT)
+s390_pci_mmio_read_write_LDADD = $(LDADD)
+s390_pci_mmio_read_write_DEPENDENCIES = libtests.a
+s390_runtime_instr_SOURCES = s390_runtime_instr.c
+s390_runtime_instr_OBJECTS = s390_runtime_instr.$(OBJEXT)
+s390_runtime_instr_LDADD = $(LDADD)
+s390_runtime_instr_DEPENDENCIES = libtests.a
+s390_sthyi_SOURCES = s390_sthyi.c
+s390_sthyi_OBJECTS = s390_sthyi.$(OBJEXT)
+s390_sthyi_LDADD = $(LDADD)
+s390_sthyi_DEPENDENCIES = libtests.a
+s390_sthyi_v_SOURCES = s390_sthyi-v.c
+s390_sthyi_v_OBJECTS = s390_sthyi-v.$(OBJEXT)
+s390_sthyi_v_LDADD = $(LDADD)
+s390_sthyi_v_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
+seccomp_get_action_avail_SOURCES = seccomp_get_action_avail.c
+seccomp_get_action_avail_OBJECTS = seccomp_get_action_avail.$(OBJEXT)
+seccomp_get_action_avail_LDADD = $(LDADD)
+seccomp_get_action_avail_DEPENDENCIES = libtests.a
+select_SOURCES = select.c
+select_OBJECTS = select.$(OBJEXT)
+select_LDADD = $(LDADD)
+select_DEPENDENCIES = libtests.a
+select_P_SOURCES = select-P.c
+select_P_OBJECTS = select-P.$(OBJEXT)
+select_P_LDADD = $(LDADD)
+select_P_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
+set_sigblock_SOURCES = set_sigblock.c
+set_sigblock_OBJECTS = set_sigblock.$(OBJEXT)
+set_sigblock_LDADD = $(LDADD)
+set_sigblock_DEPENDENCIES = libtests.a
+set_sigign_SOURCES = set_sigign.c
+set_sigign_OBJECTS = set_sigign.$(OBJEXT)
+set_sigign_LDADD = $(LDADD)
+set_sigign_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_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)
+signal_receive_DEPENDENCIES = libtests.a
+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)
+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
+so_linger_SOURCES = so_linger.c
+so_linger_OBJECTS = so_linger.$(OBJEXT)
+so_linger_LDADD = $(LDADD)
+so_linger_DEPENDENCIES = libtests.a
+so_peercred_SOURCES = so_peercred.c
+so_peercred_OBJECTS = so_peercred.$(OBJEXT)
+so_peercred_LDADD = $(LDADD)
+so_peercred_DEPENDENCIES = libtests.a
+sock_filter_v_SOURCES = sock_filter-v.c
+sock_filter_v_OBJECTS = sock_filter-v.$(OBJEXT)
+sock_filter_v_LDADD = $(LDADD)
+sock_filter_v_DEPENDENCIES = libtests.a
+socketcall_SOURCES = socketcall.c
+socketcall_OBJECTS = socketcall.$(OBJEXT)
+socketcall_LDADD = $(LDADD)
+socketcall_DEPENDENCIES = libtests.a
+sockopt_sol_netlink_SOURCES = sockopt-sol_netlink.c
+sockopt_sol_netlink_OBJECTS = sockopt-sol_netlink.$(OBJEXT)
+sockopt_sol_netlink_LDADD = $(LDADD)
+sockopt_sol_netlink_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
+am_stack_fcall_mangled_OBJECTS = stack-fcall-mangled.$(OBJEXT) \
+ stack-fcall-mangled-0.$(OBJEXT) \
+ stack-fcall-mangled-1.$(OBJEXT) \
+ stack-fcall-mangled-2.$(OBJEXT) \
+ stack-fcall-mangled-3.$(OBJEXT)
+stack_fcall_mangled_OBJECTS = $(am_stack_fcall_mangled_OBJECTS)
+stack_fcall_mangled_LDADD = $(LDADD)
+stack_fcall_mangled_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 = $(am__DEPENDENCIES_1) $(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 = $(am__DEPENDENCIES_1) $(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
+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)
+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
+xet_thread_area_x86_SOURCES = xet_thread_area_x86.c
+xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT)
+xet_thread_area_x86_LDADD = $(LDADD)
+xet_thread_area_x86_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
+zeroargc_SOURCES = zeroargc.c
+zeroargc_OBJECTS = zeroargc.$(OBJEXT)
+zeroargc_LDADD = $(LDADD)
+zeroargc_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 _newselect-P.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 block_reset_raise_run.c bpf.c bpf-v.c brk.c \
+ btrfs.c caps.c caps-abbrev.c check_sigblock.c check_sigign.c \
+ chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+ clock_nanosleep.c clock_xettime.c clone_parent.c \
+ clone_ptrace.c copy_file_range.c count-f.c creat.c delay.c \
+ delete_module.c dev-yy.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 fflush.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 fsync-y.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 group_req.c inet-cmsg.c \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
+ nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
+ nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
+ nlattr_br_port_msg.c nlattr_crypto_user_alg.c nlattr_dcbmsg.c \
+ nlattr_fib_rule_hdr.c nlattr_ifaddrlblmsg.c nlattr_ifaddrmsg.c \
+ nlattr_ifinfomsg.c nlattr_ifla_brport.c nlattr_ifla_port.c \
+ nlattr_ifla_xdp.c nlattr_inet_diag_msg.c \
+ nlattr_inet_diag_req_compat.c nlattr_inet_diag_req_v2.c \
+ nlattr_mdba_mdb_entry.c nlattr_mdba_router_port.c \
+ nlattr_ndmsg.c nlattr_ndtmsg.c nlattr_netconfmsg.c \
+ nlattr_netlink_diag_msg.c nlattr_nlmsgerr.c \
+ nlattr_packet_diag_msg.c nlattr_rtgenmsg.c nlattr_rtmsg.c \
+ nlattr_smc_diag_msg.c nlattr_tc_stats.c nlattr_tca_stab.c \
+ nlattr_tcamsg.c nlattr_tcmsg.c nlattr_unix_diag_msg.c \
+ nsyscalls.c nsyscalls-d.c old_mmap.c old_mmap-P.c \
+ old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ oldselect-P.c oldselect-efault.c oldselect-efault-P.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 poll-P.c \
+ ppoll.c ppoll-P.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 printpath-umovestr.c \
+ printpath-umovestr-peekdata.c printpath-umovestr-undumpable.c \
+ printstr.c printstrn-umoven.c printstrn-umoven-peekdata.c \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.c rmdir.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 \
+ s390_guarded_storage.c s390_guarded_storage-v.c \
+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
+ s390_sthyi-v.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 seccomp_get_action_avail.c select.c \
+ select-P.c semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c set_sigblock.c set_sigign.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 so_linger.c \
+ so_peercred.c sock_filter-v.c socketcall.c \
+ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \
+ $(stack_fcall_mangled_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 \
+ 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 \
+ xet_thread_area_x86.c xetitimer.c xetpgid.c xetpriority.c \
+ xettimeofday.c zeroargc.c
+DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 block_reset_raise_run.c \
+ bpf.c bpf-v.c brk.c btrfs.c caps.c caps-abbrev.c \
+ check_sigblock.c check_sigign.c chmod.c chown.c chown32.c \
+ chroot.c clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ clone_parent.c clone_ptrace.c copy_file_range.c count-f.c \
+ creat.c delay.c delete_module.c dev-yy.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 fflush.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 fsync-y.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 group_req.c inet-cmsg.c \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
+ nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
+ nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
+ nlattr_br_port_msg.c nlattr_crypto_user_alg.c nlattr_dcbmsg.c \
+ nlattr_fib_rule_hdr.c nlattr_ifaddrlblmsg.c nlattr_ifaddrmsg.c \
+ nlattr_ifinfomsg.c nlattr_ifla_brport.c nlattr_ifla_port.c \
+ nlattr_ifla_xdp.c nlattr_inet_diag_msg.c \
+ nlattr_inet_diag_req_compat.c nlattr_inet_diag_req_v2.c \
+ nlattr_mdba_mdb_entry.c nlattr_mdba_router_port.c \
+ nlattr_ndmsg.c nlattr_ndtmsg.c nlattr_netconfmsg.c \
+ nlattr_netlink_diag_msg.c nlattr_nlmsgerr.c \
+ nlattr_packet_diag_msg.c nlattr_rtgenmsg.c nlattr_rtmsg.c \
+ nlattr_smc_diag_msg.c nlattr_tc_stats.c nlattr_tca_stab.c \
+ nlattr_tcamsg.c nlattr_tcmsg.c nlattr_unix_diag_msg.c \
+ nsyscalls.c nsyscalls-d.c old_mmap.c old_mmap-P.c \
+ old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ oldselect-P.c oldselect-efault.c oldselect-efault-P.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 poll-P.c \
+ ppoll.c ppoll-P.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 printpath-umovestr.c \
+ printpath-umovestr-peekdata.c printpath-umovestr-undumpable.c \
+ printstr.c printstrn-umoven.c printstrn-umoven-peekdata.c \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.c rmdir.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 \
+ s390_guarded_storage.c s390_guarded_storage-v.c \
+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
+ s390_sthyi-v.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 seccomp_get_action_avail.c select.c \
+ select-P.c semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c set_sigblock.c set_sigign.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 so_linger.c \
+ so_peercred.c sock_filter-v.c socketcall.c \
+ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \
+ $(stack_fcall_mangled_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 \
+ 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 \
+ xet_thread_area_x86.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;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__extra_recursive_targets = check-valgrind-recursive \
+ check-valgrind-memcheck-recursive \
+ check-valgrind-helgrind-recursive check-valgrind-drd-recursive \
+ check-valgrind-sgcheck-recursive
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+#am__EXEEXT_2 = strace-k.test $(am__append_1)
+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} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing aclocal-1.14
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoconf
+AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoheader
+AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing automake-1.14
+AWK = gawk
+BUILD_EXEEXT =
+BUILD_OBJEXT =
+CC = aarch64-linux-android-clang
+CCDEPMODE = depmode=gcc3
+CC_FOR_BUILD = gcc
+CFLAGS = -fPIE -fPIC
+CFLAGS_FOR_BUILD = -g -O2
+CODE_COVERAGE_CFLAGS =
+CODE_COVERAGE_CPPFLAGS =
+CODE_COVERAGE_CXXFLAGS =
+CODE_COVERAGE_ENABLED = no
+CODE_COVERAGE_LDFLAGS =
+CODE_COVERAGE_LIBS =
+COPYRIGHT_YEAR = 2018
+CPP = aarch64-linux-android-clang -E
+CPPFLAGS =
+CPPFLAGS_FOR_BUILD =
+CPP_FOR_BUILD = gcc -E
+CYGPATH_W = echo
+DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -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 = -pie
+LDFLAGS_FOR_BUILD =
+LIBOBJS =
+LIBS =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo
+MANPAGE_DATE = 2018-04-04
+MIPS_ABI =
+MKDIR_P = /bin/mkdir -p
+OBJEXT = o
+PACKAGE = strace
+PACKAGE_BUGREPORT = strace-devel@lists.strace.io
+PACKAGE_NAME = strace
+PACKAGE_STRING = strace 4.22
+PACKAGE_TARNAME = strace
+PACKAGE_URL = https://strace.io
+PACKAGE_VERSION = 4.22
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+RANLIB = aarch64-linux-android-ranlib
+READELF = aarch64-linux-android-readelf
+RPM_CHANGELOGTIME = Thu Jun 14 2018
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+SIZEOF_KERNEL_LONG_T = 4
+SIZEOF_LONG = 4
+STRIP = aarch64-linux-android-strip
+VALGRIND = valgrind
+VALGRIND_ENABLED = yes
+VERSION = 4.22
+WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wnested-externs -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22/tests-m32
+abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22/tests-m32
+abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ac_ct_CC =
+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 = aarch64
+arch_m32 = arm
+arch_mx32 = aarch64
+arch_native = aarch64
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+cc_flags_m32 = -m32
+cc_flags_mx32 = -mx32
+clock_LIBS =
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dl_LIBS = -ldl
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = aarch64-unknown-linux-android
+host_alias = aarch64-linux-android
+host_cpu = aarch64
+host_os = linux-android
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+libiberty_CPPFLAGS =
+libiberty_LDFLAGS =
+libiberty_LIBS =
+libunwind_CPPFLAGS =
+libunwind_LDFLAGS =
+libunwind_LIBS =
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+mq_LIBS =
+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 =
+timer_LIBS =
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+valgrind_enabled_tools = memcheck
+valgrind_tools = memcheck helgrind drd sgcheck
+OS = linux
+ARCH = arm
+NATIVE_ARCH = aarch64
+MPERS_NAME = m32
+MPERS_CC_FLAGS = -m32
+ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) $(MPERS_CC_FLAGS)
+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) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
+
+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 \
+ ifindex.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_netlink.h \
+ test_nlattr.h \
+ test_printpath.c \
+ test_printstrn.c \
+ test_ucopy.c \
+ test_ucopy.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
+
+# 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 \
+ bpf-v \
+ brk \
+ btrfs \
+ caps \
+ chmod \
+ chown \
+ chown32 \
+ chroot \
+ clock_adjtime \
+ clock_nanosleep \
+ clock_xettime \
+ copy_file_range \
+ creat \
+ delete_module \
+ dev-yy \
+ 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 \
+ fflush \
+ 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 \
+ group_req \
+ inet-cmsg \
+ init_module \
+ inotify \
+ inotify_init1 \
+ ioctl \
+ ioctl_block \
+ ioctl_dm \
+ ioctl_evdev \
+ ioctl_kvm_run \
+ 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 \
+ kcmp-y \
+ kern_features \
+ 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 \
+ modify_ldt \
+ 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-inet6 \
+ net-yy-netlink \
+ net-yy-unix \
+ netlink_audit \
+ netlink_crypto \
+ netlink_generic \
+ netlink_kobject_uevent \
+ netlink_netfilter \
+ netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
+ newfstatat \
+ nfnetlink_acct \
+ nfnetlink_cthelper \
+ nfnetlink_ctnetlink \
+ nfnetlink_ctnetlink_exp \
+ nfnetlink_cttimeout \
+ nfnetlink_nft_compat \
+ nfnetlink_nftables \
+ nfnetlink_ipset \
+ nfnetlink_osf \
+ nfnetlink_queue \
+ nfnetlink_ulog \
+ nlattr \
+ nlattr_crypto_user_alg \
+ nlattr_br_port_msg \
+ nlattr_dcbmsg \
+ nlattr_fib_rule_hdr \
+ nlattr_ifaddrlblmsg \
+ nlattr_ifaddrmsg \
+ nlattr_ifinfomsg \
+ nlattr_ifla_brport \
+ nlattr_ifla_port \
+ nlattr_ifla_xdp \
+ nlattr_inet_diag_msg \
+ nlattr_inet_diag_req_compat \
+ nlattr_inet_diag_req_v2 \
+ nlattr_mdba_mdb_entry \
+ nlattr_mdba_router_port \
+ nlattr_ndmsg \
+ nlattr_ndtmsg \
+ nlattr_netconfmsg \
+ nlattr_netlink_diag_msg \
+ nlattr_nlmsgerr \
+ nlattr_packet_diag_msg \
+ nlattr_rtgenmsg \
+ nlattr_rtmsg \
+ nlattr_smc_diag_msg \
+ nlattr_tc_stats \
+ nlattr_tca_stab \
+ nlattr_tcamsg \
+ nlattr_tcmsg \
+ nlattr_unix_diag_msg \
+ old_mmap \
+ old_mmap-P \
+ old_mmap-v-none \
+ oldfstat \
+ oldlstat \
+ oldselect \
+ oldselect-efault \
+ oldstat \
+ open \
+ openat \
+ osf_utimes \
+ pause \
+ perf_event_open \
+ personality \
+ pipe \
+ pipe2 \
+ pkey_alloc \
+ pkey_free \
+ pkey_mprotect \
+ poll \
+ poll-P \
+ ppoll \
+ ppoll-P \
+ 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 \
+ printpath-umovestr \
+ printpath-umovestr-peekdata \
+ printpath-umovestr-undumpable \
+ printstr \
+ printstrn-umoven \
+ printstrn-umoven-peekdata \
+ printstrn-umoven-undumpable \
+ 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 \
+ riscv_flush_icache \
+ rmdir \
+ rt_sigaction \
+ rt_sigpending \
+ rt_sigprocmask \
+ rt_sigqueueinfo \
+ rt_sigreturn \
+ rt_sigsuspend \
+ rt_sigtimedwait \
+ rt_tgsigqueueinfo \
+ s390_guarded_storage \
+ s390_guarded_storage-v \
+ s390_pci_mmio_read_write \
+ s390_runtime_instr \
+ s390_sthyi \
+ s390_sthyi-v \
+ sched_get_priority_mxx \
+ sched_rr_get_interval \
+ sched_xetaffinity \
+ sched_xetattr \
+ sched_xetparam \
+ sched_xetscheduler \
+ sched_yield \
+ seccomp-filter \
+ seccomp_get_action_avail \
+ 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 \
+ so_linger \
+ so_peercred \
+ sock_filter-v \
+ socketcall \
+ sockopt-sol_netlink \
+ 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 \
+ xet_thread_area_x86 \
+ xetitimer \
+ xetpgid \
+ xetpriority \
+ xettimeofday \
+ #
+
+attach_f_p_LDADD = -lpthread $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = $(mq_LIBS) $(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 = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(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
+
+stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \
+ stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
+ stack-fcall-mangled-2.c stack-fcall-mangled-3.c
+
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 dev-yy.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 \
+ fsync-y.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 \
+ group_req.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_dm.gen.test ioctl_dm-v.gen.test \
+ ioctl_evdev.gen.test ioctl_evdev-v.gen.test \
+ ioctl_kvm_run.gen.test ioctl_loop.gen.test \
+ ioctl_loop-nv.gen.test ioctl_loop-v.gen.test \
+ ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 \
+ kcmp-y.gen.test kern_features.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 modify_ldt.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 net-yy-inet6.gen.test \
+ netlink_audit.gen.test netlink_crypto.gen.test \
+ netlink_generic.gen.test netlink_kobject_uevent.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 \
+ nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test \
+ nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test \
+ nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test \
+ nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test \
+ nfnetlink_osf.gen.test nfnetlink_queue.gen.test \
+ nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test \
+ nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test \
+ nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test \
+ nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test \
+ nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test \
+ nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test \
+ nlattr_inet_diag_req_compat.gen.test \
+ nlattr_inet_diag_req_v2.gen.test \
+ nlattr_mdba_mdb_entry.gen.test \
+ nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test \
+ nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test \
+ nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test \
+ nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test \
+ nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test \
+ nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test \
+ nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test \
+ nlattr_unix_diag_msg.gen.test old_mmap.gen.test \
+ old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test \
+ oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test \
+ oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test \
+ pread64-pwrite64.gen.test preadv.gen.test \
+ preadv-pwritev.gen.test preadv2-pwritev2.gen.test \
+ printstr.gen.test printpath-umovestr.gen.test \
+ printpath-umovestr-peekdata.gen.test \
+ printpath-umovestr-undumpable.gen.test \
+ printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test \
+ s390_guarded_storage-v.gen.test \
+ s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \
+ s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test \
+ select.gen.test select-P.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 \
+ so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test \
+ socketcall.gen.test sockopt-sol_netlink.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 $(am__append_1)
+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 \
+ ipc_msgbuf.test \
+ kern_features-fault.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 \
+ nsyscalls-d.test \
+ nsyscalls-nd.test \
+ personality.test \
+ pipe.test \
+ poll-P.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 \
+ xet_thread_area_x86.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 \
+ clone_parent.test \
+ clone_ptrace.test \
+ count-f.test \
+ count.test \
+ delay.test \
+ detach-running.test \
+ detach-sleeping.test \
+ detach-stopped.test \
+ filter-unavailable.test \
+ filtering_fd-syntax.test \
+ filtering_syscall-syntax.test \
+ fflush.test \
+ get_regs.test \
+ inject-nf.test \
+ interactive_block.test \
+ ksysent.test \
+ localtime.test \
+ opipe.test \
+ options-syntax.test \
+ pc.test \
+ printpath-umovestr-legacy.test \
+ printstrn-umoven-legacy.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 \
+ sigblock.test \
+ sigign.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
+
+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) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \
+ SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ SIZEOF_LONG=$(SIZEOF_LONG) \
+ MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(abs_srcdir)/strace.supp
+EXTRA_DIST = \
+ accept_compat.h \
+ attach-p-cmd.h \
+ 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 \
+ ipc.sh \
+ ipc_msgbuf.expected \
+ ksysent.sed \
+ lstatx.c \
+ match.awk \
+ net.expected \
+ netlink_sock_diag-v.sh \
+ pipe.expected \
+ print_user_desc.c \
+ 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 \
+ stack-fcall.h \
+ strace-C.expected \
+ strace-E.expected \
+ strace-T.expected \
+ strace-ff.expected \
+ strace-k-demangle.test \
+ strace-k.test \
+ strace-r.expected \
+ strace.supp \
+ struct_flock.c \
+ sun_path.expected \
+ syntax.sh \
+ 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)))
+BUILT_SOURCES = ksysent.h scno.h
+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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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)
+
+_newselect-P$(EXEEXT): $(_newselect_P_OBJECTS) $(_newselect_P_DEPENDENCIES) $(EXTRA__newselect_P_DEPENDENCIES)
+ @rm -f _newselect-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(_newselect_P_OBJECTS) $(_newselect_P_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)
+
+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)
+
+bpf-v$(EXEEXT): $(bpf_v_OBJECTS) $(bpf_v_DEPENDENCIES) $(EXTRA_bpf_v_DEPENDENCIES)
+ @rm -f bpf-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(bpf_v_OBJECTS) $(bpf_v_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)
+
+check_sigblock$(EXEEXT): $(check_sigblock_OBJECTS) $(check_sigblock_DEPENDENCIES) $(EXTRA_check_sigblock_DEPENDENCIES)
+ @rm -f check_sigblock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_sigblock_OBJECTS) $(check_sigblock_LDADD) $(LIBS)
+
+check_sigign$(EXEEXT): $(check_sigign_OBJECTS) $(check_sigign_DEPENDENCIES) $(EXTRA_check_sigign_DEPENDENCIES)
+ @rm -f check_sigign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_sigign_OBJECTS) $(check_sigign_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)
+
+clone_parent$(EXEEXT): $(clone_parent_OBJECTS) $(clone_parent_DEPENDENCIES) $(EXTRA_clone_parent_DEPENDENCIES)
+ @rm -f clone_parent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(clone_parent_OBJECTS) $(clone_parent_LDADD) $(LIBS)
+
+clone_ptrace$(EXEEXT): $(clone_ptrace_OBJECTS) $(clone_ptrace_DEPENDENCIES) $(EXTRA_clone_ptrace_DEPENDENCIES)
+ @rm -f clone_ptrace$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(clone_ptrace_OBJECTS) $(clone_ptrace_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)
+
+delay$(EXEEXT): $(delay_OBJECTS) $(delay_DEPENDENCIES) $(EXTRA_delay_DEPENDENCIES)
+ @rm -f delay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delay_OBJECTS) $(delay_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)
+
+dev-yy$(EXEEXT): $(dev_yy_OBJECTS) $(dev_yy_DEPENDENCIES) $(EXTRA_dev_yy_DEPENDENCIES)
+ @rm -f dev-yy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dev_yy_OBJECTS) $(dev_yy_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)
+
+fflush$(EXEEXT): $(fflush_OBJECTS) $(fflush_DEPENDENCIES) $(EXTRA_fflush_DEPENDENCIES)
+ @rm -f fflush$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fflush_OBJECTS) $(fflush_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)
+
+fsync-y$(EXEEXT): $(fsync_y_OBJECTS) $(fsync_y_DEPENDENCIES) $(EXTRA_fsync_y_DEPENDENCIES)
+ @rm -f fsync-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsync_y_OBJECTS) $(fsync_y_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)
+
+group_req$(EXEEXT): $(group_req_OBJECTS) $(group_req_DEPENDENCIES) $(EXTRA_group_req_DEPENDENCIES)
+ @rm -f group_req$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(group_req_OBJECTS) $(group_req_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)
+
+inject-nf$(EXEEXT): $(inject_nf_OBJECTS) $(inject_nf_DEPENDENCIES) $(EXTRA_inject_nf_DEPENDENCIES)
+ @rm -f inject-nf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(inject_nf_OBJECTS) $(inject_nf_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_kvm_run$(EXEEXT): $(ioctl_kvm_run_OBJECTS) $(ioctl_kvm_run_DEPENDENCIES) $(EXTRA_ioctl_kvm_run_DEPENDENCIES)
+ @rm -f ioctl_kvm_run$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ioctl_kvm_run_OBJECTS) $(ioctl_kvm_run_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)
+
+is_linux_mips_n64$(EXEEXT): $(is_linux_mips_n64_OBJECTS) $(is_linux_mips_n64_DEPENDENCIES) $(EXTRA_is_linux_mips_n64_DEPENDENCIES)
+ @rm -f is_linux_mips_n64$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(is_linux_mips_n64_OBJECTS) $(is_linux_mips_n64_LDADD) $(LIBS)
+
+kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES)
+ @rm -f kcmp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
+
+kcmp-y$(EXEEXT): $(kcmp_y_OBJECTS) $(kcmp_y_DEPENDENCIES) $(EXTRA_kcmp_y_DEPENDENCIES)
+ @rm -f kcmp-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
+
+kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES)
+ @rm -f kern_features$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_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)
+
+list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES)
+ @rm -f list_sigaction_signum$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
+
+llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES)
+ @rm -f llseek$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+
+localtime$(EXEEXT): $(localtime_OBJECTS) $(localtime_DEPENDENCIES) $(EXTRA_localtime_DEPENDENCIES)
+ @rm -f localtime$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(localtime_OBJECTS) $(localtime_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)
+
+modify_ldt$(EXEEXT): $(modify_ldt_OBJECTS) $(modify_ldt_DEPENDENCIES) $(EXTRA_modify_ldt_DEPENDENCIES)
+ @rm -f modify_ldt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(modify_ldt_OBJECTS) $(modify_ldt_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-inet6$(EXEEXT): $(net_yy_inet6_OBJECTS) $(net_yy_inet6_DEPENDENCIES) $(EXTRA_net_yy_inet6_DEPENDENCIES)
+ @rm -f net-yy-inet6$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(net_yy_inet6_OBJECTS) $(net_yy_inet6_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_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_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES)
+ @rm -f netlink_crypto$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_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_kobject_uevent$(EXEEXT): $(netlink_kobject_uevent_OBJECTS) $(netlink_kobject_uevent_DEPENDENCIES) $(EXTRA_netlink_kobject_uevent_DEPENDENCIES)
+ @rm -f netlink_kobject_uevent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_kobject_uevent_OBJECTS) $(netlink_kobject_uevent_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)
+
+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_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)
+
+nfnetlink_acct$(EXEEXT): $(nfnetlink_acct_OBJECTS) $(nfnetlink_acct_DEPENDENCIES) $(EXTRA_nfnetlink_acct_DEPENDENCIES)
+ @rm -f nfnetlink_acct$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_acct_OBJECTS) $(nfnetlink_acct_LDADD) $(LIBS)
+
+nfnetlink_cthelper$(EXEEXT): $(nfnetlink_cthelper_OBJECTS) $(nfnetlink_cthelper_DEPENDENCIES) $(EXTRA_nfnetlink_cthelper_DEPENDENCIES)
+ @rm -f nfnetlink_cthelper$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_cthelper_OBJECTS) $(nfnetlink_cthelper_LDADD) $(LIBS)
+
+nfnetlink_ctnetlink$(EXEEXT): $(nfnetlink_ctnetlink_OBJECTS) $(nfnetlink_ctnetlink_DEPENDENCIES) $(EXTRA_nfnetlink_ctnetlink_DEPENDENCIES)
+ @rm -f nfnetlink_ctnetlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ctnetlink_OBJECTS) $(nfnetlink_ctnetlink_LDADD) $(LIBS)
+
+nfnetlink_ctnetlink_exp$(EXEEXT): $(nfnetlink_ctnetlink_exp_OBJECTS) $(nfnetlink_ctnetlink_exp_DEPENDENCIES) $(EXTRA_nfnetlink_ctnetlink_exp_DEPENDENCIES)
+ @rm -f nfnetlink_ctnetlink_exp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ctnetlink_exp_OBJECTS) $(nfnetlink_ctnetlink_exp_LDADD) $(LIBS)
+
+nfnetlink_cttimeout$(EXEEXT): $(nfnetlink_cttimeout_OBJECTS) $(nfnetlink_cttimeout_DEPENDENCIES) $(EXTRA_nfnetlink_cttimeout_DEPENDENCIES)
+ @rm -f nfnetlink_cttimeout$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_cttimeout_OBJECTS) $(nfnetlink_cttimeout_LDADD) $(LIBS)
+
+nfnetlink_ipset$(EXEEXT): $(nfnetlink_ipset_OBJECTS) $(nfnetlink_ipset_DEPENDENCIES) $(EXTRA_nfnetlink_ipset_DEPENDENCIES)
+ @rm -f nfnetlink_ipset$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ipset_OBJECTS) $(nfnetlink_ipset_LDADD) $(LIBS)
+
+nfnetlink_nft_compat$(EXEEXT): $(nfnetlink_nft_compat_OBJECTS) $(nfnetlink_nft_compat_DEPENDENCIES) $(EXTRA_nfnetlink_nft_compat_DEPENDENCIES)
+ @rm -f nfnetlink_nft_compat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_nft_compat_OBJECTS) $(nfnetlink_nft_compat_LDADD) $(LIBS)
+
+nfnetlink_nftables$(EXEEXT): $(nfnetlink_nftables_OBJECTS) $(nfnetlink_nftables_DEPENDENCIES) $(EXTRA_nfnetlink_nftables_DEPENDENCIES)
+ @rm -f nfnetlink_nftables$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_nftables_OBJECTS) $(nfnetlink_nftables_LDADD) $(LIBS)
+
+nfnetlink_osf$(EXEEXT): $(nfnetlink_osf_OBJECTS) $(nfnetlink_osf_DEPENDENCIES) $(EXTRA_nfnetlink_osf_DEPENDENCIES)
+ @rm -f nfnetlink_osf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_osf_OBJECTS) $(nfnetlink_osf_LDADD) $(LIBS)
+
+nfnetlink_queue$(EXEEXT): $(nfnetlink_queue_OBJECTS) $(nfnetlink_queue_DEPENDENCIES) $(EXTRA_nfnetlink_queue_DEPENDENCIES)
+ @rm -f nfnetlink_queue$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_queue_OBJECTS) $(nfnetlink_queue_LDADD) $(LIBS)
+
+nfnetlink_ulog$(EXEEXT): $(nfnetlink_ulog_OBJECTS) $(nfnetlink_ulog_DEPENDENCIES) $(EXTRA_nfnetlink_ulog_DEPENDENCIES)
+ @rm -f nfnetlink_ulog$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ulog_OBJECTS) $(nfnetlink_ulog_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_br_port_msg$(EXEEXT): $(nlattr_br_port_msg_OBJECTS) $(nlattr_br_port_msg_DEPENDENCIES) $(EXTRA_nlattr_br_port_msg_DEPENDENCIES)
+ @rm -f nlattr_br_port_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_br_port_msg_OBJECTS) $(nlattr_br_port_msg_LDADD) $(LIBS)
+
+nlattr_crypto_user_alg$(EXEEXT): $(nlattr_crypto_user_alg_OBJECTS) $(nlattr_crypto_user_alg_DEPENDENCIES) $(EXTRA_nlattr_crypto_user_alg_DEPENDENCIES)
+ @rm -f nlattr_crypto_user_alg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_crypto_user_alg_OBJECTS) $(nlattr_crypto_user_alg_LDADD) $(LIBS)
+
+nlattr_dcbmsg$(EXEEXT): $(nlattr_dcbmsg_OBJECTS) $(nlattr_dcbmsg_DEPENDENCIES) $(EXTRA_nlattr_dcbmsg_DEPENDENCIES)
+ @rm -f nlattr_dcbmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_dcbmsg_OBJECTS) $(nlattr_dcbmsg_LDADD) $(LIBS)
+
+nlattr_fib_rule_hdr$(EXEEXT): $(nlattr_fib_rule_hdr_OBJECTS) $(nlattr_fib_rule_hdr_DEPENDENCIES) $(EXTRA_nlattr_fib_rule_hdr_DEPENDENCIES)
+ @rm -f nlattr_fib_rule_hdr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_fib_rule_hdr_OBJECTS) $(nlattr_fib_rule_hdr_LDADD) $(LIBS)
+
+nlattr_ifaddrlblmsg$(EXEEXT): $(nlattr_ifaddrlblmsg_OBJECTS) $(nlattr_ifaddrlblmsg_DEPENDENCIES) $(EXTRA_nlattr_ifaddrlblmsg_DEPENDENCIES)
+ @rm -f nlattr_ifaddrlblmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifaddrlblmsg_OBJECTS) $(nlattr_ifaddrlblmsg_LDADD) $(LIBS)
+
+nlattr_ifaddrmsg$(EXEEXT): $(nlattr_ifaddrmsg_OBJECTS) $(nlattr_ifaddrmsg_DEPENDENCIES) $(EXTRA_nlattr_ifaddrmsg_DEPENDENCIES)
+ @rm -f nlattr_ifaddrmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifaddrmsg_OBJECTS) $(nlattr_ifaddrmsg_LDADD) $(LIBS)
+
+nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPENDENCIES) $(EXTRA_nlattr_ifinfomsg_DEPENDENCIES)
+ @rm -f nlattr_ifinfomsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS)
+
+nlattr_ifla_brport$(EXEEXT): $(nlattr_ifla_brport_OBJECTS) $(nlattr_ifla_brport_DEPENDENCIES) $(EXTRA_nlattr_ifla_brport_DEPENDENCIES)
+ @rm -f nlattr_ifla_brport$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_brport_OBJECTS) $(nlattr_ifla_brport_LDADD) $(LIBS)
+
+nlattr_ifla_port$(EXEEXT): $(nlattr_ifla_port_OBJECTS) $(nlattr_ifla_port_DEPENDENCIES) $(EXTRA_nlattr_ifla_port_DEPENDENCIES)
+ @rm -f nlattr_ifla_port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_port_OBJECTS) $(nlattr_ifla_port_LDADD) $(LIBS)
+
+nlattr_ifla_xdp$(EXEEXT): $(nlattr_ifla_xdp_OBJECTS) $(nlattr_ifla_xdp_DEPENDENCIES) $(EXTRA_nlattr_ifla_xdp_DEPENDENCIES)
+ @rm -f nlattr_ifla_xdp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_xdp_OBJECTS) $(nlattr_ifla_xdp_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_inet_diag_req_compat$(EXEEXT): $(nlattr_inet_diag_req_compat_OBJECTS) $(nlattr_inet_diag_req_compat_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_req_compat_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_req_compat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_req_compat_OBJECTS) $(nlattr_inet_diag_req_compat_LDADD) $(LIBS)
+
+nlattr_inet_diag_req_v2$(EXEEXT): $(nlattr_inet_diag_req_v2_OBJECTS) $(nlattr_inet_diag_req_v2_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_req_v2_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_req_v2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_req_v2_OBJECTS) $(nlattr_inet_diag_req_v2_LDADD) $(LIBS)
+
+nlattr_mdba_mdb_entry$(EXEEXT): $(nlattr_mdba_mdb_entry_OBJECTS) $(nlattr_mdba_mdb_entry_DEPENDENCIES) $(EXTRA_nlattr_mdba_mdb_entry_DEPENDENCIES)
+ @rm -f nlattr_mdba_mdb_entry$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_mdba_mdb_entry_OBJECTS) $(nlattr_mdba_mdb_entry_LDADD) $(LIBS)
+
+nlattr_mdba_router_port$(EXEEXT): $(nlattr_mdba_router_port_OBJECTS) $(nlattr_mdba_router_port_DEPENDENCIES) $(EXTRA_nlattr_mdba_router_port_DEPENDENCIES)
+ @rm -f nlattr_mdba_router_port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_mdba_router_port_OBJECTS) $(nlattr_mdba_router_port_LDADD) $(LIBS)
+
+nlattr_ndmsg$(EXEEXT): $(nlattr_ndmsg_OBJECTS) $(nlattr_ndmsg_DEPENDENCIES) $(EXTRA_nlattr_ndmsg_DEPENDENCIES)
+ @rm -f nlattr_ndmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ndmsg_OBJECTS) $(nlattr_ndmsg_LDADD) $(LIBS)
+
+nlattr_ndtmsg$(EXEEXT): $(nlattr_ndtmsg_OBJECTS) $(nlattr_ndtmsg_DEPENDENCIES) $(EXTRA_nlattr_ndtmsg_DEPENDENCIES)
+ @rm -f nlattr_ndtmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ndtmsg_OBJECTS) $(nlattr_ndtmsg_LDADD) $(LIBS)
+
+nlattr_netconfmsg$(EXEEXT): $(nlattr_netconfmsg_OBJECTS) $(nlattr_netconfmsg_DEPENDENCIES) $(EXTRA_nlattr_netconfmsg_DEPENDENCIES)
+ @rm -f nlattr_netconfmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_netconfmsg_OBJECTS) $(nlattr_netconfmsg_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_nlmsgerr$(EXEEXT): $(nlattr_nlmsgerr_OBJECTS) $(nlattr_nlmsgerr_DEPENDENCIES) $(EXTRA_nlattr_nlmsgerr_DEPENDENCIES)
+ @rm -f nlattr_nlmsgerr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_nlmsgerr_OBJECTS) $(nlattr_nlmsgerr_LDADD) $(LIBS)
+
+nlattr_packet_diag_msg$(EXEEXT): $(nlattr_packet_diag_msg_OBJECTS) $(nlattr_packet_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_packet_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_packet_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_packet_diag_msg_OBJECTS) $(nlattr_packet_diag_msg_LDADD) $(LIBS)
+
+nlattr_rtgenmsg$(EXEEXT): $(nlattr_rtgenmsg_OBJECTS) $(nlattr_rtgenmsg_DEPENDENCIES) $(EXTRA_nlattr_rtgenmsg_DEPENDENCIES)
+ @rm -f nlattr_rtgenmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_rtgenmsg_OBJECTS) $(nlattr_rtgenmsg_LDADD) $(LIBS)
+
+nlattr_rtmsg$(EXEEXT): $(nlattr_rtmsg_OBJECTS) $(nlattr_rtmsg_DEPENDENCIES) $(EXTRA_nlattr_rtmsg_DEPENDENCIES)
+ @rm -f nlattr_rtmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_rtmsg_OBJECTS) $(nlattr_rtmsg_LDADD) $(LIBS)
+
+nlattr_smc_diag_msg$(EXEEXT): $(nlattr_smc_diag_msg_OBJECTS) $(nlattr_smc_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_smc_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_smc_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_smc_diag_msg_OBJECTS) $(nlattr_smc_diag_msg_LDADD) $(LIBS)
+
+nlattr_tc_stats$(EXEEXT): $(nlattr_tc_stats_OBJECTS) $(nlattr_tc_stats_DEPENDENCIES) $(EXTRA_nlattr_tc_stats_DEPENDENCIES)
+ @rm -f nlattr_tc_stats$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tc_stats_OBJECTS) $(nlattr_tc_stats_LDADD) $(LIBS)
+
+nlattr_tca_stab$(EXEEXT): $(nlattr_tca_stab_OBJECTS) $(nlattr_tca_stab_DEPENDENCIES) $(EXTRA_nlattr_tca_stab_DEPENDENCIES)
+ @rm -f nlattr_tca_stab$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tca_stab_OBJECTS) $(nlattr_tca_stab_LDADD) $(LIBS)
+
+nlattr_tcamsg$(EXEEXT): $(nlattr_tcamsg_OBJECTS) $(nlattr_tcamsg_DEPENDENCIES) $(EXTRA_nlattr_tcamsg_DEPENDENCIES)
+ @rm -f nlattr_tcamsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tcamsg_OBJECTS) $(nlattr_tcamsg_LDADD) $(LIBS)
+
+nlattr_tcmsg$(EXEEXT): $(nlattr_tcmsg_OBJECTS) $(nlattr_tcmsg_DEPENDENCIES) $(EXTRA_nlattr_tcmsg_DEPENDENCIES)
+ @rm -f nlattr_tcmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tcmsg_OBJECTS) $(nlattr_tcmsg_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)
+
+nsyscalls-d$(EXEEXT): $(nsyscalls_d_OBJECTS) $(nsyscalls_d_DEPENDENCIES) $(EXTRA_nsyscalls_d_DEPENDENCIES)
+ @rm -f nsyscalls-d$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nsyscalls_d_OBJECTS) $(nsyscalls_d_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)
+
+old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_old_mmap_P_DEPENDENCIES)
+ @rm -f old_mmap-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS)
+
+old_mmap-v-none$(EXEEXT): $(old_mmap_v_none_OBJECTS) $(old_mmap_v_none_DEPENDENCIES) $(EXTRA_old_mmap_v_none_DEPENDENCIES)
+ @rm -f old_mmap-v-none$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(old_mmap_v_none_OBJECTS) $(old_mmap_v_none_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)
+
+oldselect-P$(EXEEXT): $(oldselect_P_OBJECTS) $(oldselect_P_DEPENDENCIES) $(EXTRA_oldselect_P_DEPENDENCIES)
+ @rm -f oldselect-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_P_OBJECTS) $(oldselect_P_LDADD) $(LIBS)
+
+oldselect-efault$(EXEEXT): $(oldselect_efault_OBJECTS) $(oldselect_efault_DEPENDENCIES) $(EXTRA_oldselect_efault_DEPENDENCIES)
+ @rm -f oldselect-efault$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_efault_OBJECTS) $(oldselect_efault_LDADD) $(LIBS)
+
+oldselect-efault-P$(EXEEXT): $(oldselect_efault_P_OBJECTS) $(oldselect_efault_P_DEPENDENCIES) $(EXTRA_oldselect_efault_P_DEPENDENCIES)
+ @rm -f oldselect-efault-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_efault_P_OBJECTS) $(oldselect_efault_P_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)
+
+poll-P$(EXEEXT): $(poll_P_OBJECTS) $(poll_P_DEPENDENCIES) $(EXTRA_poll_P_DEPENDENCIES)
+ @rm -f poll-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(poll_P_OBJECTS) $(poll_P_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-P$(EXEEXT): $(ppoll_P_OBJECTS) $(ppoll_P_DEPENDENCIES) $(EXTRA_ppoll_P_DEPENDENCIES)
+ @rm -f ppoll-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ppoll_P_OBJECTS) $(ppoll_P_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)
+
+printpath-umovestr$(EXEEXT): $(printpath_umovestr_OBJECTS) $(printpath_umovestr_DEPENDENCIES) $(EXTRA_printpath_umovestr_DEPENDENCIES)
+ @rm -f printpath-umovestr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_OBJECTS) $(printpath_umovestr_LDADD) $(LIBS)
+
+printpath-umovestr-peekdata$(EXEEXT): $(printpath_umovestr_peekdata_OBJECTS) $(printpath_umovestr_peekdata_DEPENDENCIES) $(EXTRA_printpath_umovestr_peekdata_DEPENDENCIES)
+ @rm -f printpath-umovestr-peekdata$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_peekdata_OBJECTS) $(printpath_umovestr_peekdata_LDADD) $(LIBS)
+
+printpath-umovestr-undumpable$(EXEEXT): $(printpath_umovestr_undumpable_OBJECTS) $(printpath_umovestr_undumpable_DEPENDENCIES) $(EXTRA_printpath_umovestr_undumpable_DEPENDENCIES)
+ @rm -f printpath-umovestr-undumpable$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_undumpable_OBJECTS) $(printpath_umovestr_undumpable_LDADD) $(LIBS)
+
+printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES)
+ @rm -f printstr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
+
+printstrn-umoven$(EXEEXT): $(printstrn_umoven_OBJECTS) $(printstrn_umoven_DEPENDENCIES) $(EXTRA_printstrn_umoven_DEPENDENCIES)
+ @rm -f printstrn-umoven$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_OBJECTS) $(printstrn_umoven_LDADD) $(LIBS)
+
+printstrn-umoven-peekdata$(EXEEXT): $(printstrn_umoven_peekdata_OBJECTS) $(printstrn_umoven_peekdata_DEPENDENCIES) $(EXTRA_printstrn_umoven_peekdata_DEPENDENCIES)
+ @rm -f printstrn-umoven-peekdata$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_peekdata_OBJECTS) $(printstrn_umoven_peekdata_LDADD) $(LIBS)
+
+printstrn-umoven-undumpable$(EXEEXT): $(printstrn_umoven_undumpable_OBJECTS) $(printstrn_umoven_undumpable_DEPENDENCIES) $(EXTRA_printstrn_umoven_undumpable_DEPENDENCIES)
+ @rm -f printstrn-umoven-undumpable$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_undumpable_OBJECTS) $(printstrn_umoven_undumpable_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)
+
+riscv_flush_icache$(EXEEXT): $(riscv_flush_icache_OBJECTS) $(riscv_flush_icache_DEPENDENCIES) $(EXTRA_riscv_flush_icache_DEPENDENCIES)
+ @rm -f riscv_flush_icache$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(riscv_flush_icache_OBJECTS) $(riscv_flush_icache_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_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)
+
+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)
+
+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)
+
+s390_guarded_storage$(EXEEXT): $(s390_guarded_storage_OBJECTS) $(s390_guarded_storage_DEPENDENCIES) $(EXTRA_s390_guarded_storage_DEPENDENCIES)
+ @rm -f s390_guarded_storage$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_guarded_storage_OBJECTS) $(s390_guarded_storage_LDADD) $(LIBS)
+
+s390_guarded_storage-v$(EXEEXT): $(s390_guarded_storage_v_OBJECTS) $(s390_guarded_storage_v_DEPENDENCIES) $(EXTRA_s390_guarded_storage_v_DEPENDENCIES)
+ @rm -f s390_guarded_storage-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_guarded_storage_v_OBJECTS) $(s390_guarded_storage_v_LDADD) $(LIBS)
+
+s390_pci_mmio_read_write$(EXEEXT): $(s390_pci_mmio_read_write_OBJECTS) $(s390_pci_mmio_read_write_DEPENDENCIES) $(EXTRA_s390_pci_mmio_read_write_DEPENDENCIES)
+ @rm -f s390_pci_mmio_read_write$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_pci_mmio_read_write_OBJECTS) $(s390_pci_mmio_read_write_LDADD) $(LIBS)
+
+s390_runtime_instr$(EXEEXT): $(s390_runtime_instr_OBJECTS) $(s390_runtime_instr_DEPENDENCIES) $(EXTRA_s390_runtime_instr_DEPENDENCIES)
+ @rm -f s390_runtime_instr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_runtime_instr_OBJECTS) $(s390_runtime_instr_LDADD) $(LIBS)
+
+s390_sthyi$(EXEEXT): $(s390_sthyi_OBJECTS) $(s390_sthyi_DEPENDENCIES) $(EXTRA_s390_sthyi_DEPENDENCIES)
+ @rm -f s390_sthyi$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_sthyi_OBJECTS) $(s390_sthyi_LDADD) $(LIBS)
+
+s390_sthyi-v$(EXEEXT): $(s390_sthyi_v_OBJECTS) $(s390_sthyi_v_DEPENDENCIES) $(EXTRA_s390_sthyi_v_DEPENDENCIES)
+ @rm -f s390_sthyi-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_sthyi_v_OBJECTS) $(s390_sthyi_v_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)
+
+seccomp_get_action_avail$(EXEEXT): $(seccomp_get_action_avail_OBJECTS) $(seccomp_get_action_avail_DEPENDENCIES) $(EXTRA_seccomp_get_action_avail_DEPENDENCIES)
+ @rm -f seccomp_get_action_avail$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(seccomp_get_action_avail_OBJECTS) $(seccomp_get_action_avail_LDADD) $(LIBS)
+
+select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES)
+ @rm -f select$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
+
+select-P$(EXEEXT): $(select_P_OBJECTS) $(select_P_DEPENDENCIES) $(EXTRA_select_P_DEPENDENCIES)
+ @rm -f select-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(select_P_OBJECTS) $(select_P_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)
+
+set_sigblock$(EXEEXT): $(set_sigblock_OBJECTS) $(set_sigblock_DEPENDENCIES) $(EXTRA_set_sigblock_DEPENDENCIES)
+ @rm -f set_sigblock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(set_sigblock_OBJECTS) $(set_sigblock_LDADD) $(LIBS)
+
+set_sigign$(EXEEXT): $(set_sigign_OBJECTS) $(set_sigign_DEPENDENCIES) $(EXTRA_set_sigign_DEPENDENCIES)
+ @rm -f set_sigign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(set_sigign_OBJECTS) $(set_sigign_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$(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)
+
+signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES)
+ @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)
+
+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)
+
+so_linger$(EXEEXT): $(so_linger_OBJECTS) $(so_linger_DEPENDENCIES) $(EXTRA_so_linger_DEPENDENCIES)
+ @rm -f so_linger$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(so_linger_OBJECTS) $(so_linger_LDADD) $(LIBS)
+
+so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA_so_peercred_DEPENDENCIES)
+ @rm -f so_peercred$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS)
+
+sock_filter-v$(EXEEXT): $(sock_filter_v_OBJECTS) $(sock_filter_v_DEPENDENCIES) $(EXTRA_sock_filter_v_DEPENDENCIES)
+ @rm -f sock_filter-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sock_filter_v_OBJECTS) $(sock_filter_v_LDADD) $(LIBS)
+
+socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES)
+ @rm -f socketcall$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
+
+sockopt-sol_netlink$(EXEEXT): $(sockopt_sol_netlink_OBJECTS) $(sockopt_sol_netlink_DEPENDENCIES) $(EXTRA_sockopt_sol_netlink_DEPENDENCIES)
+ @rm -f sockopt-sol_netlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sockopt_sol_netlink_OBJECTS) $(sockopt_sol_netlink_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)
+
+stack-fcall-mangled$(EXEEXT): $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_DEPENDENCIES) $(EXTRA_stack_fcall_mangled_DEPENDENCIES)
+ @rm -f stack-fcall-mangled$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_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)
+
+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)
+
+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)
+
+xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES)
+ @rm -f xet_thread_area_x86$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_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)
+
+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)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/_newselect-P.Po
+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)/block_reset_raise_run.Po
+include ./$(DEPDIR)/bpf-v.Po
+include ./$(DEPDIR)/bpf.Po
+include ./$(DEPDIR)/brk.Po
+include ./$(DEPDIR)/btrfs.Po
+include ./$(DEPDIR)/caps-abbrev.Po
+include ./$(DEPDIR)/caps.Po
+include ./$(DEPDIR)/check_sigblock.Po
+include ./$(DEPDIR)/check_sigign.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)/clone_parent.Po
+include ./$(DEPDIR)/clone_ptrace.Po
+include ./$(DEPDIR)/copy_file_range.Po
+include ./$(DEPDIR)/count-f.Po
+include ./$(DEPDIR)/creat.Po
+include ./$(DEPDIR)/delay.Po
+include ./$(DEPDIR)/delete_module.Po
+include ./$(DEPDIR)/dev-yy.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)/fflush.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-y.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)/group_req.Po
+include ./$(DEPDIR)/inet-cmsg.Po
+include ./$(DEPDIR)/init_module.Po
+include ./$(DEPDIR)/inject-nf.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_kvm_run.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)/is_linux_mips_n64.Po
+include ./$(DEPDIR)/kcmp-y.Po
+include ./$(DEPDIR)/kcmp.Po
+include ./$(DEPDIR)/kern_features.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-create_nl_socket.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-ifindex.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-test_printpath.Po
+include ./$(DEPDIR)/libtests_a-test_printstrn.Po
+include ./$(DEPDIR)/libtests_a-test_ucopy.Po
+include ./$(DEPDIR)/libtests_a-tprintf.Po
+include ./$(DEPDIR)/link.Po
+include ./$(DEPDIR)/linkat.Po
+include ./$(DEPDIR)/list_sigaction_signum.Po
+include ./$(DEPDIR)/llseek.Po
+include ./$(DEPDIR)/localtime.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)/modify_ldt.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-inet6.Po
+include ./$(DEPDIR)/net-yy-netlink.Po
+include ./$(DEPDIR)/net-yy-unix.Po
+include ./$(DEPDIR)/netlink_audit.Po
+include ./$(DEPDIR)/netlink_crypto.Po
+include ./$(DEPDIR)/netlink_generic.Po
+include ./$(DEPDIR)/netlink_inet_diag.Po
+include ./$(DEPDIR)/netlink_kobject_uevent.Po
+include ./$(DEPDIR)/netlink_netfilter.Po
+include ./$(DEPDIR)/netlink_netlink_diag.Po
+include ./$(DEPDIR)/netlink_protocol.Po
+include ./$(DEPDIR)/netlink_route.Po
+include ./$(DEPDIR)/netlink_selinux.Po
+include ./$(DEPDIR)/netlink_sock_diag.Po
+include ./$(DEPDIR)/netlink_unix_diag.Po
+include ./$(DEPDIR)/netlink_xfrm.Po
+include ./$(DEPDIR)/newfstatat-newfstatat.Po
+include ./$(DEPDIR)/nfnetlink_acct.Po
+include ./$(DEPDIR)/nfnetlink_cthelper.Po
+include ./$(DEPDIR)/nfnetlink_ctnetlink.Po
+include ./$(DEPDIR)/nfnetlink_ctnetlink_exp.Po
+include ./$(DEPDIR)/nfnetlink_cttimeout.Po
+include ./$(DEPDIR)/nfnetlink_ipset.Po
+include ./$(DEPDIR)/nfnetlink_nft_compat.Po
+include ./$(DEPDIR)/nfnetlink_nftables.Po
+include ./$(DEPDIR)/nfnetlink_osf.Po
+include ./$(DEPDIR)/nfnetlink_queue.Po
+include ./$(DEPDIR)/nfnetlink_ulog.Po
+include ./$(DEPDIR)/nlattr.Po
+include ./$(DEPDIR)/nlattr_br_port_msg.Po
+include ./$(DEPDIR)/nlattr_crypto_user_alg.Po
+include ./$(DEPDIR)/nlattr_dcbmsg.Po
+include ./$(DEPDIR)/nlattr_fib_rule_hdr.Po
+include ./$(DEPDIR)/nlattr_ifaddrlblmsg.Po
+include ./$(DEPDIR)/nlattr_ifaddrmsg.Po
+include ./$(DEPDIR)/nlattr_ifinfomsg.Po
+include ./$(DEPDIR)/nlattr_ifla_brport.Po
+include ./$(DEPDIR)/nlattr_ifla_port.Po
+include ./$(DEPDIR)/nlattr_ifla_xdp.Po
+include ./$(DEPDIR)/nlattr_inet_diag_msg.Po
+include ./$(DEPDIR)/nlattr_inet_diag_req_compat.Po
+include ./$(DEPDIR)/nlattr_inet_diag_req_v2.Po
+include ./$(DEPDIR)/nlattr_mdba_mdb_entry.Po
+include ./$(DEPDIR)/nlattr_mdba_router_port.Po
+include ./$(DEPDIR)/nlattr_ndmsg.Po
+include ./$(DEPDIR)/nlattr_ndtmsg.Po
+include ./$(DEPDIR)/nlattr_netconfmsg.Po
+include ./$(DEPDIR)/nlattr_netlink_diag_msg.Po
+include ./$(DEPDIR)/nlattr_nlmsgerr.Po
+include ./$(DEPDIR)/nlattr_packet_diag_msg.Po
+include ./$(DEPDIR)/nlattr_rtgenmsg.Po
+include ./$(DEPDIR)/nlattr_rtmsg.Po
+include ./$(DEPDIR)/nlattr_smc_diag_msg.Po
+include ./$(DEPDIR)/nlattr_tc_stats.Po
+include ./$(DEPDIR)/nlattr_tca_stab.Po
+include ./$(DEPDIR)/nlattr_tcamsg.Po
+include ./$(DEPDIR)/nlattr_tcmsg.Po
+include ./$(DEPDIR)/nlattr_unix_diag_msg.Po
+include ./$(DEPDIR)/nsyscalls-d.Po
+include ./$(DEPDIR)/nsyscalls.Po
+include ./$(DEPDIR)/old_mmap-P.Po
+include ./$(DEPDIR)/old_mmap-v-none.Po
+include ./$(DEPDIR)/old_mmap.Po
+include ./$(DEPDIR)/oldfstat.Po
+include ./$(DEPDIR)/oldlstat.Po
+include ./$(DEPDIR)/oldselect-P.Po
+include ./$(DEPDIR)/oldselect-efault-P.Po
+include ./$(DEPDIR)/oldselect-efault.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-P.Po
+include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll-P.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)/printpath-umovestr-peekdata.Po
+include ./$(DEPDIR)/printpath-umovestr-undumpable.Po
+include ./$(DEPDIR)/printpath-umovestr.Po
+include ./$(DEPDIR)/printstr.Po
+include ./$(DEPDIR)/printstrn-umoven-peekdata.Po
+include ./$(DEPDIR)/printstrn-umoven-undumpable.Po
+include ./$(DEPDIR)/printstrn-umoven.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)/riscv_flush_icache.Po
+include ./$(DEPDIR)/rmdir.Po
+include ./$(DEPDIR)/rt_sigaction.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)/run_expect_termsig.Po
+include ./$(DEPDIR)/s390_guarded_storage-v.Po
+include ./$(DEPDIR)/s390_guarded_storage.Po
+include ./$(DEPDIR)/s390_pci_mmio_read_write.Po
+include ./$(DEPDIR)/s390_runtime_instr.Po
+include ./$(DEPDIR)/s390_sthyi-v.Po
+include ./$(DEPDIR)/s390_sthyi.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)/seccomp_get_action_avail.Po
+include ./$(DEPDIR)/select-P.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)/set_sigblock.Po
+include ./$(DEPDIR)/set_sigign.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.Po
+include ./$(DEPDIR)/signal_receive.Po
+include ./$(DEPDIR)/signalfd4.Po
+include ./$(DEPDIR)/sigpending.Po
+include ./$(DEPDIR)/sigprocmask.Po
+include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sigsuspend.Po
+include ./$(DEPDIR)/sleep.Po
+include ./$(DEPDIR)/so_linger.Po
+include ./$(DEPDIR)/so_peercred.Po
+include ./$(DEPDIR)/sock_filter-v.Po
+include ./$(DEPDIR)/socketcall.Po
+include ./$(DEPDIR)/sockopt-sol_netlink.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-mangled-0.Po
+include ./$(DEPDIR)/stack-fcall-mangled-1.Po
+include ./$(DEPDIR)/stack-fcall-mangled-2.Po
+include ./$(DEPDIR)/stack-fcall-mangled-3.Po
+include ./$(DEPDIR)/stack-fcall-mangled.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)/unblock_reset_raise.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)/xet_thread_area_x86.Po
+include ./$(DEPDIR)/xetitimer.Po
+include ./$(DEPDIR)/xetpgid.Po
+include ./$(DEPDIR)/xetpriority.Po
+include ./$(DEPDIR)/xettimeofday.Po
+include ./$(DEPDIR)/zeroargc.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-create_nl_socket.o: create_nl_socket.c
+ $(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_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+# $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.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-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_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_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+# $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.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-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_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-ifindex.o: ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-ifindex.o -MD -MP -MF $(DEPDIR)/libtests_a-ifindex.Tpo -c -o libtests_a-ifindex.o `test -f 'ifindex.c' || echo '$(srcdir)/'`ifindex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-ifindex.Tpo $(DEPDIR)/libtests_a-ifindex.Po
+# $(AM_V_CC)source='ifindex.c' object='libtests_a-ifindex.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-ifindex.o `test -f 'ifindex.c' || echo '$(srcdir)/'`ifindex.c
+
+libtests_a-ifindex.obj: ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-ifindex.obj -MD -MP -MF $(DEPDIR)/libtests_a-ifindex.Tpo -c -o libtests_a-ifindex.obj `if test -f 'ifindex.c'; then $(CYGPATH_W) 'ifindex.c'; else $(CYGPATH_W) '$(srcdir)/ifindex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-ifindex.Tpo $(DEPDIR)/libtests_a-ifindex.Po
+# $(AM_V_CC)source='ifindex.c' object='libtests_a-ifindex.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-ifindex.obj `if test -f 'ifindex.c'; then $(CYGPATH_W) 'ifindex.c'; else $(CYGPATH_W) '$(srcdir)/ifindex.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-test_printpath.o: test_printpath.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printpath.o -MD -MP -MF $(DEPDIR)/libtests_a-test_printpath.Tpo -c -o libtests_a-test_printpath.o `test -f 'test_printpath.c' || echo '$(srcdir)/'`test_printpath.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printpath.Tpo $(DEPDIR)/libtests_a-test_printpath.Po
+# $(AM_V_CC)source='test_printpath.c' object='libtests_a-test_printpath.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-test_printpath.o `test -f 'test_printpath.c' || echo '$(srcdir)/'`test_printpath.c
+
+libtests_a-test_printpath.obj: test_printpath.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printpath.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_printpath.Tpo -c -o libtests_a-test_printpath.obj `if test -f 'test_printpath.c'; then $(CYGPATH_W) 'test_printpath.c'; else $(CYGPATH_W) '$(srcdir)/test_printpath.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printpath.Tpo $(DEPDIR)/libtests_a-test_printpath.Po
+# $(AM_V_CC)source='test_printpath.c' object='libtests_a-test_printpath.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-test_printpath.obj `if test -f 'test_printpath.c'; then $(CYGPATH_W) 'test_printpath.c'; else $(CYGPATH_W) '$(srcdir)/test_printpath.c'; fi`
+
+libtests_a-test_printstrn.o: test_printstrn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printstrn.o -MD -MP -MF $(DEPDIR)/libtests_a-test_printstrn.Tpo -c -o libtests_a-test_printstrn.o `test -f 'test_printstrn.c' || echo '$(srcdir)/'`test_printstrn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printstrn.Tpo $(DEPDIR)/libtests_a-test_printstrn.Po
+# $(AM_V_CC)source='test_printstrn.c' object='libtests_a-test_printstrn.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-test_printstrn.o `test -f 'test_printstrn.c' || echo '$(srcdir)/'`test_printstrn.c
+
+libtests_a-test_printstrn.obj: test_printstrn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printstrn.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_printstrn.Tpo -c -o libtests_a-test_printstrn.obj `if test -f 'test_printstrn.c'; then $(CYGPATH_W) 'test_printstrn.c'; else $(CYGPATH_W) '$(srcdir)/test_printstrn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printstrn.Tpo $(DEPDIR)/libtests_a-test_printstrn.Po
+# $(AM_V_CC)source='test_printstrn.c' object='libtests_a-test_printstrn.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-test_printstrn.obj `if test -f 'test_printstrn.c'; then $(CYGPATH_W) 'test_printstrn.c'; else $(CYGPATH_W) '$(srcdir)/test_printstrn.c'; fi`
+
+libtests_a-test_ucopy.o: test_ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_ucopy.o -MD -MP -MF $(DEPDIR)/libtests_a-test_ucopy.Tpo -c -o libtests_a-test_ucopy.o `test -f 'test_ucopy.c' || echo '$(srcdir)/'`test_ucopy.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_ucopy.Tpo $(DEPDIR)/libtests_a-test_ucopy.Po
+# $(AM_V_CC)source='test_ucopy.c' object='libtests_a-test_ucopy.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-test_ucopy.o `test -f 'test_ucopy.c' || echo '$(srcdir)/'`test_ucopy.c
+
+libtests_a-test_ucopy.obj: test_ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_ucopy.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_ucopy.Tpo -c -o libtests_a-test_ucopy.obj `if test -f 'test_ucopy.c'; then $(CYGPATH_W) 'test_ucopy.c'; else $(CYGPATH_W) '$(srcdir)/test_ucopy.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_ucopy.Tpo $(DEPDIR)/libtests_a-test_ucopy.Po
+# $(AM_V_CC)source='test_ucopy.c' object='libtests_a-test_ucopy.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-test_ucopy.obj `if test -f 'test_ucopy.c'; then $(CYGPATH_W) 'test_ucopy.c'; else $(CYGPATH_W) '$(srcdir)/test_ucopy.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:
+check-valgrind-memcheck-local:
+check-valgrind-helgrind-local:
+check-valgrind-drd-local:
+check-valgrind-sgcheck-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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+check-valgrind: check-valgrind-am
+
+check-valgrind-am: check-valgrind-local
+
+check-valgrind-drd: check-valgrind-drd-am
+
+check-valgrind-drd-am: check-valgrind-drd-local
+
+check-valgrind-helgrind: check-valgrind-helgrind-am
+
+check-valgrind-helgrind-am: check-valgrind-helgrind-local
+
+check-valgrind-memcheck: check-valgrind-memcheck-am
+
+check-valgrind-memcheck-am: check-valgrind-memcheck-local
+
+check-valgrind-sgcheck: check-valgrind-sgcheck-am
+
+check-valgrind-sgcheck-am: check-valgrind-sgcheck-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: all check check-am install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
+ check-valgrind-am check-valgrind-drd-am \
+ check-valgrind-drd-local check-valgrind-helgrind-am \
+ check-valgrind-helgrind-local check-valgrind-local \
+ check-valgrind-memcheck-am check-valgrind-memcheck-local \
+ check-valgrind-sgcheck-am check-valgrind-sgcheck-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)/_newselect-P.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)/bpf-v.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)/dev-yy.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)/fsync-y.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)/group_req.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_dm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_dm-v.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_kvm_run.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-nv.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_nsfs.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_sock_gifconf.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)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kern_features.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)/modify_ldt.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)/net-yy-inet6.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_crypto.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_kobject_uevent.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)/nfnetlink_acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_cthelper.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ctnetlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ctnetlink_exp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_cttimeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ipset.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_nft_compat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_nftables.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_osf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_queue.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ulog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_crypto_user_alg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_br_port_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_dcbmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_fib_rule_hdr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifaddrlblmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_brport.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_port.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_xdp.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_inet_diag_req_compat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_req_v2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_mdba_mdb_entry.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_mdba_router_port.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ndmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ndtmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netconfmsg.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_nlmsgerr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_packet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_rtgenmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_rtmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_smc_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tc_stats.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tca_stab.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tcamsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tcmsg.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)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap-v-none.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)/oldselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-efault.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-efault-P.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-P.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)/printpath-umovestr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printpath-umovestr-peekdata.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printpath-umovestr-undumpable.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven-peekdata.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven-undumpable.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)/riscv_flush_icache.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)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_guarded_storage-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_pci_mmio_read_write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_runtime_instr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_sthyi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_sthyi-v.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)/seccomp_get_action_avail.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)/select-P.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)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sock_filter-v.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)/sockopt-sol_netlink.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)$(MAKE) $(AM_MAKEFLAGS) -k \
+ $(foreach tool, $(valgrind_enabled_tools), 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)
+
+.PHONY: check-valgrind-local
+check-valgrind-local: $(check_LIBRARIES) $(check_PROGRAMS)
+
+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
+ 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
index f0aed3f3..0b24c36d 100644
--- a/tests-m32/Makefile.am
+++ b/tests-m32/Makefile.am
@@ -42,7 +42,9 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(top_builddir)/$(OS) \
-I$(top_srcdir)/$(OS) \
-I$(top_builddir) \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
@@ -97,13 +99,16 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
clone_parent \
clone_ptrace \
count-f \
+ delay \
execve-v \
execveat-v \
filter-unavailable \
fork-f \
+ fsync-y \
getpid \
getppid \
gettid \
+ inject-nf \
int_0x80 \
ioctl_dm-v \
ioctl_evdev-v \
@@ -114,6 +119,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
is_linux_mips_n64 \
ksysent \
list_sigaction_signum \
+ localtime \
mmsg-silent \
mmsg_name-v \
msg_control-v \
@@ -163,19 +169,17 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
zeroargc \
# end of check_PROGRAMS
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
+attach_f_p_LDADD = -lpthread $(LDADD)
count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
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)
+mq_LDADD = $(mq_LIBS) $(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
@@ -184,8 +188,8 @@ 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)
+threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(LDADD)
truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
@@ -222,6 +226,7 @@ DECODER_TESTS = \
getuid.test \
ioctl.test \
ipc_msgbuf.test \
+ kern_features-fault.test \
llseek.test \
lseek.test \
mmap.test \
@@ -274,6 +279,7 @@ MISC_TESTS = \
clone_ptrace.test \
count-f.test \
count.test \
+ delay.test \
detach-running.test \
detach-sleeping.test \
detach-stopped.test \
@@ -282,8 +288,10 @@ MISC_TESTS = \
filtering_syscall-syntax.test \
fflush.test \
get_regs.test \
+ inject-nf.test \
interactive_block.test \
ksysent.test \
+ localtime.test \
opipe.test \
options-syntax.test \
pc.test \
diff --git a/tests-m32/Makefile.in b/tests-m32/Makefile.in
index 9469c444..efe84dde 100644
--- a/tests-m32/Makefile.in
+++ b/tests-m32/Makefile.in
@@ -142,18 +142,19 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
block_reset_raise_run$(EXEEXT) caps-abbrev$(EXEEXT) \
check_sigblock$(EXEEXT) check_sigign$(EXEEXT) \
clone_parent$(EXEEXT) clone_ptrace$(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) \
+ delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
+ getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \
+ inject-nf$(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) \
is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \
- list_sigaction_signum$(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) nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
+ list_sigaction_signum$(EXEEXT) localtime$(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) \
+ nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
oldselect-efault-P$(EXEEXT) pc$(EXEEXT) \
perf_event_open_nonverbose$(EXEEXT) \
perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
@@ -179,7 +180,7 @@ 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/bpf_attr.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
@@ -227,12 +228,12 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \
+ delete_module$(EXEEXT) dev-yy$(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) \
@@ -262,8 +263,9 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
iopl$(EXEEXT) ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) \
ipc_msg$(EXEEXT) ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) \
ipc_shm$(EXEEXT) kcmp$(EXEEXT) kcmp-y$(EXEEXT) \
- kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \
- kill$(EXEEXT) lchown$(EXEEXT) lchown32$(EXEEXT) link$(EXEEXT) \
+ kern_features$(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) \
@@ -277,24 +279,25 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_audit$(EXEEXT) netlink_crypto$(EXEEXT) \
- netlink_generic$(EXEEXT) netlink_kobject_uevent$(EXEEXT) \
- netlink_netfilter$(EXEEXT) netlink_protocol$(EXEEXT) \
- netlink_route$(EXEEXT) netlink_selinux$(EXEEXT) \
- netlink_sock_diag$(EXEEXT) netlink_xfrm$(EXEEXT) \
- newfstatat$(EXEEXT) nfnetlink_acct$(EXEEXT) \
- nfnetlink_cthelper$(EXEEXT) nfnetlink_ctnetlink$(EXEEXT) \
- nfnetlink_ctnetlink_exp$(EXEEXT) nfnetlink_cttimeout$(EXEEXT) \
- nfnetlink_nft_compat$(EXEEXT) nfnetlink_nftables$(EXEEXT) \
- nfnetlink_ipset$(EXEEXT) nfnetlink_osf$(EXEEXT) \
- nfnetlink_queue$(EXEEXT) nfnetlink_ulog$(EXEEXT) \
- nlattr$(EXEEXT) nlattr_crypto_user_alg$(EXEEXT) \
- nlattr_br_port_msg$(EXEEXT) nlattr_dcbmsg$(EXEEXT) \
- nlattr_fib_rule_hdr$(EXEEXT) nlattr_ifaddrlblmsg$(EXEEXT) \
- nlattr_ifaddrmsg$(EXEEXT) nlattr_ifinfomsg$(EXEEXT) \
- nlattr_ifla_brport$(EXEEXT) nlattr_ifla_port$(EXEEXT) \
- nlattr_ifla_xdp$(EXEEXT) nlattr_inet_diag_msg$(EXEEXT) \
+ net-yy-inet6$(EXEEXT) net-yy-netlink$(EXEEXT) \
+ net-yy-unix$(EXEEXT) netlink_audit$(EXEEXT) \
+ netlink_crypto$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_kobject_uevent$(EXEEXT) netlink_netfilter$(EXEEXT) \
+ netlink_protocol$(EXEEXT) netlink_route$(EXEEXT) \
+ netlink_selinux$(EXEEXT) netlink_sock_diag$(EXEEXT) \
+ netlink_xfrm$(EXEEXT) newfstatat$(EXEEXT) \
+ nfnetlink_acct$(EXEEXT) nfnetlink_cthelper$(EXEEXT) \
+ nfnetlink_ctnetlink$(EXEEXT) nfnetlink_ctnetlink_exp$(EXEEXT) \
+ nfnetlink_cttimeout$(EXEEXT) nfnetlink_nft_compat$(EXEEXT) \
+ nfnetlink_nftables$(EXEEXT) nfnetlink_ipset$(EXEEXT) \
+ nfnetlink_osf$(EXEEXT) nfnetlink_queue$(EXEEXT) \
+ nfnetlink_ulog$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_crypto_user_alg$(EXEEXT) nlattr_br_port_msg$(EXEEXT) \
+ nlattr_dcbmsg$(EXEEXT) nlattr_fib_rule_hdr$(EXEEXT) \
+ nlattr_ifaddrlblmsg$(EXEEXT) nlattr_ifaddrmsg$(EXEEXT) \
+ nlattr_ifinfomsg$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \
+ nlattr_ifla_port$(EXEEXT) nlattr_ifla_xdp$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) \
nlattr_inet_diag_req_compat$(EXEEXT) \
nlattr_inet_diag_req_v2$(EXEEXT) \
nlattr_mdba_mdb_entry$(EXEEXT) \
@@ -500,7 +503,8 @@ 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)
+clock_xettime_LDADD = $(LDADD)
+clock_xettime_DEPENDENCIES = libtests.a
clone_parent_SOURCES = clone_parent.c
clone_parent_OBJECTS = clone_parent.$(OBJEXT)
clone_parent_LDADD = $(LDADD)
@@ -520,10 +524,18 @@ creat_SOURCES = creat.c
creat_OBJECTS = creat.$(OBJEXT)
creat_LDADD = $(LDADD)
creat_DEPENDENCIES = libtests.a
+delay_SOURCES = delay.c
+delay_OBJECTS = delay.$(OBJEXT)
+am__DEPENDENCIES_1 =
+delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
delete_module_SOURCES = delete_module.c
delete_module_OBJECTS = delete_module.$(OBJEXT)
delete_module_LDADD = $(LDADD)
delete_module_DEPENDENCIES = libtests.a
+dev_yy_SOURCES = dev-yy.c
+dev_yy_OBJECTS = dev-yy.$(OBJEXT)
+dev_yy_LDADD = $(LDADD)
+dev_yy_DEPENDENCIES = libtests.a
dup_SOURCES = dup.c
dup_OBJECTS = dup.$(OBJEXT)
dup_LDADD = $(LDADD)
@@ -691,6 +703,10 @@ fsync_SOURCES = fsync.c
fsync_OBJECTS = fsync.$(OBJEXT)
fsync_LDADD = $(LDADD)
fsync_DEPENDENCIES = libtests.a
+fsync_y_SOURCES = fsync-y.c
+fsync_y_OBJECTS = fsync-y.$(OBJEXT)
+fsync_y_LDADD = $(LDADD)
+fsync_y_DEPENDENCIES = libtests.a
ftruncate_SOURCES = ftruncate.c
ftruncate_OBJECTS = ftruncate.$(OBJEXT)
ftruncate_LDADD = $(LDADD)
@@ -839,6 +855,10 @@ init_module_SOURCES = init_module.c
init_module_OBJECTS = init_module.$(OBJEXT)
init_module_LDADD = $(LDADD)
init_module_DEPENDENCIES = libtests.a
+inject_nf_SOURCES = inject-nf.c
+inject_nf_OBJECTS = inject-nf.$(OBJEXT)
+inject_nf_LDADD = $(LDADD)
+inject_nf_DEPENDENCIES = libtests.a
inotify_SOURCES = inotify.c
inotify_OBJECTS = inotify.$(OBJEXT)
inotify_LDADD = $(LDADD)
@@ -979,6 +999,10 @@ kcmp_y_SOURCES = kcmp-y.c
kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
kcmp_y_LDADD = $(LDADD)
kcmp_y_DEPENDENCIES = libtests.a
+kern_features_SOURCES = kern_features.c
+kern_features_OBJECTS = kern_features.$(OBJEXT)
+kern_features_LDADD = $(LDADD)
+kern_features_DEPENDENCIES = libtests.a
kexec_file_load_SOURCES = kexec_file_load.c
kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
kexec_file_load_LDADD = $(LDADD)
@@ -1023,6 +1047,9 @@ llseek_SOURCES = llseek.c
llseek_OBJECTS = llseek.$(OBJEXT)
llseek_LDADD = $(LDADD)
llseek_DEPENDENCIES = libtests.a
+localtime_SOURCES = localtime.c
+localtime_OBJECTS = localtime.$(OBJEXT)
+localtime_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
lookup_dcookie_SOURCES = lookup_dcookie.c
lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
lookup_dcookie_LDADD = $(LDADD)
@@ -1129,16 +1156,19 @@ move_pages_LDADD = $(LDADD)
move_pages_DEPENDENCIES = libtests.a
mq_SOURCES = mq.c
mq_OBJECTS = mq.$(OBJEXT)
-mq_DEPENDENCIES = $(LDADD)
+mq_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
mq_sendrecv_SOURCES = mq_sendrecv.c
mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
-mq_sendrecv_DEPENDENCIES = $(LDADD)
+mq_sendrecv_LDADD = $(LDADD)
+mq_sendrecv_DEPENDENCIES = libtests.a
mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
-mq_sendrecv_read_DEPENDENCIES = $(LDADD)
+mq_sendrecv_read_LDADD = $(LDADD)
+mq_sendrecv_read_DEPENDENCIES = libtests.a
mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
-mq_sendrecv_write_DEPENDENCIES = $(LDADD)
+mq_sendrecv_write_LDADD = $(LDADD)
+mq_sendrecv_write_DEPENDENCIES = libtests.a
msg_control_SOURCES = msg_control.c
msg_control_OBJECTS = msg_control.$(OBJEXT)
msg_control_LDADD = $(LDADD)
@@ -1179,6 +1209,10 @@ 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_inet6_SOURCES = net-yy-inet6.c
+net_yy_inet6_OBJECTS = net-yy-inet6.$(OBJEXT)
+net_yy_inet6_LDADD = $(LDADD)
+net_yy_inet6_DEPENDENCIES = libtests.a
net_yy_netlink_SOURCES = net-yy-netlink.c
net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
net_yy_netlink_LDADD = $(LDADD)
@@ -1474,7 +1508,6 @@ 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)
@@ -2147,7 +2180,7 @@ tee_LDADD = $(LDADD)
tee_DEPENDENCIES = libtests.a
threads_execve_SOURCES = threads-execve.c
threads_execve_OBJECTS = threads-execve.$(OBJEXT)
-threads_execve_DEPENDENCIES = $(LDADD)
+threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
time_SOURCES = time.c
time_OBJECTS = time.$(OBJEXT)
time_LDADD = $(LDADD)
@@ -2166,7 +2199,7 @@ timerfd_xettime_LDADD = $(LDADD)
timerfd_xettime_DEPENDENCIES = libtests.a
times_SOURCES = times.c
times_OBJECTS = times.$(OBJEXT)
-times_DEPENDENCIES = $(LDADD)
+times_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
times_fail_SOURCES = times-fail.c
times_fail_OBJECTS = times-fail.$(OBJEXT)
times_fail_LDADD = $(LDADD)
@@ -2375,8 +2408,8 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
btrfs.c caps.c caps-abbrev.c check_sigblock.c check_sigign.c \
chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
clock_nanosleep.c clock_xettime.c clone_parent.c \
- clone_ptrace.c copy_file_range.c count-f.c creat.c \
- delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+ clone_ptrace.c copy_file_range.c count-f.c creat.c delay.c \
+ delete_module.c dev-yy.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 \
@@ -2384,7 +2417,7 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
fdatasync.c fflush.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 \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.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 \
@@ -2392,31 +2425,32 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 group_req.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 \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.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 modify_ldt.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_crypto.c \
- netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.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 \
- nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
@@ -2498,15 +2532,15 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
check_sigblock.c check_sigign.c chmod.c chown.c chown32.c \
chroot.c clock_adjtime.c clock_nanosleep.c clock_xettime.c \
clone_parent.c clone_ptrace.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 \
+ creat.c delay.c delete_module.c dev-yy.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 fflush.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 \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.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 \
@@ -2514,31 +2548,32 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 group_req.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 \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.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 modify_ldt.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_crypto.c \
- netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.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 \
- nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
@@ -2949,6 +2984,7 @@ build_vendor = @build_vendor@
builddir = @builddir@
cc_flags_m32 = @cc_flags_m32@
cc_flags_mx32 = @cc_flags_mx32@
+clock_LIBS = @clock_LIBS@
datadir = @datadir@
datarootdir = @datarootdir@
dl_LIBS = @dl_LIBS@
@@ -2976,6 +3012,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+mq_LIBS = @mq_LIBS@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -2986,6 +3023,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+timer_LIBS = @timer_LIBS@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -3005,7 +3043,9 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(top_builddir)/$(OS) \
-I$(top_srcdir)/$(OS) \
-I$(top_builddir) \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
@@ -3071,6 +3111,7 @@ PURE_EXECUTABLES = \
copy_file_range \
creat \
delete_module \
+ dev-yy \
dup \
dup2 \
dup3 \
@@ -3172,6 +3213,7 @@ PURE_EXECUTABLES = \
ipc_shm \
kcmp \
kcmp-y \
+ kern_features \
kexec_file_load \
kexec_load \
keyctl \
@@ -3217,6 +3259,7 @@ PURE_EXECUTABLES = \
net-sockaddr \
net-y-unix \
net-yy-inet \
+ net-yy-inet6 \
net-yy-netlink \
net-yy-unix \
netlink_audit \
@@ -3462,19 +3505,17 @@ PURE_EXECUTABLES = \
xettimeofday \
#
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
+attach_f_p_LDADD = -lpthread $(LDADD)
count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
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)
+mq_LDADD = $(mq_LIBS) $(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
@@ -3483,8 +3524,8 @@ 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)
+threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(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 \
@@ -3503,19 +3544,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \
+ delete_module.gen.test dev-yy.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 \
+ fsync-y.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 \
@@ -3539,38 +3581,39 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \
- kcmp-y.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 \
- modify_ldt.gen.test mount.gen.test move_pages.gen.test \
- mq.gen.test mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+ kcmp-y.gen.test kern_features.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 modify_ldt.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_crypto.gen.test netlink_generic.gen.test \
- netlink_kobject_uevent.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 nfnetlink_acct.gen.test \
- nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test \
- nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test \
- nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test \
- nfnetlink_nftables.gen.test nfnetlink_osf.gen.test \
- nfnetlink_queue.gen.test nfnetlink_ulog.gen.test \
- nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test \
- nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test \
- nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test \
- nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test \
- nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test \
- nlattr_inet_diag_msg.gen.test \
+ net-sockaddr.gen.test net-yy-inet6.gen.test \
+ netlink_audit.gen.test netlink_crypto.gen.test \
+ netlink_generic.gen.test netlink_kobject_uevent.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 \
+ nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test \
+ nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test \
+ nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test \
+ nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test \
+ nfnetlink_osf.gen.test nfnetlink_queue.gen.test \
+ nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test \
+ nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test \
+ nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test \
+ nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test \
+ nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test \
+ nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test \
nlattr_inet_diag_req_compat.gen.test \
nlattr_inet_diag_req_v2.gen.test \
nlattr_mdba_mdb_entry.gen.test \
@@ -3674,6 +3717,7 @@ DECODER_TESTS = \
getuid.test \
ioctl.test \
ipc_msgbuf.test \
+ kern_features-fault.test \
llseek.test \
lseek.test \
mmap.test \
@@ -3726,6 +3770,7 @@ MISC_TESTS = \
clone_ptrace.test \
count-f.test \
count.test \
+ delay.test \
detach-running.test \
detach-sleeping.test \
detach-stopped.test \
@@ -3734,8 +3779,10 @@ MISC_TESTS = \
filtering_syscall-syntax.test \
fflush.test \
get_regs.test \
+ inject-nf.test \
interactive_block.test \
ksysent.test \
+ localtime.test \
opipe.test \
options-syntax.test \
pc.test \
@@ -4062,10 +4109,18 @@ creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIE
@rm -f creat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
+delay$(EXEEXT): $(delay_OBJECTS) $(delay_DEPENDENCIES) $(EXTRA_delay_DEPENDENCIES)
+ @rm -f delay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delay_OBJECTS) $(delay_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)
+dev-yy$(EXEEXT): $(dev_yy_OBJECTS) $(dev_yy_DEPENDENCIES) $(EXTRA_dev_yy_DEPENDENCIES)
+ @rm -f dev-yy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dev_yy_OBJECTS) $(dev_yy_LDADD) $(LIBS)
+
dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES)
@rm -f dup$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
@@ -4234,6 +4289,10 @@ fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIE
@rm -f fsync$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
+fsync-y$(EXEEXT): $(fsync_y_OBJECTS) $(fsync_y_DEPENDENCIES) $(EXTRA_fsync_y_DEPENDENCIES)
+ @rm -f fsync-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsync_y_OBJECTS) $(fsync_y_LDADD) $(LIBS)
+
ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES)
@rm -f ftruncate$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
@@ -4382,6 +4441,10 @@ init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA
@rm -f init_module$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
+inject-nf$(EXEEXT): $(inject_nf_OBJECTS) $(inject_nf_DEPENDENCIES) $(EXTRA_inject_nf_DEPENDENCIES)
+ @rm -f inject-nf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(inject_nf_OBJECTS) $(inject_nf_LDADD) $(LIBS)
+
inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES)
@rm -f inotify$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
@@ -4522,6 +4585,10 @@ kcmp-y$(EXEEXT): $(kcmp_y_OBJECTS) $(kcmp_y_DEPENDENCIES) $(EXTRA_kcmp_y_DEPENDE
@rm -f kcmp-y$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
+kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES)
+ @rm -f kern_features$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_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)
@@ -4566,6 +4633,10 @@ llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDE
@rm -f llseek$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+localtime$(EXEEXT): $(localtime_OBJECTS) $(localtime_DEPENDENCIES) $(EXTRA_localtime_DEPENDENCIES)
+ @rm -f localtime$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(localtime_OBJECTS) $(localtime_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)
@@ -4726,6 +4797,10 @@ net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA
@rm -f net-yy-inet$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
+net-yy-inet6$(EXEEXT): $(net_yy_inet6_OBJECTS) $(net_yy_inet6_DEPENDENCIES) $(EXTRA_net_yy_inet6_DEPENDENCIES)
+ @rm -f net-yy-inet6$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(net_yy_inet6_OBJECTS) $(net_yy_inet6_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)
@@ -5912,7 +5987,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy_file_range.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/count-f.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dev-yy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup3.Po@am__quote@
@@ -5954,6 +6031,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat64-fstatat64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync-y.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate64-ftruncate64.Po@am__quote@
@@ -5992,6 +6070,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group_req.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet-cmsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inject-nf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify_init1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int_0x80.Po@am__quote@
@@ -6027,6 +6106,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_file_load.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_load.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@
@@ -6064,6 +6144,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
@@ -6104,6 +6185,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-y-unix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.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@
@@ -7443,6 +7525,9 @@ $(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/dev-yy.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) $^ $@
@@ -7551,6 +7636,9 @@ $(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/fsync-y.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) $^ $@
@@ -7752,6 +7840,9 @@ $(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/kern_features.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) $^ $@
@@ -7881,6 +7972,9 @@ $(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)/net-yy-inet6.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) $^ $@
diff --git a/tests-m32/bpf.c b/tests-m32/bpf.c
index 3f963fa3..72d7e8e5 100644
--- a/tests-m32/bpf.c
+++ b/tests-m32/bpf.c
@@ -2,6 +2,7 @@
* Check bpf syscall decoding.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -28,29 +29,75 @@
*/
#include "tests.h"
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+
#include <asm/unistd.h>
+#include "scno.h"
-#if defined __NR_bpf \
- && (defined HAVE_UNION_BPF_ATTR_ATTACH_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_BPF_FD \
- || defined HAVE_UNION_BPF_ATTR_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_INFO_INFO \
- || defined HAVE_UNION_BPF_ATTR_NEXT_ID \
- || defined HAVE_UNION_BPF_ATTR_NUMA_NODE \
- || defined HAVE_UNION_BPF_ATTR_PROG_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_TEST_DURATION)
-
-# include <stddef.h>
-# include <stdio.h>
-# include <stdint.h>
-# include <string.h>
-# include <unistd.h>
+#ifdef HAVE_LINUX_BPF_H
# include <linux/bpf.h>
-# include "print_fields.h"
+#endif
+
+#include "bpf_attr.h"
+#include "print_fields.h"
+
+#include "xlat.h"
+#include "xlat/bpf_commands.h"
+
+#ifndef HAVE_STRUCT_BPF_INSN
+struct bpf_insn {
+ uint8_t code;
+ uint8_t dst_reg:4;
+ uint8_t src_reg:4;
+ int16_t off;
+ int32_t imm;
+};
+#endif
+
+#define BPF_ATTR_DATA_FIELD(cmd_) struct cmd_ ## _struct cmd_ ## _data
+
+union bpf_attr_data {
+ BPF_ATTR_DATA_FIELD(BPF_MAP_CREATE);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_LOOKUP_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_UPDATE_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_DELETE_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_GET_NEXT_KEY);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_LOAD);
+ BPF_ATTR_DATA_FIELD(BPF_OBJ_PIN);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_ATTACH);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_DETACH);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_TEST_RUN);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_GET_NEXT_ID);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_GET_FD_BY_ID);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_GET_FD_BY_ID);
+ BPF_ATTR_DATA_FIELD(BPF_OBJ_GET_INFO_BY_FD);
+ char char_data[256];
+};
+
+struct bpf_attr_check {
+ union bpf_attr_data data;
+ size_t size;
+ const char *str;
+ void (*init_fn)(struct bpf_attr_check *check);
+ void (*print_fn)(const struct bpf_attr_check *check,
+ unsigned long addr);
+};
+
+struct bpf_check {
+ kernel_ulong_t cmd;
+ const char *cmd_str;
+ const struct bpf_attr_check *checks;
+ size_t count;
+};
static const kernel_ulong_t long_bits = (kernel_ulong_t) 0xfacefeed00000000ULL;
static const char *errstr;
-static unsigned int sizeof_attr = sizeof(union bpf_attr);
+static unsigned int sizeof_attr = sizeof(union bpf_attr_data);
static unsigned int page_size;
static unsigned long end_of_page;
@@ -62,680 +109,543 @@ sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size)
return rc;
}
-# if VERBOSE
-# define print_extra_data(addr_, size_) print_quoted_hex((addr_), (size_))
-# else
-# define print_extra_data(addr_, size_) printf("...")
+#if VERBOSE
+# define print_extra_data(addr_, offs_, size_) \
+ do { \
+ printf("/* bytes %u..%u */ ", (offs_), (size_) + (offs_) - 1); \
+ print_quoted_hex((addr_) + (offs_), (size_)); \
+ } while (0)
+#else
+# define print_extra_data(addr_, offs_, size_) printf("...")
#endif
-# define TEST_BPF_(cmd_, cmd_str_, \
- init_first_, print_first_, \
- init_attr_, print_attr_) \
- do { \
- /* zero addr */ \
- sys_bpf(cmd_, 0, long_bits | sizeof(union bpf_attr)); \
- printf("bpf(%s, NULL, %u) = %s\n", \
- cmd_str_, sizeof_attr, errstr); \
- \
- /* zero size */ \
- unsigned long addr = end_of_page - sizeof_attr; \
- sys_bpf(cmd_, addr, long_bits); \
- printf("bpf(%s, %#lx, 0) = %s\n", \
- cmd_str_, addr, errstr); \
- \
- /* the first field only */ \
- unsigned int offset = init_first_(end_of_page); \
- addr = end_of_page - offset; \
- sys_bpf(cmd_, addr, offset); \
- printf("bpf(%s, {", cmd_str_); \
- print_first_(addr); \
- printf("}, %u) = %s\n", offset, errstr); \
- \
- /* efault after the first field */ \
- sys_bpf(cmd_, addr, offset + 1); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, offset + 1, errstr); \
- \
- /* the relevant part of union bpf_attr */ \
- offset = init_attr_(end_of_page); \
- addr = end_of_page - offset; \
- sys_bpf(cmd_, addr, offset); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", offset, errstr); \
- \
- /* short read of the relevant part of union bpf_attr */ \
- sys_bpf(cmd_, addr + 1, offset); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr + 1, offset, errstr); \
- \
- if (offset < sizeof_attr) { \
- /* short read of the whole union bpf_attr */ \
- memmove((void *) end_of_page - sizeof_attr + 1, \
- (void *) addr, offset); \
- addr = end_of_page - sizeof_attr + 1; \
- memset((void *) addr + offset, 0, \
- sizeof_attr - offset - 1); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, sizeof_attr, errstr); \
- \
- /* the whole union bpf_attr */ \
- memmove((void *) end_of_page - sizeof_attr, \
- (void *) addr, offset); \
- addr = end_of_page - sizeof_attr; \
- memset((void *) addr + offset, 0, \
- sizeof_attr - offset); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", sizeof_attr, errstr); \
- \
- /* non-zero bytes after the relevant part */ \
- fill_memory_ex((void *) addr + offset, \
- sizeof_attr - offset, '0', 10); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf(", "); \
- print_extra_data((void *) addr + offset, \
- sizeof_attr - offset); \
- printf("}, %u) = %s\n", sizeof_attr, errstr); \
- } \
- \
- /* short read of the whole page */ \
- memmove((void *) end_of_page - page_size + 1, \
- (void *) addr, offset); \
- addr = end_of_page - page_size + 1; \
- memset((void *) addr + offset, 0, \
- page_size - offset - 1); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, page_size, errstr); \
- \
- /* the whole page */ \
- memmove((void *) end_of_page - page_size, \
- (void *) addr, offset); \
- addr = end_of_page - page_size; \
- memset((void *) addr + offset, 0, page_size - offset); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", page_size, errstr); \
- \
- /* non-zero bytes after the whole union bpf_attr */ \
- fill_memory_ex((void *) addr + offset, \
- page_size - offset, '0', 10); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf(", "); \
- print_extra_data((void *) addr + offset, \
- page_size - offset); \
- printf("}, %u) = %s\n", page_size, errstr); \
- \
- /* more than a page */ \
- sys_bpf(cmd_, addr, page_size + 1); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, page_size + 1, errstr); \
- } while (0) \
- /* End of TEST_BPF_ definition. */
-
-# define TEST_BPF(cmd_) \
- TEST_BPF_((cmd_), #cmd_, \
- init_ ## cmd_ ## _first, print_ ## cmd_ ## _first, \
- init_ ## cmd_ ## _attr, print_ ## cmd_ ## _attr) \
- /* End of TEST_BPF definition. */
-
-#define DEF_BPF_INIT_FIRST(cmd_, field_, value_) \
- static unsigned int \
- init_ ## cmd_ ## _first(const unsigned long eop) \
- { \
- static const union bpf_attr attr = { .field_ = value_ };\
- static const unsigned int offset = sizeof(attr.field_); \
- const unsigned long addr = eop - offset; \
- \
- memcpy((void *) addr, &attr.field_, offset); \
- return offset; \
- } \
- /* End of DEF_INIT_FIRST definition. */
-
-# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
-
-DEF_BPF_INIT_FIRST(BPF_MAP_CREATE, map_type, 2)
-
-static void
-print_BPF_MAP_CREATE_first(const unsigned long addr)
-{
- printf("map_type=BPF_MAP_TYPE_ARRAY, key_size=0, value_size=0"
- ", max_entries=0, map_flags=0, inner_map_fd=0");
-}
-
-static unsigned int
-init_BPF_MAP_CREATE_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_type = 1,
- .key_size = 4,
- .value_size = 8,
- .max_entries = 256,
- .map_flags = 7,
- .inner_map_fd = -1,
- .numa_node = 42
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, numa_node);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_CREATE_attr(const unsigned long addr)
-{
- printf("map_type=BPF_MAP_TYPE_HASH, key_size=4"
- ", value_size=8, max_entries=256"
- ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NO_COMMON_LRU"
- "|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=42");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_NUMA_NODE */
-
-# ifdef HAVE_UNION_BPF_ATTR_FLAGS
-
-DEF_BPF_INIT_FIRST(BPF_MAP_LOOKUP_ELEM, map_fd, -1)
-
-static void
-print_BPF_MAP_LOOKUP_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, value=0");
-}
-
-static unsigned int
-init_BPF_MAP_LOOKUP_ELEM_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .value = 0xbadc0ded
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, value);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_LOOKUP_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, value=0xbadc0ded");
-}
-
-# define init_BPF_MAP_UPDATE_ELEM_first init_BPF_MAP_LOOKUP_ELEM_first
-
-static void
-print_BPF_MAP_UPDATE_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, value=0, flags=BPF_ANY");
-}
-
-static unsigned int
-init_BPF_MAP_UPDATE_ELEM_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .value = 0xbadc0ded,
- .flags = 2
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_UPDATE_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, value=0xbadc0ded, flags=BPF_EXIST");
-}
-
-# define init_BPF_MAP_DELETE_ELEM_first init_BPF_MAP_LOOKUP_ELEM_first
-
static void
-print_BPF_MAP_DELETE_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0");
-}
-
-static unsigned int
-init_BPF_MAP_DELETE_ELEM_attr(const unsigned long eop)
+print_bpf_attr(const struct bpf_attr_check *check, unsigned long addr)
{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, key);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
+ if (check->print_fn)
+ check->print_fn(check, addr);
+ else
+ printf("%s", check->str);
}
static void
-print_BPF_MAP_DELETE_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef");
-}
-
-# define init_BPF_MAP_GET_NEXT_KEY_first init_BPF_MAP_LOOKUP_ELEM_first
-
-static void
-print_BPF_MAP_GET_NEXT_KEY_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, next_key=0");
-}
-
-static unsigned int
-init_BPF_MAP_GET_NEXT_KEY_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .next_key = 0xbadc0ded
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, next_key);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
+test_bpf(const struct bpf_check *cmd_check)
+{
+ const struct bpf_attr_check *check = 0;
+ const union bpf_attr_data *data = 0;
+ unsigned int offset = 0;
+
+ /* zero addr */
+ sys_bpf(cmd_check->cmd, 0, long_bits | sizeof(union bpf_attr_data));
+ printf("bpf(%s, NULL, %u) = %s\n",
+ cmd_check->cmd_str, sizeof_attr, errstr);
+
+ /* zero size */
+ unsigned long addr = end_of_page - sizeof_attr;
+ sys_bpf(cmd_check->cmd, addr, long_bits);
+ printf("bpf(%s, %#lx, 0) = %s\n",
+ cmd_check->cmd_str, addr, errstr);
+
+ for (size_t i = 0; i < cmd_check->count; i++) {
+ check = &cmd_check->checks[i];
+ if (check->init_fn)
+ check->init_fn((struct bpf_attr_check *) check);
+ data = &check->data;
+ offset = check->size;
+
+ addr = end_of_page - offset;
+ memcpy((void *) addr, data, offset);
+
+ /* starting piece of bpf_attr_data */
+ sys_bpf(cmd_check->cmd, addr, offset);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", offset, errstr);
+
+ /* short read of the starting piece */
+ sys_bpf(cmd_check->cmd, addr + 1, offset);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr + 1, offset, errstr);
+ }
-static void
-print_BPF_MAP_GET_NEXT_KEY_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, next_key=0xbadc0ded");
-}
+ if (offset < sizeof_attr) {
+ /* short read of the whole bpf_attr_data */
+ memcpy((void *) end_of_page - sizeof_attr + 1, data, offset);
+ addr = end_of_page - sizeof_attr + 1;
+ memset((void *) addr + offset, 0, sizeof_attr - offset - 1);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, sizeof_attr, errstr);
+
+ /* the whole bpf_attr_data */
+ memcpy((void *) end_of_page - sizeof_attr, data, offset);
+ addr = end_of_page - sizeof_attr;
+ memset((void *) addr + offset, 0, sizeof_attr - offset);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", sizeof_attr, errstr);
+
+ /* non-zero bytes after the relevant part */
+ fill_memory_ex((void *) addr + offset,
+ sizeof_attr - offset, '0', 10);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf(", ");
+ print_extra_data((char *) addr, offset,
+ sizeof_attr - offset);
+ printf("}, %u) = %s\n", sizeof_attr, errstr);
+ }
-# endif /* HAVE_UNION_BPF_ATTR_FLAGS */
+ /* short read of the whole page */
+ memcpy((void *) end_of_page - page_size + 1, data, offset);
+ addr = end_of_page - page_size + 1;
+ memset((void *) addr + offset, 0, page_size - offset - 1);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, page_size, errstr);
+
+ /* the whole page */
+ memcpy((void *) end_of_page - page_size, data, offset);
+ addr = end_of_page - page_size;
+ memset((void *) addr + offset, 0, page_size - offset);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", page_size, errstr);
+
+ /* non-zero bytes after the whole bpf_attr_data */
+ fill_memory_ex((void *) addr + offset,
+ page_size - offset, '0', 10);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf(", ");
+ print_extra_data((char *) addr, offset,
+ page_size - offset);
+ printf("}, %u) = %s\n", page_size, errstr);
+
+ /* more than a page */
+ sys_bpf(cmd_check->cmd, addr, page_size + 1);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, page_size + 1, errstr);
+}
+
+static const struct bpf_attr_check BPF_MAP_CREATE_checks[] = {
+ {
+ .data = { .BPF_MAP_CREATE_data = { .map_type = 2 } },
+ .size = offsetofend(struct BPF_MAP_CREATE_struct, map_type),
+ .str = "map_type=BPF_MAP_TYPE_ARRAY, key_size=0, value_size=0"
+ ", max_entries=0, map_flags=0, inner_map_fd=0"
+ },
+ {
+ .data = { .BPF_MAP_CREATE_data = {
+ .map_type = 1,
+ .key_size = 4,
+ .value_size = 8,
+ .max_entries = 256,
+ .map_flags = 7,
+ .inner_map_fd = -1,
+ .numa_node = 42
+ } },
+ .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node),
+ .str = "map_type=BPF_MAP_TYPE_HASH, key_size=4"
+ ", value_size=8, max_entries=256"
+ ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NO_COMMON_LRU"
+ "|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=42"
+ }
+};
-# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
+static const struct bpf_attr_check BPF_MAP_LOOKUP_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_LOOKUP_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_LOOKUP_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0, value=0"
+ },
+ {
+ .data = { .BPF_MAP_LOOKUP_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .value = 0xbadc0ded
+ } },
+ .size = offsetofend(struct BPF_MAP_LOOKUP_ELEM_struct, value),
+ .str = "map_fd=-1, key=0xdeadbeef, value=0xbadc0ded"
+ }
+};
-DEF_BPF_INIT_FIRST(BPF_PROG_LOAD, prog_type, 1)
+static const struct bpf_attr_check BPF_MAP_UPDATE_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_UPDATE_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_UPDATE_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0, value=0, flags=BPF_ANY"
+ },
+ {
+ .data = { .BPF_MAP_UPDATE_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .value = 0xbadc0ded,
+ .flags = 2
+ } },
+ .size = offsetofend(struct BPF_MAP_UPDATE_ELEM_struct, flags),
+ .str = "map_fd=-1, key=0xdeadbeef, value=0xbadc0ded"
+ ", flags=BPF_EXIST"
+ }
+};
-static void
-print_BPF_PROG_LOAD_first(const unsigned long addr)
-{
+static const struct bpf_attr_check BPF_MAP_DELETE_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_DELETE_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_DELETE_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0"
+ },
+ {
+ .data = { .BPF_MAP_DELETE_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_MAP_DELETE_ELEM_struct, key),
+ .str = "map_fd=-1, key=0xdeadbeef"
+ }
+};
- printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=0, insns=0"
- ", license=NULL, log_level=0, log_size=0, log_buf=0"
- ", kern_version=0, prog_flags=0");
-}
+static const struct bpf_attr_check BPF_MAP_GET_NEXT_KEY_checks[] = {
+ {
+ .data = { .BPF_MAP_GET_NEXT_KEY_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_GET_NEXT_KEY_struct, map_fd),
+ .str = "map_fd=-1, key=0, next_key=0"
+ },
+ {
+ .data = { .BPF_MAP_GET_NEXT_KEY_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .next_key = 0xbadc0ded
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_NEXT_KEY_struct, next_key),
+ .str = "map_fd=-1, key=0xdeadbeef, next_key=0xbadc0ded"
+ }
+};
static const struct bpf_insn insns[] = {
- { .code = BPF_JMP | BPF_EXIT }
+ { .code = 0x95 }
};
+static const char license[] = "GPL";
static char log_buf[4096];
+static const char pathname[] = "/sys/fs/bpf/foo/bar";
-static unsigned int
-init_BPF_PROG_LOAD_attr(const unsigned long eop)
+static void
+init_BPF_PROG_LOAD_attr(struct bpf_attr_check *check)
{
- const union bpf_attr attr = {
- .prog_type = 1,
- .insn_cnt = ARRAY_SIZE(insns),
- .insns = (uintptr_t) insns,
- .license = (uintptr_t) "GPL",
- .log_level = 42,
- .log_size = sizeof(log_buf),
- .log_buf = (uintptr_t) log_buf,
- .kern_version = 0xcafef00d,
- .prog_flags = 1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, prog_flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
+ struct BPF_PROG_LOAD_struct *attr = &check->data.BPF_PROG_LOAD_data;
+ attr->insns = (uintptr_t) insns;
+ attr->license = (uintptr_t) license;
+ attr->log_buf = (uintptr_t) log_buf;
}
static void
-print_BPF_PROG_LOAD_attr(const unsigned long addr)
+print_BPF_PROG_LOAD_attr(const struct bpf_attr_check *check, unsigned long addr)
{
printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u, insns=%p"
- ", license=\"GPL\", log_level=42, log_size=4096, log_buf=%p"
- ", kern_version=%u, prog_flags=BPF_F_STRICT_ALIGNMENT",
+ ", license=\"%s\", log_level=42, log_size=4096, log_buf=%p"
+ ", kern_version=KERNEL_VERSION(51966, 240, 13)"
+ ", prog_flags=BPF_F_STRICT_ALIGNMENT",
(unsigned int) ARRAY_SIZE(insns), insns,
- log_buf, 0xcafef00d);
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_PROG_FLAGS */
-
-/*
- * bpf() syscall and its first six commands were introduced in Linux kernel
- * 3.18. Some additional commands were added afterwards, so we need to take
- * precautions to make sure the tests compile.
- *
- * BPF_OBJ_PIN and BPF_OBJ_GET commands appear in kernel 4.4.
- */
-# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
-
-DEF_BPF_INIT_FIRST(BPF_OBJ_PIN, pathname, 0)
-
-static void
-print_BPF_OBJ_PIN_first(const unsigned long addr)
-{
-
- printf("pathname=NULL, bpf_fd=0");
-}
-
-static unsigned int
-init_BPF_OBJ_PIN_attr(const unsigned long eop)
-{
- const union bpf_attr attr = {
- .pathname = (uintptr_t) "/sys/fs/bpf/foo/bar",
- .bpf_fd = -1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, bpf_fd);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_OBJ_PIN_attr(const unsigned long addr)
-{
- printf("pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1");
-}
-
-# define init_BPF_OBJ_GET_first init_BPF_OBJ_PIN_first
-# define print_BPF_OBJ_GET_first print_BPF_OBJ_PIN_first
-# define init_BPF_OBJ_GET_attr init_BPF_OBJ_PIN_attr
-# define print_BPF_OBJ_GET_attr print_BPF_OBJ_PIN_attr
-
-# endif /* HAVE_UNION_BPF_ATTR_BPF_FD */
-
-/* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
-
-DEF_BPF_INIT_FIRST(BPF_PROG_ATTACH, target_fd, -1)
-
-static void
-print_BPF_PROG_ATTACH_first(const unsigned long addr)
-{
- printf("target_fd=-1, attach_bpf_fd=0"
- ", attach_type=BPF_CGROUP_INET_INGRESS, attach_flags=0");
-}
-
-static unsigned int
-init_BPF_PROG_ATTACH_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .target_fd = -1,
- .attach_bpf_fd = -2,
- .attach_type = 2,
- .attach_flags = 1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, attach_flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_PROG_ATTACH_attr(const unsigned long addr)
-{
- printf("target_fd=-1, attach_bpf_fd=-2"
- ", attach_type=BPF_CGROUP_INET_SOCK_CREATE"
- ", attach_flags=BPF_F_ALLOW_OVERRIDE");
-}
-
-# define init_BPF_PROG_DETACH_first init_BPF_PROG_ATTACH_first
-
-static unsigned int
-init_BPF_PROG_DETACH_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .target_fd = -1,
- .attach_type = 2
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, attach_type);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-
-static void
-print_BPF_PROG_DETACH_first(const unsigned long addr)
-{
- printf("target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS");
-}
-
-static void
-print_BPF_PROG_DETACH_attr(const unsigned long addr)
-{
- printf("target_fd=-1, attach_type=BPF_CGROUP_INET_SOCK_CREATE");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_ATTACH_FLAGS */
-
-/* BPF_PROG_TEST_RUN command appears in kernel 4.12. */
-# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
-
-DEF_BPF_INIT_FIRST(BPF_PROG_TEST_RUN, test.prog_fd, -1)
-
-static void
-print_BPF_PROG_TEST_RUN_first(const unsigned long addr)
-{
- printf("test={prog_fd=-1, retval=0, data_size_in=0, data_size_out=0"
- ", data_in=0, data_out=0, repeat=0, duration=0}");
-}
-
-static const union bpf_attr sample_BPF_PROG_TEST_RUN_attr = {
- .test = {
- .prog_fd = -1,
- .retval = 0xfac1fed2,
- .data_size_in = 0xfac3fed4,
- .data_size_out = 0xfac5fed6,
- .data_in = (uint64_t) 0xfacef11dbadc2ded,
- .data_out = (uint64_t) 0xfacef33dbadc4ded,
- .repeat = 0xfac7fed8,
- .duration = 0xfac9feda
+ license, log_buf);
+}
+
+static struct bpf_attr_check BPF_PROG_LOAD_checks[] = {
+ {
+ .data = { .BPF_PROG_LOAD_data = { .prog_type = 1 } },
+ .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_type),
+ .str = "prog_type=BPF_PROG_TYPE_SOCKET_FILTER"
+ ", insn_cnt=0, insns=0, license=NULL"
+ },
+ {
+ .data = { .BPF_PROG_LOAD_data = {
+ .prog_type = 1,
+ .insn_cnt = ARRAY_SIZE(insns),
+ .log_level = 42,
+ .log_size = sizeof(log_buf),
+ .kern_version = 0xcafef00d,
+ .prog_flags = 1
+ } },
+ .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_flags),
+ .init_fn = init_BPF_PROG_LOAD_attr,
+ .print_fn = print_BPF_PROG_LOAD_attr
}
};
-static unsigned int
-init_BPF_PROG_TEST_RUN_attr(const unsigned long eop)
-{
- static const unsigned int offset =
- offsetofend(union bpf_attr, test);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &sample_BPF_PROG_TEST_RUN_attr, offset);
- return offset;
-}
-
-static void
-print_BPF_PROG_TEST_RUN_attr(const unsigned long addr)
-{
- PRINT_FIELD_D("test={", sample_BPF_PROG_TEST_RUN_attr.test, prog_fd);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, retval);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_size_in);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_size_out);
- PRINT_FIELD_X(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_in);
- PRINT_FIELD_X(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_out);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, repeat);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, duration);
- printf("}");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_TEST_DURATION */
-
-# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
-
-DEF_BPF_INIT_FIRST(BPF_PROG_GET_NEXT_ID, start_id, 0xdeadbeef)
-
-static void
-print_BPF_PROG_GET_NEXT_ID_first(const unsigned long addr)
-{
- printf("start_id=%u, next_id=0", 0xdeadbeef);
-}
-
-static unsigned int
-init_BPF_PROG_GET_NEXT_ID_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .start_id = 0xbadc0ded,
- .next_id = 0xcafef00d
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, next_id);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
static void
-print_BPF_PROG_GET_NEXT_ID_attr(const unsigned long addr)
-{
- printf("start_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
-
-# define init_BPF_MAP_GET_NEXT_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define print_BPF_MAP_GET_NEXT_ID_first print_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_MAP_GET_NEXT_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-# define print_BPF_MAP_GET_NEXT_ID_attr print_BPF_PROG_GET_NEXT_ID_attr
-
-# define init_BPF_PROG_GET_FD_BY_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_PROG_GET_FD_BY_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-
-static void
-print_BPF_PROG_GET_FD_BY_ID_first(const unsigned long addr)
-{
- printf("prog_id=%u, next_id=0", 0xdeadbeef);
-}
-
-static void
-print_BPF_PROG_GET_FD_BY_ID_attr(const unsigned long addr)
-{
- printf("prog_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
-
-# define init_BPF_MAP_GET_FD_BY_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_MAP_GET_FD_BY_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-
-static void
-print_BPF_MAP_GET_FD_BY_ID_first(const unsigned long addr)
-{
- printf("map_id=%u, next_id=0", 0xdeadbeef);
-}
+init_BPF_OBJ_PIN_attr(struct bpf_attr_check *check)
+{
+ struct BPF_OBJ_PIN_struct *attr = &check->data.BPF_OBJ_PIN_data;
+ attr->pathname = (uintptr_t) pathname;
+}
+
+static struct bpf_attr_check BPF_OBJ_PIN_checks[] = {
+ {
+ .data = { .BPF_OBJ_PIN_data = { .pathname = 0 } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, pathname),
+ .str = "pathname=NULL, bpf_fd=0"
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = {
+ .pathname = 0xFFFFFFFFFFFFFFFFULL
+ } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, pathname),
+ .str = "pathname="
+#if defined MPERS_IS_m32 || SIZEOF_KERNEL_LONG_T > 4
+ "0xffffffffffffffff"
+#elif defined __arm__ || defined __i386__ || defined __mips__ || \
+ defined __powerpc__ || defined __riscv__ || defined __s390__ \
+ || defined __sparc__ || defined __tile__
+ "0xffffffffffffffff or 0xffffffff"
+#else
+ "0xffffffff"
+#endif
+ ", bpf_fd=0",
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = { .bpf_fd = -1 } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, bpf_fd),
+ .init_fn = init_BPF_OBJ_PIN_attr,
+ .str = "pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1"
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = {
+ .bpf_fd = -1,
+ .file_flags = 0x18
+ } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, file_flags),
+ .init_fn = init_BPF_OBJ_PIN_attr,
+ .str = "pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1"
+ ", file_flags=BPF_F_RDONLY|BPF_F_WRONLY"
+ }
+};
-static void
-print_BPF_MAP_GET_FD_BY_ID_attr(const unsigned long addr)
-{
- printf("map_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
+#define BPF_OBJ_GET_checks BPF_OBJ_PIN_checks
+
+static const struct bpf_attr_check BPF_PROG_ATTACH_checks[] = {
+ {
+ .data = { .BPF_PROG_ATTACH_data = { .target_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_ATTACH_struct, target_fd),
+ .str = "target_fd=-1, attach_bpf_fd=0"
+ ", attach_type=BPF_CGROUP_INET_INGRESS, attach_flags=0"
+ },
+ {
+ .data = { .BPF_PROG_ATTACH_data = {
+ .target_fd = -1,
+ .attach_bpf_fd = -2,
+ .attach_type = 2,
+ .attach_flags = 1
+ } },
+ .size = offsetofend(struct BPF_PROG_ATTACH_struct, attach_flags),
+ .str = "target_fd=-1, attach_bpf_fd=-2"
+ ", attach_type=BPF_CGROUP_INET_SOCK_CREATE"
+ ", attach_flags=BPF_F_ALLOW_OVERRIDE"
+ }
+};
-# endif /* HAVE_UNION_BPF_ATTR_NEXT_ID */
-# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
+static const struct bpf_attr_check BPF_PROG_DETACH_checks[] = {
+ {
+ .data = { .BPF_PROG_DETACH_data = { .target_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_DETACH_struct, target_fd),
+ .str = "target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS"
+ },
+ {
+ .data = { .BPF_PROG_DETACH_data = {
+ .target_fd = -1,
+ .attach_type = 2
+ } },
+ .size = offsetofend(struct BPF_PROG_DETACH_struct, attach_type),
+ .str = "target_fd=-1, attach_type=BPF_CGROUP_INET_SOCK_CREATE"
+ }
+};
-DEF_BPF_INIT_FIRST(BPF_OBJ_GET_INFO_BY_FD, info.bpf_fd, -1)
+static const struct bpf_attr_check BPF_PROG_TEST_RUN_checks[] = {
+ {
+ .data = { .BPF_PROG_TEST_RUN_data = { .prog_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_TEST_RUN_struct, prog_fd),
+ .str = "test={prog_fd=-1, retval=0, data_size_in=0"
+ ", data_size_out=0, data_in=0, data_out=0"
+ ", repeat=0, duration=0}"
+ },
+ {
+ .data = { .BPF_PROG_TEST_RUN_data = {
+ .prog_fd = -1,
+ .retval = 0xfac1fed2,
+ .data_size_in = 0xfac3fed4,
+ .data_size_out = 0xfac5fed6,
+ .data_in = (uint64_t) 0xfacef11dbadc2dedULL,
+ .data_out = (uint64_t) 0xfacef33dbadc4dedULL,
+ .repeat = 0xfac7fed8,
+ .duration = 0xfac9feda
+ } },
+ .size = offsetofend(struct BPF_PROG_TEST_RUN_struct, duration),
+ .str = "test={prog_fd=-1, retval=4207017682"
+ ", data_size_in=4207148756, data_size_out=4207279830"
+ ", data_in=0xfacef11dbadc2ded"
+ ", data_out=0xfacef33dbadc4ded"
+ ", repeat=4207410904, duration=4207541978}"
+ }
+};
-static void
-print_BPF_OBJ_GET_INFO_BY_FD_first(const unsigned long addr)
-{
- printf("info={bpf_fd=-1, info_len=0, info=0}");
-}
+static const struct bpf_attr_check BPF_PROG_GET_NEXT_ID_checks[] = {
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, start_id),
+ .str = "start_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xdeadbeef
+ } },
+ .size = 1,
+ .str = "start_id="
+#if WORDS_BIGENDIAN
+ "3724541952" /* 0xde000000 */
+#else
+ "239" /* 0x000000ef */
+#endif
+ ", next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, next_id),
+ .str = "start_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, open_flags),
+ .str = "start_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
+ }
+};
-static const union bpf_attr sample_BPF_OBJ_GET_INFO_BY_FD_attr = {
- .info = {
- .bpf_fd = -1,
- .info_len = 0xdeadbeef,
- .info = (uint64_t) 0xfacefeedbadc0ded
+#define BPF_MAP_GET_NEXT_ID_checks BPF_PROG_GET_NEXT_ID_checks
+
+static const struct bpf_attr_check BPF_PROG_GET_FD_BY_ID_checks[] = {
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, prog_id),
+ .str = "prog_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, next_id),
+ .str = "prog_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, open_flags),
+ .str = "prog_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
}
};
-static unsigned int
-init_BPF_OBJ_GET_INFO_BY_FD_attr(const unsigned long eop)
-{
- static const unsigned int offset =
- offsetofend(union bpf_attr, info);
- const unsigned long addr = eop - offset;
- memcpy((void *) addr, &sample_BPF_OBJ_GET_INFO_BY_FD_attr, offset);
- return offset;
-}
+static const struct bpf_attr_check BPF_MAP_GET_FD_BY_ID_checks[] = {
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, map_id),
+ .str = "map_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, next_id),
+ .str = "map_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, open_flags),
+ .str = "map_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
+ }
+};
-static void
-print_BPF_OBJ_GET_INFO_BY_FD_attr(const unsigned long addr)
-{
- PRINT_FIELD_D("info={", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, bpf_fd);
- PRINT_FIELD_U(", ", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, info_len);
- PRINT_FIELD_X(", ", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, info);
- printf("}");
-}
+static const struct bpf_attr_check BPF_OBJ_GET_INFO_BY_FD_checks[] = {
+ {
+ .data = { .BPF_OBJ_GET_INFO_BY_FD_data = { .bpf_fd = -1 } },
+ .size = offsetofend(struct BPF_OBJ_GET_INFO_BY_FD_struct, bpf_fd),
+ .str = "info={bpf_fd=-1, info_len=0, info=0}"
+ },
+ {
+ .data = { .BPF_OBJ_GET_INFO_BY_FD_data = {
+ .bpf_fd = -1,
+ .info_len = 0xdeadbeef,
+ .info = (uint64_t) 0xfacefeedbadc0dedULL
+ } },
+ .size = offsetofend(struct BPF_OBJ_GET_INFO_BY_FD_struct, info),
+ .str = "info={bpf_fd=-1, info_len=3735928559"
+ ", info=0xfacefeedbadc0ded}"
+ }
+};
-# endif /* HAVE_UNION_BPF_ATTR_INFO_INFO */
+#define CHK(cmd_) \
+ { \
+ cmd_, #cmd_, \
+ cmd_##_checks, ARRAY_SIZE(cmd_##_checks), \
+ } \
+ /* End of CHK definition */
int
main(void)
{
+ static const struct bpf_check checks[] = {
+ CHK(BPF_MAP_CREATE),
+ CHK(BPF_MAP_LOOKUP_ELEM),
+ CHK(BPF_MAP_UPDATE_ELEM),
+ CHK(BPF_MAP_DELETE_ELEM),
+ CHK(BPF_MAP_GET_NEXT_KEY),
+ CHK(BPF_PROG_LOAD),
+ CHK(BPF_OBJ_PIN),
+ CHK(BPF_OBJ_GET),
+ CHK(BPF_PROG_ATTACH),
+ CHK(BPF_PROG_DETACH),
+ CHK(BPF_PROG_TEST_RUN),
+ CHK(BPF_PROG_GET_NEXT_ID),
+ CHK(BPF_MAP_GET_NEXT_ID),
+ CHK(BPF_PROG_GET_FD_BY_ID),
+ CHK(BPF_MAP_GET_FD_BY_ID),
+ CHK(BPF_OBJ_GET_INFO_BY_FD),
+ };
+
page_size = get_page_size();
end_of_page = (unsigned long) tail_alloc(1) + 1;
-# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
- TEST_BPF(BPF_MAP_CREATE);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_FLAGS
- TEST_BPF(BPF_MAP_LOOKUP_ELEM);
- TEST_BPF(BPF_MAP_UPDATE_ELEM);
- TEST_BPF(BPF_MAP_DELETE_ELEM);
- TEST_BPF(BPF_MAP_GET_NEXT_KEY);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
- TEST_BPF(BPF_PROG_LOAD);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
- TEST_BPF(BPF_OBJ_PIN);
- TEST_BPF(BPF_OBJ_GET);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
- TEST_BPF(BPF_PROG_ATTACH);
- TEST_BPF(BPF_PROG_DETACH);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
- TEST_BPF(BPF_PROG_TEST_RUN);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
- TEST_BPF(BPF_PROG_GET_NEXT_ID);
- TEST_BPF(BPF_MAP_GET_NEXT_ID);
- TEST_BPF(BPF_PROG_GET_FD_BY_ID);
- TEST_BPF(BPF_MAP_GET_FD_BY_ID);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
- TEST_BPF(BPF_OBJ_GET_INFO_BY_FD);
-# endif
+ for (size_t i = 0; i < ARRAY_SIZE(checks); i++)
+ test_bpf(checks + i);
+
+ sys_bpf(0xfacefeed, 0, (kernel_ulong_t) 0xfacefeedbadc0dedULL);
+ printf("bpf(0xfacefeed /* BPF_??? */, NULL, %u) = %s\n",
+ 0xbadc0dedu, errstr);
sys_bpf(0xfacefeed, end_of_page, 40);
printf("bpf(0xfacefeed /* BPF_??? */, %#lx, 40) = %s\n",
@@ -744,9 +654,3 @@ main(void)
puts("+++ exited with 0 +++");
return 0;
}
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_bpf && HAVE_UNION_BPF_ATTR_*")
-
-#endif
diff --git a/tests-m32/btrfs.c b/tests-m32/btrfs.c
index 710d7630..415f6928 100644
--- a/tests-m32/btrfs.c
+++ b/tests-m32/btrfs.c
@@ -6,7 +6,6 @@
#include <fcntl.h>
#include <inttypes.h>
#include <limits.h>
-#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
@@ -225,7 +224,7 @@ btrfs_print_qgroup_inherit(struct btrfs_qgroup_inherit *inherit)
"BTRFS_QGROUP_INHERIT_???");
printf(", num_qgroups=%" PRI__u64
", num_ref_copies=%" PRI__u64
- ", num_excl_copies=%" PRI__u64", lim={flags=",
+ ", num_excl_copies=%" PRI__u64 ", lim={flags=",
inherit->num_qgroups, inherit->num_ref_copies,
inherit->num_excl_copies);
printflags(btrfs_qgroup_limit_flags,
@@ -438,7 +437,7 @@ btrfs_test_subvol_ioctls(void)
btrfs_print_vol_args_v2(&vol_args_v2, 1);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2,
&args_passed);
- printf(" => {transid=%" PRI__u64"}) = 0\n",
+ printf(" => {transid=%" PRI__u64 "}) = 0\n",
args_passed.transid);
subvolfd = openat(btrfs_test_dir_fd, subvol_name,
@@ -454,7 +453,7 @@ btrfs_test_subvol_ioctls(void)
btrfs_print_vol_args_v2(&args_passed, 1);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_CREATE_V2,
&args_passed);
- printf(" => {transid=%" PRI__u64"}) = 0\n",
+ printf(" => {transid=%" PRI__u64 "}) = 0\n",
args_passed.transid);
/* This only works when mounted w/ -ouser_subvol_rm_allowed */
@@ -689,7 +688,7 @@ btrfs_test_clone_ioctls(void)
static void
btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args)
{
- printf("{start=%" PRIu64", len=%" PRIu64 "%s, flags=",
+ printf("{start=%" PRIu64 ", len=%" PRIu64 "%s, flags=",
(uint64_t) args->start, (uint64_t) args->len,
maybe_print_uint64max(args->len));
@@ -796,10 +795,10 @@ btrfs_print_search_key(struct btrfs_ioctl_search_key *key)
printf(", max_offset=%" PRI__u64 "%s",
key->max_offset, maybe_print_uint64max(key->max_offset));
if (key->min_transid)
- printf(", min_transid=%" PRI__u64"%s", key->min_transid,
+ printf(", min_transid=%" PRI__u64 "%s", key->min_transid,
maybe_print_uint64max(key->min_transid));
if (key->max_transid)
- printf(", max_transid=%" PRI__u64"%s", key->max_transid,
+ printf(", max_transid=%" PRI__u64 "%s", key->max_transid,
maybe_print_uint64max(key->max_transid));
printf(", min_type=");
btrfs_print_key_type(key->min_type);
@@ -1113,7 +1112,7 @@ btrfs_test_scrub_ioctls(void)
printf("ioctl(-1, BTRFS_IOC_SCRUB_CANCEL) = -1 EBADF (%m)\n");
printf("ioctl(-1, BTRFS_IOC_SCRUB, {devid=%" PRI__u64 ", start=%"
- PRI__u64 "%s, end=%" PRI__u64"%s, flags=",
+ PRI__u64 "%s, end=%" PRI__u64 "%s, flags=",
args.devid, args.start, maybe_print_uint64max(args.start),
args.end, maybe_print_uint64max(args.end));
printflags(btrfs_scrub_flags, args.flags, "BTRFS_SCRUB_???");
@@ -1145,7 +1144,7 @@ btrfs_test_dev_info_ioctl(void)
ioctl(-1, BTRFS_IOC_DEV_INFO, &args);
printf("ioctl(-1, BTRFS_IOC_DEV_INFO, "
- "{devid=%" PRI__u64", uuid=%s}) = -1 EBADF (%m)\n",
+ "{devid=%" PRI__u64 ", uuid=%s}) = -1 EBADF (%m)\n",
args.devid, uuid_reference_string);
}
@@ -1161,9 +1160,22 @@ btrfs_test_ino_path_ioctls(void)
struct btrfs_ioctl_ino_path_args args = {
.inum = 256,
.size = sizeof(buf),
- .fspath = (unsigned long)buf,
+ .reserved = {
+ 0xdeadc0defacefeebULL,
+ 0xdeadc0defacefeecULL,
+ 0xdeadc0defacefeedULL,
+ },
+ .fspath = 0,
};
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 0xdeadc0defacefeeeULL;
+
+
ioctl(-1, BTRFS_IOC_INO_PATHS, NULL);
printf("ioctl(-1, BTRFS_IOC_INO_PATHS, NULL) = -1 EBADF (%m)\n");
@@ -1172,13 +1184,54 @@ btrfs_test_ino_path_ioctls(void)
ioctl(-1, BTRFS_IOC_INO_PATHS, &args);
printf("ioctl(-1, BTRFS_IOC_INO_PATHS, "
- "{inum=%" PRI__u64", size=%" PRI__u64
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
+ ", fspath=NULL}) = -1 EBADF (%m)\n",
+ args.inum, args.size);
+
+ args.fspath = (uintptr_t) buf;
+ ioctl(-1, BTRFS_IOC_INO_PATHS, &args);
+ printf("ioctl(-1, BTRFS_IOC_INO_PATHS, "
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
", fspath=0x%" PRI__x64 "}) = -1 EBADF (%m)\n",
args.inum, args.size, args.fspath);
+ args.fspath = 0;
+ ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
+ printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
+ ", size=%" PRI__u64 ", reserved=[0xdeadc0defacefeeb"
+ ", 0xdeadc0defacefeec, 0xdeadc0defacefeed]"
+ ", flags=0xdeadc0defacefeee /* BTRFS_LOGICAL_INO_ARGS_??? */"
+ ", inodes=NULL}) = -1 EBADF (%m)\n",
+ args.inum, args.size);
+
+ args.fspath = (uintptr_t) buf;
+ args.reserved[0] = 0;
+ args.reserved[2] = 0;
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 1;
+
+ ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
+ printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
+ ", size=%" PRI__u64 ", reserved=[0, 0xdeadc0defacefeec, 0]"
+ ", flags=BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET"
+ ", inodes=0x%" PRI__x64 "}) = -1 EBADF (%m)\n",
+ args.inum, args.size, args.fspath);
+
+ args.reserved[1] = 0;
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 0;
+
ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
- ", size=%" PRI__u64", inodes=0x%" PRI__x64
+ ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64
"}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath);
#ifdef HAVE_LINUX_FIEMAP_H
@@ -1196,8 +1249,8 @@ btrfs_test_ino_path_ioctls(void)
args.inum = si.st_ino;
printf("ioctl(%d, BTRFS_IOC_INO_PATHS, "
- "{inum=%" PRI__u64", size=%" PRI__u64
- ", fspath=0x%" PRI__x64"}",
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
+ ", fspath=0x%" PRI__x64 "}",
btrfs_test_dir_fd, args.inum, args.size,
args.fspath);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_INO_PATHS, &args);
@@ -1240,7 +1293,7 @@ btrfs_test_ino_path_ioctls(void)
/* This is also a live test for FIEMAP */
printf("ioctl(%d, FS_IOC_FIEMAP, {fm_start=%" PRI__u64
- ", fm_length=%" PRI__u64", fm_flags=",
+ ", fm_length=%" PRI__u64 ", fm_flags=",
fd, fiemap->fm_start, fiemap->fm_length);
printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???");
printf(", fm_extent_count=%u}", fiemap->fm_extent_count);
@@ -1274,7 +1327,7 @@ btrfs_test_ino_path_ioctls(void)
args.inum = fiemap->fm_extents[0].fe_physical;
printf("ioctl(%d, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
- ", size=%" PRI__u64", inodes=0x%" PRI__x64"}",
+ ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 "}",
fd, args.inum, args.size, args.fspath);
ioctl(fd, BTRFS_IOC_LOGICAL_INO, &args);
printf(" => {inodes={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, val=",
@@ -1314,7 +1367,7 @@ btrfs_test_set_received_subvol_ioctl(void)
ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, &args);
printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, "
- "{uuid=%s, stransid=%" PRI__u64", stime=%" PRI__u64
+ "{uuid=%s, stransid=%" PRI__u64 ", stime=%" PRI__u64
".%u, flags=0}) = -1 EBADF (%m)\n",
uuid_reference_string, args.stransid, args.stime.sec,
args.stime.nsec);
@@ -1427,7 +1480,7 @@ btrfs_test_qgroup_assign_ioctl(void)
ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, &args);
printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, "
- "{assign=%" PRI__u64", src=%" PRI__u64", dst=%" PRI__u64
+ "{assign=%" PRI__u64 ", src=%" PRI__u64 ", dst=%" PRI__u64
"}) = -1 EBADF (%m)\n", args.assign, args.src, args.dst);
}
@@ -1448,7 +1501,7 @@ btrfs_test_qgroup_create_ioctl(void)
ioctl(-1, BTRFS_IOC_QGROUP_CREATE, &args);
printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, "
- "{create=%" PRI__u64", qgroupid=%" PRI__u64
+ "{create=%" PRI__u64 ", qgroupid=%" PRI__u64
"}) = -1 EBADF (%m)\n", args.create, args.qgroupid);
}
@@ -1523,7 +1576,7 @@ btrfs_test_get_dev_stats_ioctl(void)
printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL) = -1 EBADF (%m)\n");
printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64
- ", nr_items=%" PRI__u64", flags=",
+ ", nr_items=%" PRI__u64 ", flags=",
args.devid, args.nr_items);
printflags(btrfs_dev_stats_flags, args.flags,
"BTRFS_DEV_STATS_???");
@@ -1534,7 +1587,7 @@ btrfs_test_get_dev_stats_ioctl(void)
unsigned int i;
args.flags = BTRFS_DEV_STATS_RESET;
printf("ioctl(%d, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64
- ", nr_items=%" PRI__u64", flags=",
+ ", nr_items=%" PRI__u64 ", flags=",
btrfs_test_dir_fd, args.devid, args.nr_items);
printflags(btrfs_dev_stats_flags, args.flags,
"BTRFS_DEV_STATS_???");
@@ -1579,7 +1632,7 @@ btrfs_test_dev_replace_ioctl(void)
ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args);
printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, "
"{cmd=BTRFS_IOCTL_DEV_REPLACE_CMD_START, start={srcdevid=%"
- PRI__u64", cont_reading_from_srcdev_mode=%" PRI__u64
+ PRI__u64 ", cont_reading_from_srcdev_mode=%" PRI__u64
", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) = -1 EBADF (%m)\n",
args.start.srcdevid,
args.start.cont_reading_from_srcdev_mode,
diff --git a/tests-m32/count.test b/tests-m32/count.test
index a9752c09..a2ecc4fa 100755
--- a/tests-m32/count.test
+++ b/tests-m32/count.test
@@ -3,7 +3,7 @@
# Check whether -c and -w options work.
#
# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2014-2017 The strace developers.
+# Copyright (c) 2014-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -50,8 +50,12 @@ grep_log()
}
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -O1
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -enanosleep
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -O1 -enanosleep
grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw
+grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw -O1
grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -enanosleep
+grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -O1 -enanosleep
exit 0
diff --git a/tests-m32/delay.c b/tests-m32/delay.c
new file mode 100644
index 00000000..926c5abf
--- /dev/null
+++ b/tests-m32/delay.c
@@ -0,0 +1,135 @@
+/*
+ * Check delay injection.
+ *
+ * Copyright (c) 2018 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 <limits.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+#include <asm/unistd.h>
+
+static int64_t
+usecs_from_tv(const struct timeval *const tv)
+{
+ return (int64_t) tv->tv_sec * 1000000 + tv->tv_usec;
+}
+
+static int64_t
+usecs_from_ts(const struct timespec *const ts)
+{
+ return (int64_t) ts->tv_sec * 1000000 + ts->tv_nsec / 1000;
+}
+
+static void
+check_delay(const struct timeval *const tv0,
+ const struct timespec *const ts,
+ const struct timeval *const tv1,
+ const int nproc,
+ const int64_t delay_enter,
+ const int64_t delay_exit)
+{
+ const int64_t us0 = usecs_from_tv(tv0);
+ const int64_t us = usecs_from_ts(ts);
+ const int64_t us1 = usecs_from_tv(tv1);
+
+ if (us - us0 < delay_exit * (nproc - 1) / nproc)
+ _exit(1);
+
+ if (us - us0 > delay_exit * (nproc + 1) / nproc)
+ _exit(2);
+
+ if (us1 - us < delay_enter * (nproc - 1) / nproc)
+ _exit(3);
+
+ if (us1 - us > delay_enter * (nproc + 1) / nproc)
+ _exit(4);
+}
+
+static void
+run(const int nproc, const int delay_enter, const int delay_exit)
+{
+ struct timeval prev = { 0, 0 }, now;
+
+ for (int i = 0; i < nproc; ++i, prev = now) {
+ struct timespec ts;
+
+ if (i && clock_gettime(CLOCK_REALTIME, &ts))
+ perror_msg_and_fail("clock_gettime");
+
+ if (syscall(__NR_gettimeofday, &now, NULL))
+ perror_msg_and_fail("gettimeofday");
+
+ if (!i)
+ continue;
+
+ check_delay(&prev, &ts, &now, nproc, delay_enter, delay_exit);
+ }
+
+ _exit(0);
+}
+
+int
+main(int ac, char *av[])
+{
+ if (ac != 4)
+ error_msg_and_fail("usage: delay <nproc> <delay_enter> <delay_exit>");
+
+ const int nproc = atoi(av[1]);
+ if (nproc <= 1)
+ perror_msg_and_fail("invalid nproc: %s", av[1]);
+
+ const int delay_enter = atoi(av[2]);
+ if (delay_enter <= 0)
+ perror_msg_and_fail("invalid delay_enter: %s", av[2]);
+
+ const int delay_exit = atoi(av[3]);
+ if (delay_exit <= 0)
+ perror_msg_and_fail("invalid delay_exit: %s", av[3]);
+
+ for (int i = 0; i < nproc; ++i) {
+ pid_t pid = fork();
+
+ if (pid)
+ usleep(MAX(delay_enter, delay_exit) / nproc);
+ else
+ run(nproc, delay_enter, delay_exit);
+ }
+
+ int status;
+ while (wait(&status) > 0) {
+ if (status)
+ perror_msg_and_fail("wait status %d", status);
+ }
+
+ return 0;
+}
diff --git a/tests-m32/delay.test b/tests-m32/delay.test
new file mode 100755
index 00000000..5fb2ad62
--- /dev/null
+++ b/tests-m32/delay.test
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Check delay injection.
+
+. "${srcdir=.}/init.sh"
+
+delay_enter=800000
+delay_exit=1600000
+run_strace -f -r -egettimeofday \
+ -einject=gettimeofday:delay_enter=$delay_enter:delay_exit=$delay_exit \
+ ../delay 4 $delay_enter $delay_exit
diff --git a/tests-m32/dev-yy.c b/tests-m32/dev-yy.c
new file mode 100644
index 00000000..58a1e414
--- /dev/null
+++ b/tests-m32/dev-yy.c
@@ -0,0 +1,101 @@
+/*
+ * Check printing of character/block device numbers in -yy mode.
+ *
+ * Copyright (c) 2018 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 <unistd.h>
+
+#include <asm/unistd.h>
+
+#include <linux/fcntl.h>
+
+#include <sys/sysmacros.h>
+
+#if defined __NR_openat && defined O_PATH
+
+int
+main(void)
+{
+ static const struct {
+ const char *path;
+ unsigned int major;
+ unsigned int minor;
+ bool blk;
+ bool optional;
+ } checks[] = {
+ { "/dev/zero", 1, 5, false, false },
+ { "/dev/full", 1, 7, false, false },
+ { "/dev/sda", 8, 0, true, true },
+ };
+
+ for (unsigned int i = 0; i < ARRAY_SIZE(checks); i++) {
+ /*
+ * We can't have nice things here and call openat() directly as
+ * some libcs (yes, musl, I'm looking at you now) are too
+ * frivolous in passing flags to the kernel.
+ */
+ long fd = syscall(__NR_openat, AT_FDCWD, checks[i].path,
+ O_RDONLY|O_PATH);
+
+ printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_PATH) = %s",
+ checks[i].path, sprintrc(fd));
+ if (fd >= 0)
+ printf("<%s<%s %u:%u>>",
+ checks[i].path,
+ checks[i].blk ? "block" : "char",
+ checks[i].major, checks[i].minor);
+ puts("");
+
+ if (fd < 0) {
+ if (checks[i].optional)
+ continue;
+ else
+ perror_msg_and_fail("openat(\"%s\")",
+ checks[i].path);
+ }
+
+ int rc = fsync(fd);
+
+ printf("fsync(%ld<%s<%s %u:%u>>) = %s\n",
+ fd, checks[i].path, checks[i].blk ? "block" : "char",
+ checks[i].major, checks[i].minor, sprintrc(rc));
+
+ close(fd);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_openat && O_PATH")
+
+#endif
diff --git a/tests-m32/dev-yy.gen.test b/tests-m32/dev-yy.gen.test
new file mode 100755
index 00000000..d83d2e10
--- /dev/null
+++ b/tests-m32/dev-yy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
diff --git a/tests-m32/file_handle.c b/tests-m32/file_handle.c
index bbdf48b1..8559ba64 100644
--- a/tests-m32/file_handle.c
+++ b/tests-m32/file_handle.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,6 @@
# include <inttypes.h>
# include <fcntl.h>
# include <stdio.h>
-# include <stdbool.h>
# include <unistd.h>
enum assert_rc {
diff --git a/tests-m32/fsync-y.c b/tests-m32/fsync-y.c
new file mode 100644
index 00000000..34267b9c
--- /dev/null
+++ b/tests-m32/fsync-y.c
@@ -0,0 +1,71 @@
+/*
+ * Check printing of file name in strace -y mode.
+ *
+ * Copyright (c) 2018 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 <fcntl.h>
+#include <limits.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int
+main(void)
+{
+ char dir[PATH_MAX + 1];
+
+ const struct {
+ const char *path;
+ const char *cstr;
+ const char *fdstr;
+ } checks[] = {
+ { ARG_STR("\1\0020\v\0047\f\58\t\79\n\10\0171\r\0167\218\37 \\\'\"<<0::0>>1~\177\200\377"),
+ "\\1\\0020\\v\\0047\\f\\58\\t\\79\\n\\10\\0171\\r\\0167"
+ "\\218\\37 \\\\\'\\\"\\74\\0740::0\\76\\0761~\\177\\200\\377" },
+ };
+
+ if (!getcwd(dir, sizeof(dir)))
+ perror_msg_and_fail("getcwd");
+
+ for (unsigned int i = 0; i < ARRAY_SIZE(checks); i++) {
+ long fd = open(checks[i].path, O_RDONLY|O_CREAT, 0600);
+ if (fd < 0)
+ perror_msg_and_fail("open(%s)", checks[i].cstr);
+
+ int rc = fsync(fd);
+
+ printf("fsync(%ld<", fd);
+ print_quoted_string_ex(dir, false, ">:");
+ printf("/%s>) = %s\n", checks[i].fdstr, sprintrc(rc));
+
+ close(fd);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-m32/fsync-y.gen.test b/tests-m32/fsync-y.gen.test
new file mode 100755
index 00000000..055a580f
--- /dev/null
+++ b/tests-m32/fsync-y.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fsync-y -y -e trace=fsync); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -y -e trace=fsync
diff --git a/tests-m32/futex.c b/tests-m32/futex.c
index 0c095b8f..174100f3 100644
--- a/tests-m32/futex.c
+++ b/tests-m32/futex.c
@@ -34,7 +34,6 @@
# include <errno.h>
# include <stdarg.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdint.h>
# include <unistd.h>
diff --git a/tests-m32/gen_tests.am b/tests-m32/gen_tests.am
index 29d8c643..2cd76bc2 100644
--- a/tests-m32/gen_tests.am
+++ b/tests-m32/gen_tests.am
@@ -1,5 +1,5 @@
# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
-GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 group_req.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_dm.gen.test ioctl_dm-v.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_kvm_run.gen.test ioctl_loop.gen.test ioctl_loop-nv.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 kcmp-y.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 modify_ldt.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_crypto.gen.test netlink_generic.gen.test netlink_kobject_uevent.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 nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test nfnetlink_osf.gen.test nfnetlink_queue.gen.test nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test nlattr_inet_diag_req_compat.gen.test nlattr_inet_diag_req_v2.gen.test nlattr_mdba_mdb_entry.gen.test nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test printpath-umovestr.gen.test printpath-umovestr-peekdata.gen.test printpath-umovestr-undumpable.gen.test printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test select.gen.test select-P.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 so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test socketcall.gen.test sockopt-sol_netlink.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
+GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 dev-yy.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 fsync-y.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 group_req.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_dm.gen.test ioctl_dm-v.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_kvm_run.gen.test ioctl_loop.gen.test ioctl_loop-nv.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 kcmp-y.gen.test kern_features.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 modify_ldt.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 net-yy-inet6.gen.test netlink_audit.gen.test netlink_crypto.gen.test netlink_generic.gen.test netlink_kobject_uevent.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 nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test nfnetlink_osf.gen.test nfnetlink_queue.gen.test nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test nlattr_inet_diag_req_compat.gen.test nlattr_inet_diag_req_v2.gen.test nlattr_mdba_mdb_entry.gen.test nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test printpath-umovestr.gen.test printpath-umovestr-peekdata.gen.test printpath-umovestr-undumpable.gen.test printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test select.gen.test select-P.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 so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test socketcall.gen.test sockopt-sol_netlink.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) $^ $@
@@ -73,6 +73,9 @@ $(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/dev-yy.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) $^ $@
@@ -181,6 +184,9 @@ $(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/fsync-y.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) $^ $@
@@ -382,6 +388,9 @@ $(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/kern_features.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) $^ $@
@@ -511,6 +520,9 @@ $(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)/net-yy-inet6.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) $^ $@
diff --git a/tests-m32/gen_tests.in b/tests-m32/gen_tests.in
index ea33892f..a95ff3e2 100644
--- a/tests-m32/gen_tests.in
+++ b/tests-m32/gen_tests.in
@@ -49,6 +49,7 @@ clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime
copy_file_range
creat -a20
delete_module -a23
+dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
dup -a8
dup2 -a13
dup3 -a24
@@ -85,6 +86,7 @@ fstatat64 -a32 -v -P stat.sample -P /dev/full
fstatfs -a18
fstatfs64 -a24
fsync -a10
+fsync-y -y -e trace=fsync
ftruncate -a24
ftruncate64 -a36
futimesat -a28
@@ -152,6 +154,7 @@ ipc_sem +ipc.sh
ipc_shm +ipc.sh
kcmp -a22
kcmp-y -a22 -y -e trace=kcmp
+kern_features -a16
kexec_file_load -s9
kexec_load -s9
keyctl -a31 -s10
@@ -195,6 +198,7 @@ munlockall -a13
nanosleep -a20
net-icmp_filter -e trace=getsockopt,setsockopt
net-sockaddr -a24 -e trace=connect
+net-yy-inet6 +net-yy-inet.test
netlink_audit +netlink_sock_diag.test
netlink_crypto +netlink_sock_diag.test
netlink_generic +netlink_sock_diag.test
@@ -291,7 +295,7 @@ quotactl
quotactl-v -v -e trace=quotactl
quotactl-xfs -e trace=quotactl
quotactl-xfs-v -v -e trace=quotactl
-read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
readahead -a1
readdir -a16
readlink -xx
diff --git a/tests-m32/init.sh b/tests-m32/init.sh
index 4cb8f1ab..dffbfceb 100644
--- a/tests-m32/init.sh
+++ b/tests-m32/init.sh
@@ -26,6 +26,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+export LC_ALL=C
ME_="${0##*/}"
LOG="log"
OUT="out"
@@ -236,7 +237,7 @@ kernel_version_code()
(
set -f
IFS=.
- set -- $1
+ set -- $1 0 0
v1="${1%%[!0-9]*}" && [ -n "$v1" ] || v1=0
v2="${2%%[!0-9]*}" && [ -n "$v2" ] || v2=0
v3="${3%%[!0-9]*}" && [ -n "$v3" ] || v3=0
diff --git a/tests-m32/inject-nf.c b/tests-m32/inject-nf.c
new file mode 100644
index 00000000..b0d8431b
--- /dev/null
+++ b/tests-m32/inject-nf.c
@@ -0,0 +1,86 @@
+/*
+ * Check decoding of return values injected into a syscall that "never fails".
+ *
+ * Copyright (c) 2018 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 <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <asm/unistd.h>
+
+#include "raw_syscall.h"
+
+#ifdef __alpha__
+/* alpha has no getpid */
+# define SC_NR __NR_getpgrp
+# define SC_NAME "getpgrp"
+# define getpid getpgrp
+#else
+# define SC_NR __NR_getpid
+# define SC_NAME "getpid"
+#endif
+
+#ifdef raw_syscall_0
+# define INVOKE_SC(err) raw_syscall_0(SC_NR, &err)
+#else
+/* No raw_syscall_0, let's use getpid() and hope for the best. */
+# define INVOKE_SC(err) getpid()
+#endif
+
+/*
+ * This prototype is intentionally different
+ * from the prototype provided by <unistd.h>.
+ */
+extern kernel_ulong_t getpid(void);
+
+int
+main(int ac, char **av)
+{
+ assert(ac == 1 || ac == 2);
+
+ kernel_ulong_t expected =
+ (ac == 1) ? getpid() : strtoull(av[1], NULL, 0);
+ kernel_ulong_t err = 0;
+ kernel_ulong_t rc = INVOKE_SC(err);
+
+ if (err || rc != expected)
+ error_msg_and_fail("expected %#llx, got rval=%#llx err=%#llx",
+ (unsigned long long) expected,
+ (unsigned long long) rc,
+ (unsigned long long) err);
+
+ if (ac == 2) {
+ printf("%s() = %llu (INJECTED)\n",
+ SC_NAME, (unsigned long long) rc);
+
+ puts("+++ exited with 0 +++");
+ }
+
+ return 0;
+}
diff --git a/tests-m32/inject-nf.test b/tests-m32/inject-nf.test
new file mode 100755
index 00000000..fa82e442
--- /dev/null
+++ b/tests-m32/inject-nf.test
@@ -0,0 +1,50 @@
+#!/bin/sh -efu
+
+# Check decoding of return values injected into a syscall that "never fails".
+
+. "${srcdir=.}/scno_tampering.sh"
+
+case "$STRACE_ARCH" in
+alpha)
+ SYSCALL=getpgrp
+ ;;
+*)
+ SYSCALL=getpid
+ ;;
+esac
+
+run_prog
+prog="$args"
+fault_args="-a9 -e trace=${SYSCALL} -e inject=${SYSCALL}:retval="
+
+test_rval()
+{
+ local rval
+ rval="$1"; shift
+
+ run_strace $fault_args$rval $prog $rval > "$EXP"
+ match_diff "$LOG" "$EXP"
+}
+
+test_rval 0
+test_rval 1
+test_rval 0x7fffffff
+test_rval 0x80000000
+test_rval 0xfffff000
+test_rval 0xfffffffe
+test_rval 0xffffffff
+
+case "$SIZEOF_KERNEL_LONG_T" in
+8)
+ test_rval 0x80000000
+ test_rval 0xfffff000
+ test_rval 0xfffffffe
+ test_rval 0xffffffff
+ test_rval 0x100000000
+ test_rval 0x7fffffffffffffff
+ test_rval 0x8000000000000000
+ test_rval 0xfffffffffffff000
+ test_rval 0xfffffffffffffffe
+ test_rval 0xffffffffffffffff
+ ;;
+esac
diff --git a/tests-m32/ioctl.test b/tests-m32/ioctl.test
index cbbadc83..b1b40d9e 100755
--- a/tests-m32/ioctl.test
+++ b/tests-m32/ioctl.test
@@ -7,5 +7,5 @@
check_prog grep
run_prog > /dev/null
run_strace -a16 -eioctl "$@" $args > "$EXP"
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"
diff --git a/tests-m32/ioctl_dm.c b/tests-m32/ioctl_dm.c
index bbdc00c6..3792291e 100644
--- a/tests-m32/ioctl_dm.c
+++ b/tests-m32/ioctl_dm.c
@@ -35,7 +35,6 @@
# include <errno.h>
# include <inttypes.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stddef.h>
# include <string.h>
diff --git a/tests-m32/ioctl_loop.c b/tests-m32/ioctl_loop.c
index 56ebd9e4..bafbd378 100644
--- a/tests-m32/ioctl_loop.c
+++ b/tests-m32/ioctl_loop.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2016 JingPiao Chen <chenjingpiao@gmail.com>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,6 @@
#include "tests.h"
#include <stdio.h>
-#include <stdbool.h>
#include <string.h>
#include <inttypes.h>
#include <sys/ioctl.h>
diff --git a/tests-m32/ioctl_sock_gifconf.c b/tests-m32/ioctl_sock_gifconf.c
index efa55a3a..65725294 100644
--- a/tests-m32/ioctl_sock_gifconf.c
+++ b/tests-m32/ioctl_sock_gifconf.c
@@ -2,7 +2,7 @@
* Check decoding of SIOCGIFCONF command of ioctl syscall.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -30,7 +30,6 @@
#include "tests.h"
-#include <stdbool.h>
#include <stdio.h>
#include <string.h>
diff --git a/tests-m32/ioctl_v4l2.c b/tests-m32/ioctl_v4l2.c
index 47a538e4..2736b392 100644
--- a/tests-m32/ioctl_v4l2.c
+++ b/tests-m32/ioctl_v4l2.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -27,35 +27,28 @@
*/
#include "tests.h"
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <linux/types.h>
#include <linux/videodev2.h>
-#if WORDS_BIGENDIAN
-# define cc0(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
-# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
-# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
-# define cc3(arg) ((unsigned int) (unsigned char) (arg))
-# define fourcc(a0, a1, a2, a3) \
- ((unsigned int)(a3) | \
- ((unsigned int)(a2) << 8) | \
- ((unsigned int)(a1) << 16) | \
- ((unsigned int)(a0) << 24))
-#else
-# define cc0(arg) ((unsigned int) (unsigned char) (arg))
-# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
-# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
-# define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
-# define fourcc(a0, a1, a2, a3) \
+#define cc0(arg) ((unsigned int) (unsigned char) (arg))
+#define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
+#define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
+#define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
+#define fourcc(a0, a1, a2, a3) \
((unsigned int)(a0) | \
((unsigned int)(a1) << 8) | \
((unsigned int)(a2) << 16) | \
((unsigned int)(a3) << 24))
-#endif
static const unsigned int magic = 0xdeadbeef;
+static const unsigned int pf_magic = fourcc('S', '5', '0', '8');
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+static const unsigned int sf_magic = fourcc('R', 'U', '1', '2');
+#endif
static void
init_v4l2_format(struct v4l2_format *const f,
@@ -68,7 +61,10 @@ init_v4l2_format(struct v4l2_format *const f,
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
f->fmt.pix.width = 0x657b8160;
f->fmt.pix.height = 0x951c0047;
- f->fmt.pix.pixelformat = magic;
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+ f->fmt.pix.pixelformat = magic;
+ else
+ f->fmt.pix.pixelformat = pf_magic;
f->fmt.pix.field = V4L2_FIELD_NONE;
f->fmt.pix.bytesperline = 0xdf20d185;
f->fmt.pix.sizeimage = 0x0cf7be41;
@@ -82,7 +78,10 @@ init_v4l2_format(struct v4l2_format *const f,
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
f->fmt.pix_mp.width = 0x1f3b774b;
f->fmt.pix_mp.height = 0xab96a8d6;
- f->fmt.pix_mp.pixelformat = magic;
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
+ f->fmt.pix_mp.pixelformat = magic;
+ else
+ f->fmt.pix_mp.pixelformat = pf_magic;
f->fmt.pix_mp.field = V4L2_FIELD_NONE;
f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
struct v4l2_plane_pix_format *cur_pix =
@@ -129,7 +128,10 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.vbi.sampling_rate = 0x3d9b5b79;
f->fmt.vbi.offset = 0x055b3a09;
f->fmt.vbi.samples_per_line = 0xf176d436;
- f->fmt.vbi.sample_format = magic;
+ if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE)
+ f->fmt.vbi.sample_format = magic;
+ else
+ f->fmt.vbi.sample_format = pf_magic;
f->fmt.vbi.start[0] = 0x9858e2eb;
f->fmt.vbi.start[1] = 0x8a4dc8c1;
f->fmt.vbi.count[0] = 0x4bcf36a3;
@@ -154,13 +156,18 @@ init_v4l2_format(struct v4l2_format *const f,
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
case V4L2_BUF_TYPE_SDR_OUTPUT:
+ f->fmt.sdr.pixelformat = sf_magic;
+# ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+ f->fmt.sdr.buffersize = 0x25afabfb;
+# endif
+ break;
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
f->fmt.sdr.pixelformat = magic;
-#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+# ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
f->fmt.sdr.buffersize = 0x25afabfb;
-#endif
+# endif
break;
#endif
}
@@ -171,18 +178,30 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
const char *request, const unsigned int buf_type,
const char *buf_type_string)
{
+ int saved_errno;
+
switch (buf_type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
- ", fmt.pix={width=%u, height=%u, pixelformat="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
- ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
+ ", fmt.pix={width=%u, height=%u, pixelformat=",
request,
buf_type_string,
- f->fmt.pix.width, f->fmt.pix.height,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+ f->fmt.pix.width, f->fmt.pix.height);
+
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ errno = saved_errno;
+ printf(", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
+ ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
f->fmt.pix.bytesperline,
f->fmt.pix.sizeimage);
break;
@@ -191,16 +210,25 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
unsigned int i;
+ saved_errno = errno;
printf("ioctl(-1, %s"
", {type=%s"
- ", fmt.pix_mp={width=%u, height=%u, pixelformat="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", field=V4L2_FIELD_NONE, colorspace="
- "V4L2_COLORSPACE_JPEG, plane_fmt=[",
+ ", fmt.pix_mp={width=%u, height=%u, pixelformat=",
request,
buf_type_string,
- f->fmt.pix_mp.width, f->fmt.pix_mp.height,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ f->fmt.pix_mp.width, f->fmt.pix_mp.height);
+
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ printf(", field=V4L2_FIELD_NONE, colorspace="
+ "V4L2_COLORSPACE_JPEG, plane_fmt=[");
for (i = 0;
i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
++i) {
@@ -210,6 +238,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
f->fmt.pix_mp.plane_fmt[i].sizeimage,
f->fmt.pix_mp.plane_fmt[i].bytesperline);
}
+ errno = saved_errno;
printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
f->fmt.pix_mp.num_planes);
break;
@@ -250,18 +279,28 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
break;
case V4L2_BUF_TYPE_VBI_CAPTURE:
case V4L2_BUF_TYPE_VBI_OUTPUT:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
", fmt.vbi={sampling_rate=%u, offset=%u"
- ", samples_per_line=%u, sample_format="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", start=[%u, %u], count=[%u, %u]"
- ", flags=V4L2_VBI_INTERLACED}})"
- " = -1 EBADF (%m)\n",
+ ", samples_per_line=%u, sample_format=",
request,
buf_type_string,
f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
- f->fmt.vbi.samples_per_line,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+ f->fmt.vbi.samples_per_line);
+
+ if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ errno = saved_errno;
+ printf(", start=[%u, %u], count=[%u, %u]"
+ ", flags=V4L2_VBI_INTERLACED}})"
+ " = -1 EBADF (%m)\n",
f->fmt.vbi.start[0], f->fmt.vbi.start[1],
f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
break;
@@ -301,16 +340,29 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
- ", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
- " '\\x%x', '\\x%x')"
+ ", fmt.sdr={pixelformat=",
+ request,
+ buf_type_string);
+
+ if (buf_type == V4L2_BUF_TYPE_SDR_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+# if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_SDR_FMT_RU12LE */",
+ cc0(sf_magic), cc1(sf_magic), cc2(sf_magic),
+ cc3(sf_magic));
+# endif
+
+ errno = saved_errno;
+ printf(
#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)
+ "}}) = -1 EBADF (%m)\n"
#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
, f->fmt.sdr.buffersize
#endif
diff --git a/tests-m32/ipc_shm.c b/tests-m32/ipc_shm.c
index c7931388..6586c8af 100644
--- a/tests-m32/ipc_shm.c
+++ b/tests-m32/ipc_shm.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/kern_features-fault.test b/tests-m32/kern_features-fault.test
new file mode 100755
index 00000000..20c964bf
--- /dev/null
+++ b/tests-m32/kern_features-fault.test
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# Check decoding of SPARC-specific kern_features syscall.
+
+. "${srcdir=.}/scno_tampering.sh"
+
+run_prog ../kern_features > /dev/null
+prog="$args"
+fault_args='-a16 -e trace=kern_features -e inject=kern_features:retval='
+
+test_run_rval()
+{
+ local run rval
+ run="$1"; shift
+ rval="$1"; shift
+
+ run_strace $fault_args$rval $prog $run > "$EXP"
+ match_diff "$LOG" "$EXP"
+}
+
+test_run_rval 0 0
+test_run_rval 1 1
+test_run_rval 2 2
+test_run_rval 3 2147483646 # 0x7ffffffe
+test_run_rval 4 2147483647 # 0x7fffffff
+
+exit 0 # injecting retval < 0 not supported yet
+
+case "$SIZEOF_KERNEL_LONG_T" in
+4)
+ test_run_rval 5 3735943886 # 0xdeadface
+ test_run_rval 6 4294967295 # 0xffffffff
+ ;;
+8)
+ test_run_rval 5 13464652301225294542 # 0xbadc0deddeadface
+ test_run_rval 6 18446744073709551615 # 0xffffffffffffffff
+ ;;
+esac
diff --git a/tests-m32/kern_features.c b/tests-m32/kern_features.c
new file mode 100644
index 00000000..87bc3f6f
--- /dev/null
+++ b/tests-m32/kern_features.c
@@ -0,0 +1,120 @@
+/*
+ * Check decoding of SPARC-specific kern_features syscall.
+ *
+ * Copyright (c) 2018 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 <asm/unistd.h>
+
+#include "raw_syscall.h"
+#include "scno.h"
+
+#if defined __NR_kern_features && defined raw_syscall_0
+
+# include <errno.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
+
+static void
+test_kern_features(unsigned int num)
+{
+ /* The expected return codes, as enforced by fault injection */
+ static struct {
+ kernel_ulong_t ret;
+ const char *str;
+ } checks[] = {
+ { 0, NULL },
+ { 1, "KERN_FEATURE_MIXED_MODE_STACK" },
+ { 2, "0x2" },
+ { 0x7ffffffe, "0x7ffffffe" },
+ { 0x7fffffff, "KERN_FEATURE_MIXED_MODE_STACK|0x7ffffffe" },
+ { (kernel_ulong_t) 0xbadc0deddeadfaceULL,
+ sizeof(kernel_ulong_t) == 8 ?
+ "0xbadc0deddeadface" : "0xdeadface" },
+ { (kernel_ulong_t) -1ULL,
+ sizeof(kernel_ulong_t) == 8 ?
+ "KERN_FEATURE_MIXED_MODE_STACK|0xfffffffffffffffe" :
+ "KERN_FEATURE_MIXED_MODE_STACK|0xfffffffe" },
+ };
+
+ kernel_ulong_t err = 0;
+ kernel_ulong_t rc = raw_syscall_0(__NR_kern_features, &err);
+
+ if (err) {
+ errno = rc;
+ printf("kern_features() = %s\n", sprintrc(-1));
+ return;
+ }
+
+ printf("kern_features() = %#llx", (unsigned long long) rc);
+
+ if (num < ARRAY_SIZE(checks)) {
+ if (rc != checks[num].ret)
+ error_msg_and_fail("Expected return value (%llx) "
+ "doesn't match expected one (%#llx)",
+ (unsigned long long) rc,
+ (unsigned long long) checks[num].ret);
+
+ if (checks[num].str)
+ printf(" (%s)", checks[num].str);
+
+ printf(" (INJECTED)");
+ } else if (rc) {
+ printf(" (");
+
+ if (rc & 1)
+ printf("KERN_FEATURE_MIXED_MODE_STACK");
+
+ if (rc & ~1ULL) {
+ if (rc & 1)
+ printf("|");
+
+ printf("%#llx", rc & ~1ULL);
+ }
+
+ printf(")");
+ }
+
+ puts("");
+}
+
+int
+main(int ac, char **av)
+{
+ test_kern_features(ac > 1 ? atoi(av[1]) : -1);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_kern_features && raw_syscall_0");
+
+#endif
diff --git a/tests-m32/kern_features.gen.test b/tests-m32/kern_features.gen.test
new file mode 100755
index 00000000..317614a4
--- /dev/null
+++ b/tests-m32/kern_features.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kern_features -a16 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-m32/keyctl.c b/tests-m32/keyctl.c
index 2d8b9ecc..5d46ab78 100644
--- a/tests-m32/keyctl.c
+++ b/tests-m32/keyctl.c
@@ -2,7 +2,7 @@
* Check decoding of keyctl syscall.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
# include <errno.h>
# include <inttypes.h>
# include <stdarg.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
diff --git a/tests-m32/localtime.c b/tests-m32/localtime.c
new file mode 100644
index 00000000..bae54867
--- /dev/null
+++ b/tests-m32/localtime.c
@@ -0,0 +1,57 @@
+/*
+ * Check handling of localtime() returning NULL in printleader().
+ *
+ * Copyright (c) 2018 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 <assert.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+ struct timespec ts;
+ int pid;
+
+ assert(!clock_gettime(CLOCK_REALTIME, &ts));
+
+ pid = syscall(__NR_gettid);
+
+ /* We expect localtime to fail here */
+ printf("%lld.%06ld gettid() = %d\n",
+ (long long) ts.tv_sec, (long) (ts.tv_nsec / 1000), pid);
+
+ printf("%lld.%06ld +++ exited with 0 +++\n",
+ (long long) ts.tv_sec, (long) (ts.tv_nsec / 1000));
+
+ return 0;
+}
diff --git a/tests-m32/localtime.test b/tests-m32/localtime.test
new file mode 100755
index 00000000..d025b77f
--- /dev/null
+++ b/tests-m32/localtime.test
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# Check handling of localtime() failure in printleader().
+#
+# Copyright (c) 2018 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"
+
+check_prog faketime
+faketime -f +1000000000000000000x0 ../$NAME | grep -q '^100000000' \
+ || framework_skip_ 'faketime failed to fake time'
+
+STRACE="faketime -f +1000000000000000000x0 $STRACE"
+
+run_strace_match_diff -tt -a10 -e trace=gettid
diff --git a/tests-m32/mq_sendrecv.c b/tests-m32/mq_sendrecv.c
index f6f6bd29..03c786cd 100644
--- a/tests-m32/mq_sendrecv.c
+++ b/tests-m32/mq_sendrecv.c
@@ -3,7 +3,7 @@
* mq_unlink syscalls.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
# include <fcntl.h>
# include <inttypes.h>
# include <signal.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
diff --git a/tests-m32/net-yy-inet.c b/tests-m32/net-yy-inet.c
index c69bb173..b32d547d 100644
--- a/tests-m32/net-yy-inet.c
+++ b/tests-m32/net-yy-inet.c
@@ -41,44 +41,60 @@
#include "accept_compat.h"
+#ifndef ADDR_FAMILY
+# define ADDR_FAMILY_FIELD sin_family
+# define ADDR_FAMILY AF_INET
+# define AF_STR "AF_INET"
+# define LOOPBACK_FIELD .sin_addr.s_addr = htonl(INADDR_LOOPBACK)
+# define LOOPBACK "127.0.0.1"
+# define SOCKADDR_TYPE sockaddr_in
+# define TCP_STR "TCP"
+# define INPORT sin_port
+# define INPORT_STR "sin_port"
+# define INADDR_STR "sin_addr=inet_addr(\"" LOOPBACK "\")"
+# define SA_FIELDS ""
+#endif
+
int
main(void)
{
skip_if_unavailable("/proc/self/fd/");
- const struct sockaddr_in addr = {
- .sin_family = AF_INET,
- .sin_addr.s_addr = htonl(INADDR_LOOPBACK)
+ const struct SOCKADDR_TYPE addr = {
+ .ADDR_FAMILY_FIELD = ADDR_FAMILY,
+ LOOPBACK_FIELD
};
struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
*len = sizeof(addr);
- const int listen_fd = socket(AF_INET, SOCK_STREAM, 0);
+ const int listen_fd = socket(ADDR_FAMILY, SOCK_STREAM, 0);
if (listen_fd < 0)
perror_msg_and_skip("socket");
const unsigned long listen_inode = inode_of_sockfd(listen_fd);
- printf("socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = %d<TCP:[%lu]>\n",
+ printf("socket(" AF_STR ", SOCK_STREAM, IPPROTO_IP) = %d<" TCP_STR
+ ":[%lu]>\n",
listen_fd, listen_inode);
if (bind(listen_fd, listen_sa, *len))
perror_msg_and_skip("bind");
- printf("bind(%d<TCP:[%lu]>, {sa_family=AF_INET, sin_port=htons(0)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, %u) = 0\n",
+ printf("bind(%d<" TCP_STR ":[%lu]>, {sa_family=" AF_STR ", " INPORT_STR
+ "=htons(0), " INADDR_STR SA_FIELDS "}, %u) = 0\n",
listen_fd, listen_inode, (unsigned) *len);
if (listen(listen_fd, 1))
perror_msg_and_skip("listen");
- printf("listen(%d<TCP:[%lu]>, 1) = 0\n", listen_fd, listen_inode);
+ printf("listen(%d<" TCP_STR ":[%lu]>, 1) = 0\n",
+ listen_fd, listen_inode);
memset(listen_sa, 0, sizeof(addr));
*len = sizeof(addr);
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);
- 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\")}"
+ ntohs(((struct SOCKADDR_TYPE *) listen_sa)->INPORT);
+ printf("getsockname(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family="
+ AF_STR ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
", [%u]) = 0\n",
listen_fd, listen_port, listen_port, (unsigned) *len);
@@ -86,22 +102,23 @@ main(void)
*len = sizeof(*optval);
if (getsockopt(listen_fd, SOL_TCP, TCP_MAXSEG, optval, len))
perror_msg_and_fail("getsockopt");
- printf("getsockopt(%d<TCP:[127.0.0.1:%u]>, SOL_TCP, TCP_MAXSEG"
- ", [%u], [%u]) = 0\n",
+ printf("getsockopt(%d<" TCP_STR ":[" LOOPBACK ":%u]>, SOL_TCP, "
+ "TCP_MAXSEG, [%u], [%u]) = 0\n",
listen_fd, listen_port, *optval, (unsigned) *len);
- const int connect_fd = socket(AF_INET, SOCK_STREAM, 0);
+ const int connect_fd = socket(ADDR_FAMILY, SOCK_STREAM, 0);
if (connect_fd < 0)
perror_msg_and_fail("socket");
const unsigned long connect_inode = inode_of_sockfd(connect_fd);
- printf("socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = %d<TCP:[%lu]>\n",
+ printf("socket(" AF_STR ", SOCK_STREAM, IPPROTO_IP) = %d<" TCP_STR
+ ":[%lu]>\n",
connect_fd, connect_inode);
*len = sizeof(addr);
if (connect(connect_fd, listen_sa, *len))
perror_msg_and_fail("connect");
- printf("connect(%d<TCP:[%lu]>, {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, %u) = 0\n",
+ printf("connect(%d<" TCP_STR ":[%lu]>, {sa_family=" AF_STR ", "
+ INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}, %u) = 0\n",
connect_fd, connect_inode, listen_port, (unsigned) *len);
struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
@@ -111,10 +128,10 @@ main(void)
if (accept_fd < 0)
perror_msg_and_fail("accept");
const unsigned int connect_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",
+ ntohs(((struct SOCKADDR_TYPE *) accept_sa)->INPORT);
+ printf("accept(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR
+ ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
+ ", [%u]) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>\n",
listen_fd, listen_port, connect_port, (unsigned) *len,
accept_fd, listen_port, connect_port);
@@ -122,9 +139,9 @@ main(void)
*len = sizeof(addr);
if (getpeername(accept_fd, accept_sa, len))
perror_msg_and_fail("getpeername");
- printf("getpeername(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
- ", {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, [%u]) = 0\n",
+ printf("getpeername(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
+ ", {sa_family=" AF_STR ", " INPORT_STR "=htons(%u)"
+ ", " INADDR_STR SA_FIELDS "}, [%u]) = 0\n",
accept_fd, listen_port, connect_port, connect_port,
(unsigned) *len);
@@ -132,16 +149,16 @@ main(void)
*len = sizeof(addr);
if (getpeername(connect_fd, listen_sa, len))
perror_msg_and_fail("getpeername");
- printf("getpeername(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
- ", {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, [%u]) = 0\n",
+ printf("getpeername(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
+ ", {sa_family=" AF_STR ", " INPORT_STR "=htons(%u)"
+ ", " INADDR_STR SA_FIELDS "}, [%u]) = 0\n",
connect_fd, connect_port, listen_port, listen_port,
(unsigned) *len);
*len = sizeof(*optval);
if (setsockopt(connect_fd, SOL_TCP, TCP_MAXSEG, optval, *len))
perror_msg_and_fail("setsockopt");
- printf("setsockopt(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
+ printf("setsockopt(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
", SOL_TCP, TCP_MAXSEG, [%u], %u) = 0\n",
connect_fd, connect_port, listen_port, *optval,
(unsigned) *len);
@@ -149,28 +166,30 @@ main(void)
char text[] = "text";
assert(sendto(connect_fd, text, sizeof(text) - 1,
MSG_DONTROUTE | MSG_DONTWAIT, NULL, 0) == sizeof(text) - 1);
- printf("sendto(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>, \"%s\", %u"
- ", MSG_DONTROUTE|MSG_DONTWAIT, NULL, 0) = %u\n",
+ printf("sendto(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>, "
+ "\"%s\", %u, MSG_DONTROUTE|MSG_DONTWAIT, NULL, 0) = %u\n",
connect_fd, connect_port, listen_port, text,
(unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
assert(close(connect_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>) = "
+ "0\n",
connect_fd, connect_port, listen_port);
assert(recvfrom(accept_fd, text, sizeof(text) - 1, MSG_WAITALL,
NULL, NULL) == sizeof(text) - 1);
- printf("recvfrom(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>, \"%s\", %u"
- ", MSG_WAITALL, NULL, NULL) = %u\n",
+ printf("recvfrom(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>, "
+ "\"%s\", %u, MSG_WAITALL, NULL, NULL) = %u\n",
accept_fd, listen_port, connect_port, text,
(unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
assert(close(accept_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>) = "
+ "0\n",
accept_fd, listen_port, connect_port);
assert(close(listen_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u]>) = 0\n",
listen_fd, listen_port);
puts("+++ exited with 0 +++");
diff --git a/tests-m32/net-yy-inet6.c b/tests-m32/net-yy-inet6.c
new file mode 100644
index 00000000..c97979f7
--- /dev/null
+++ b/tests-m32/net-yy-inet6.c
@@ -0,0 +1,13 @@
+#define ADDR_FAMILY_FIELD sin6_family
+#define ADDR_FAMILY AF_INET6
+#define AF_STR "AF_INET6"
+#define LOOPBACK_FIELD .sin6_addr = IN6ADDR_LOOPBACK_INIT
+#define LOOPBACK "[::1]"
+#define SOCKADDR_TYPE sockaddr_in6
+#define TCP_STR "TCPv6"
+#define INPORT sin6_port
+#define INPORT_STR "sin6_port"
+#define INADDR_STR "inet_pton(AF_INET6, \"::1\", &sin6_addr)"
+#define SA_FIELDS ", sin6_flowinfo=htonl(0), sin6_scope_id=0"
+
+#include "net-yy-inet.c"
diff --git a/tests-m32/net-yy-inet6.gen.test b/tests-m32/net-yy-inet6.gen.test
new file mode 100755
index 00000000..afa38c6e
--- /dev/null
+++ b/tests-m32/net-yy-inet6.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-yy-inet6 +net-yy-inet.test ); do not edit.
+set --
+. "${srcdir=.}/net-yy-inet.test"
diff --git a/tests-m32/netlink_kobject_uevent.c b/tests-m32/netlink_kobject_uevent.c
index cacab5fd..7edacd7d 100644
--- a/tests-m32/netlink_kobject_uevent.c
+++ b/tests-m32/netlink_kobject_uevent.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
- * Copyright (c) 2017 The strace developers.
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -31,12 +31,21 @@
#include <sys/socket.h>
#include "netlink.h"
+static const char *errstr;
+
+static ssize_t
+sys_send(const int fd, const void *const buf, const size_t len)
+{
+ const ssize_t rc = sendto(fd, buf, len, MSG_DONTWAIT, NULL, 0);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
int
main(void)
{
skip_if_unavailable("/proc/self/fd/");
- long rc;
int fd = create_nl_socket(NETLINK_KOBJECT_UEVENT);
/* test using data that looks like a zero-length C string */
@@ -44,17 +53,17 @@ main(void)
buf[0] = '=';
fill_memory_ex(buf + 1, DEFAULT_STRLEN, 0, DEFAULT_STRLEN);
- rc = sendto(fd, buf + 1, DEFAULT_STRLEN, MSG_DONTWAIT, NULL, 0);
+ sys_send(fd, buf + 1, DEFAULT_STRLEN);
printf("sendto(%d, ", fd);
print_quoted_memory(buf + 1, DEFAULT_STRLEN);
printf(", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- DEFAULT_STRLEN, sprintrc(rc));
+ DEFAULT_STRLEN, errstr);
- rc = sendto(fd, buf, DEFAULT_STRLEN + 1, MSG_DONTWAIT, NULL, 0);
+ sys_send(fd, buf, DEFAULT_STRLEN + 1);
printf("sendto(%d, ", fd);
print_quoted_memory(buf, DEFAULT_STRLEN);
printf("..., %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- DEFAULT_STRLEN + 1, sprintrc(rc));
+ DEFAULT_STRLEN + 1, errstr);
puts("+++ exited with 0 +++");
return 0;
diff --git a/tests-m32/netlink_netfilter.c b/tests-m32/netlink_netfilter.c
index db2622eb..57532f52 100644
--- a/tests-m32/netlink_netfilter.c
+++ b/tests-m32/netlink_netfilter.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017, 2018 Chen Jingpiao <chenjingpiao@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,9 +32,24 @@
# include <stdio.h>
# include <string.h>
# include <unistd.h>
+# include <netinet/in.h>
+# include <arpa/inet.h>
# include <sys/socket.h>
-# include "netlink.h"
+# include "test_netlink.h"
# include <linux/netfilter/nfnetlink.h>
+# ifdef HAVE_LINUX_NETFILTER_NF_TABLES_H
+# include <linux/netfilter/nf_tables.h>
+# endif
+
+# ifndef NFNETLINK_V0
+# define NFNETLINK_V0 0
+# endif
+# ifndef NFNL_SUBSYS_NFTABLES
+# define NFNL_SUBSYS_NFTABLES 10
+# endif
+# ifndef NFT_MSG_NEWTABLE
+# define NFT_MSG_NEWTABLE 0
+# endif
static void
test_nlmsg_type(const int fd)
@@ -70,6 +85,108 @@ test_nlmsg_type(const int fd)
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
+static void
+test_nlmsg_done(const int fd)
+{
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ const int num = 0xabcdefad;
+
+ TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST,
+ sizeof(num), &num, sizeof(num),
+ printf("%d", num));
+}
+
+static void
+test_nfgenmsg(const int fd)
+{
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+
+ struct nfgenmsg msg = {
+ .nfgen_family = AF_UNIX,
+ .version = NFNETLINK_V0,
+ .res_id = NFNL_SUBSYS_NFTABLES
+ };
+
+ TEST_NETLINK_OBJECT_EX_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ msg, print_quoted_hex,
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=");
+ if (htons(NFNL_SUBSYS_NFTABLES) == NFNL_SUBSYS_NFTABLES)
+ printf("htons(NFNL_SUBSYS_NFTABLES)");
+ else
+ printf("NFNL_SUBSYS_NFTABLES");
+ );
+
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)"));
+
+ msg.res_id = htons(0xabcd);
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)", 0xabcd));
+
+# ifdef NFNL_MSG_BATCH_BEGIN
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ TEST_NETLINK(fd, nlh0,
+ NFNL_MSG_BATCH_BEGIN, NLM_F_REQUEST,
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)", NFNL_SUBSYS_NFTABLES));
+
+ char str_buf[NLMSG_ALIGN(sizeof(msg)) + 4];
+
+ msg.res_id = htons(0xabcd);
+ memcpy(str_buf, &msg, sizeof(msg));
+ memcpy(str_buf + NLMSG_ALIGN(sizeof(msg)), "1234", 4);
+
+ TEST_NETLINK(fd, nlh0,
+ NFNL_MSG_BATCH_BEGIN, NLM_F_REQUEST,
+ sizeof(str_buf), str_buf, sizeof(str_buf),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)"
+ ", \"\\x31\\x32\\x33\\x34\"", 0xabcd));
+# endif /* NFNL_MSG_BATCH_BEGIN */
+
+ static const struct nlattr nla = {
+ .nla_len = sizeof(nla),
+ .nla_type = 0x0bcd
+ };
+ char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)];
+
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ memcpy(nla_buf, &msg, sizeof(msg));
+ memcpy(nla_buf + NLMSG_ALIGN(sizeof(msg)), &nla, sizeof(nla));
+
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | 0xff,
+ "NFNL_SUBSYS_NFTABLES<<8|0xff /* NFT_MSG_??? */",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(nla_buf), nla_buf, sizeof(nla_buf),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)"
+ ", {nla_len=%d, nla_type=%#x}",
+ nla.nla_len, nla.nla_type));
+}
+
int main(void)
{
skip_if_unavailable("/proc/self/fd/");
@@ -77,6 +194,8 @@ int main(void)
int fd = create_nl_socket(NETLINK_NETFILTER);
test_nlmsg_type(fd);
+ test_nlmsg_done(fd);
+ test_nfgenmsg(fd);
printf("+++ exited with 0 +++\n");
diff --git a/tests-m32/options-syntax.test b/tests-m32/options-syntax.test
index f81dd992..af7002b2 100755
--- a/tests-m32/options-syntax.test
+++ b/tests-m32/options-syntax.test
@@ -73,8 +73,9 @@ diff -u -- "$EXP" "$LOG" > /dev/null || {
"zeroargc $STRACE $args output mismatch"
}
-if [ -n "${UID-}" ]; then
- if [ "${UID-}" = 0 ]; then
+uid="${UID:-`id -u`}"
+if [ "$uid" -ge 0 ]; then
+ if [ "$uid" -eq 0 ]; then
umsg="Cannot find user ':nosuchuser:'"
else
umsg='You must be root to use the -u option'
@@ -92,9 +93,6 @@ $STRACE_EXE: -t has no effect with -c
$STRACE_EXE: -T has no effect with -c
$STRACE_EXE: -y has no effect with -c
$STRACE_EXE: $umsg" -u :nosuchuser: -cirtTy true
-
- check_e "-tt has no effect with -r
-$STRACE_EXE: $umsg" -u :nosuchuser: -r -tt true
fi
args='-p 2147483647'
diff --git a/tests-m32/perf_event_open.c b/tests-m32/perf_event_open.c
index 667c31f4..17d3f228 100644
--- a/tests-m32/perf_event_open.c
+++ b/tests-m32/perf_event_open.c
@@ -35,7 +35,6 @@
# include <inttypes.h>
# include <limits.h>
-# include <stdbool.h>
# include <stddef.h>
# include <stdio.h>
# include <stdlib.h>
diff --git a/tests-m32/pread64-pwrite64.c b/tests-m32/pread64-pwrite64.c
index e9d7a645..a182ab5d 100644
--- a/tests-m32/pread64-pwrite64.c
+++ b/tests-m32/pread64-pwrite64.c
@@ -2,7 +2,7 @@
* Check decoding of pread64 and pwrite64 syscalls.
*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -169,6 +169,7 @@ main(void)
if (rc != -1)
perror_msg_and_fail("pwrite64: expected -1, returned %ld", rc);
tprintf("pwrite64(1, \"\\0\", 1, -3) = -1 EINVAL (%m)\n");
+ dump_str(nil, 1);
rc = pwrite(1, w, w_len, 0);
if (rc != (int) w_len)
diff --git a/tests-m32/print_quoted_string.c b/tests-m32/print_quoted_string.c
index 2894e49b..3ca56318 100644
--- a/tests-m32/print_quoted_string.c
+++ b/tests-m32/print_quoted_string.c
@@ -10,6 +10,12 @@
*/
void
+print_quoted_string_ex(const char *instr, bool quote, const char *escape_chars)
+{
+ print_quoted_memory_ex(instr, strlen(instr), quote, escape_chars);
+}
+
+void
print_quoted_string(const char *instr)
{
print_quoted_memory(instr, strlen(instr));
@@ -27,13 +33,39 @@ print_quoted_cstring(const char *instr, const size_t size)
}
}
+static void
+print_octal(unsigned char c, char next)
+{
+ putchar('\\');
+
+ char c1 = '0' + (c & 0x7);
+ char c2 = '0' + ((c >> 3) & 0x7);
+ char c3 = '0' + (c >> 6);
+
+ if (next >= '0' && next <= '7') {
+ /* Print \octal */
+ putchar(c3);
+ putchar(c2);
+ } else {
+ /* Print \[[o]o]o */
+ if (c3 != '0')
+ putchar(c3);
+ if (c3 != '0' || c2 != '0')
+ putchar(c2);
+ }
+ putchar(c1);
+}
+
void
-print_quoted_memory(const void *const instr, const size_t len)
+print_quoted_memory_ex(const void *const instr, const size_t len,
+ bool quote, const char *escape_chars)
{
const unsigned char *str = (const unsigned char *) instr;
size_t i;
- putchar('"');
+ if (quote)
+ putchar('"');
+
for (i = 0; i < len; ++i) {
const int c = str[i];
switch (c) {
@@ -59,33 +91,26 @@ print_quoted_memory(const void *const instr, const size_t len)
printf("\\v");
break;
default:
- if (c >= ' ' && c <= 0x7e)
+ if (c >= ' ' && c <= 0x7e &&
+ !(escape_chars && strchr(escape_chars, c))) {
putchar(c);
- else {
- putchar('\\');
-
- char c1 = '0' + (c & 0x7);
- char c2 = '0' + ((c >> 3) & 0x7);
- char c3 = '0' + (c >> 6);
-
- if (*str >= '0' && *str <= '9') {
- /* Print \octal */
- putchar(c3);
- putchar(c2);
- } else {
- /* Print \[[o]o]o */
- if (c3 != '0')
- putchar(c3);
- if (c3 != '0' || c2 != '0')
- putchar(c2);
- }
- putchar(c1);
+ } else {
+ print_octal(c,
+ i < (len - 1) ? str[i + 1] : 0);
}
+
break;
}
}
- putchar('"');
+ if (quote)
+ putchar('"');
+}
+
+void
+print_quoted_memory(const void *const instr, const size_t len)
+{
+ print_quoted_memory_ex(instr, len, true, NULL);
}
void
diff --git a/tests-m32/ptrace.c b/tests-m32/ptrace.c
index c70d5689..5c09fa32 100644
--- a/tests-m32/ptrace.c
+++ b/tests-m32/ptrace.c
@@ -33,7 +33,9 @@
#include <errno.h>
#include "ptrace.h"
+#include <inttypes.h>
#include <signal.h>
+#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/wait.h>
@@ -177,6 +179,8 @@ main(void)
const unsigned long pid =
(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
+ uint64_t *filter_off = tail_alloc(sizeof(*filter_off));
+
const unsigned int sigset_size = get_sigset_size();
void *const k_set = tail_alloc(sigset_size);
@@ -246,6 +250,22 @@ main(void)
printf("ptrace(PTRACE_SECCOMP_GET_FILTER, %u, 42, NULL) = %s\n",
(unsigned) pid, errstr);
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, bad_data, 0);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, %lu, NULL) = %s\n",
+ (unsigned) pid, bad_data, errstr);
+
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, 7,
+ (unsigned long) filter_off);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, 7, %p) = %s\n",
+ (unsigned) pid, filter_off, errstr);
+
+ *filter_off = 0xfacefeeddeadc0deULL;
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, bad_data,
+ (unsigned long) filter_off);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, %lu, "
+ "{filter_off=%" PRIu64 "}) = %s\n",
+ (unsigned) pid, bad_data, *filter_off, errstr);
+
do_ptrace(PTRACE_GETEVENTMSG, pid, bad_request, bad_data);
printf("ptrace(PTRACE_GETEVENTMSG, %u, %#lx, %#lx) = %s\n",
(unsigned) pid, bad_request, bad_data, errstr);
diff --git a/tests-m32/pure_executables.am b/tests-m32/pure_executables.am
index 128028fe..bbb3ad9f 100644
--- a/tests-m32/pure_executables.am
+++ b/tests-m32/pure_executables.am
@@ -24,6 +24,7 @@ PURE_EXECUTABLES = \
copy_file_range \
creat \
delete_module \
+ dev-yy \
dup \
dup2 \
dup3 \
@@ -125,6 +126,7 @@ PURE_EXECUTABLES = \
ipc_shm \
kcmp \
kcmp-y \
+ kern_features \
kexec_file_load \
kexec_load \
keyctl \
@@ -170,6 +172,7 @@ PURE_EXECUTABLES = \
net-sockaddr \
net-y-unix \
net-yy-inet \
+ net-yy-inet6 \
net-yy-netlink \
net-yy-unix \
netlink_audit \
diff --git a/tests-m32/pure_executables.list b/tests-m32/pure_executables.list
index 2f602a93..d78bd4d5 100755
--- a/tests-m32/pure_executables.list
+++ b/tests-m32/pure_executables.list
@@ -23,6 +23,7 @@ clock_xettime
copy_file_range
creat
delete_module
+dev-yy
dup
dup2
dup3
@@ -124,6 +125,7 @@ ipc_sem
ipc_shm
kcmp
kcmp-y
+kern_features
kexec_file_load
kexec_load
keyctl
@@ -169,6 +171,7 @@ net-icmp_filter
net-sockaddr
net-y-unix
net-yy-inet
+net-yy-inet6
net-yy-netlink
net-yy-unix
netlink_audit
diff --git a/tests-m32/qual_inject-syntax.test b/tests-m32/qual_inject-syntax.test
index 46cead28..20bc0c3b 100755
--- a/tests-m32/qual_inject-syntax.test
+++ b/tests-m32/qual_inject-syntax.test
@@ -84,7 +84,9 @@ for arg in 42 chdir \
chdir:when=65536:error=30 \
chdir:when=1+65536 \
chdir:when=1+65536:error=31 \
- chdir:retval=-1 \
+ chdir:retval=a \
+ chdir:retval=0b \
+ chdir:retval=0x10000000000000000 \
chdir:signal=0 \
chdir:signal=129 \
chdir:signal=1:signal=2 \
@@ -94,6 +96,12 @@ for arg in 42 chdir \
chdir:retval=0:error=1 \
chdir:error=1:retval=0 \
chdir:retval=0:signal=1:error=1 \
+ chdir:delay_enter=-1 \
+ chdir:delay_exit=-2 \
+ chdir:delay_enter=1:delay_enter=2 \
+ chdir:delay_exit=3:delay_exit=4 \
+ chdir:delay_enter=5:delay_exit=6:delay_enter=7 \
+ chdir:delay_exit=8:delay_enter=9:delay_exit=10 \
; do
$STRACE -e inject="$arg" true 2> "$LOG" &&
fail_with "$arg"
diff --git a/tests-m32/read-write.c b/tests-m32/read-write.c
index ed4c64d4..6a978b36 100644
--- a/tests-m32/read-write.c
+++ b/tests-m32/read-write.c
@@ -2,7 +2,7 @@
* Check decoding and dumping of read and write syscalls.
*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,15 @@
static void
dump_str(const char *str, const unsigned int len)
{
- static const char dots[16] = "................";
+ static const char chars[256] =
+ "................................"
+ " !\"#$%&'()*+,-./0123456789:;<=>?"
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
+ "`abcdefghijklmnopqrstuvwxyz{|}~."
+ "................................"
+ "................................"
+ "................................"
+ "................................";
unsigned int i;
for (i = 0; i < len; i += 16) {
@@ -47,7 +55,7 @@ dump_str(const char *str, const unsigned int len)
const char *dump = hexdump_memdup(str + i, n);
tprintf(" | %05x %-49s %-16.*s |\n",
- i, dump, n, dots);
+ i, dump, n, chars + i);
free((void *) dump);
}
@@ -59,9 +67,16 @@ print_hex(const char *str, const unsigned int len)
const unsigned char *ustr = (const unsigned char *) str;
unsigned int i;
+ tprintf("\"");
+
for (i = 0; i < len; ++i) {
unsigned int c = ustr[i];
+ if (i >= DEFAULT_STRLEN) {
+ tprintf("\"...");
+ return;
+ }
+
switch (c) {
case '\t':
tprintf("\\t"); break;
@@ -77,6 +92,8 @@ print_hex(const char *str, const unsigned int len)
tprintf("\\%o", ustr[i]);
}
}
+
+ tprintf("\"");
}
static long
@@ -94,9 +111,12 @@ k_write(unsigned int fd, const void *buf, size_t count)
}
static void
-test_dump(const unsigned int len)
+test_dump(const unsigned int len, bool err_desc)
{
static char *buf;
+ const char *rc_str;
+ int in_fd = err_desc ? 5 : 0;
+ int out_fd = err_desc ? 4 : 1;
if (buf) {
size_t ps1 = get_page_size() - 1;
@@ -105,28 +125,34 @@ test_dump(const unsigned int len)
buf = tail_alloc(len);
}
- long rc = k_read(0, buf, len);
- if (rc != (int) len)
+ long rc = k_read(in_fd, buf, len);
+ rc_str = sprintrc(rc);
+ if (err_desc ^ (rc != (int) len))
perror_msg_and_fail("read: expected %d, returned %ld",
- len, rc);
+ err_desc ? -1 : (int) len, rc);
- tprintf("%s(%d, \"", "read", 0);
- print_hex(buf, len);
- tprintf("\", %d) = %ld\n", len, rc);
- dump_str(buf, len);
+ tprintf("%s(%d, ", "read", in_fd);
+ if (!err_desc)
+ print_hex(buf, len);
+ else
+ tprintf("%p", buf);
+ tprintf(", %d) = %s\n", len, rc_str);
+ if (!err_desc)
+ dump_str(buf, len);
unsigned int i;
for (i = 0; i < len; ++i)
buf[i] = i;
- rc = k_write(1, buf, len);
- if (rc != (int) len)
+ rc = k_write(out_fd, buf, len);
+ rc_str = sprintrc(rc);
+ if (err_desc ^ (rc != (int) len))
perror_msg_and_fail("write: expected %d, returned %ld",
- len, rc);
+ err_desc ? -1 : (int) len, rc);
- tprintf("%s(%d, \"", "write", 1);
+ tprintf("%s(%d, ", "write", out_fd);
print_hex(buf, len);
- tprintf("\", %d) = %ld\n", len, rc);
+ tprintf(", %d) = %s\n", len, rc_str);
dump_str(buf, len);
if (!len)
@@ -218,9 +244,17 @@ main(void)
if (open("/dev/null", O_WRONLY) != 1)
perror_msg_and_fail("open");
+ if (open("/dev/zero", O_RDONLY) != 4)
+ perror_msg_and_fail("open");
+
+ if (open("/dev/null", O_WRONLY) != 5)
+ perror_msg_and_fail("open");
+
unsigned int i;
- for (i = 0; i <= 32; ++i)
- test_dump(i);
+ for (i = 0; i <= DEFAULT_STRLEN; ++i)
+ test_dump(i, false);
+
+ test_dump(256, true);
tprintf("+++ exited with 0 +++\n");
return 0;
diff --git a/tests-m32/read-write.gen.test b/tests-m32/read-write.gen.test
index df1b3fb3..c66628f2 100755
--- a/tests-m32/read-write.gen.test
+++ b/tests-m32/read-write.gen.test
@@ -1,4 +1,4 @@
#!/bin/sh -efu
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+run_strace_match_diff -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests-m32/remap_file_pages.c b/tests-m32/remap_file_pages.c
index 4e409630..f861b306 100644
--- a/tests-m32/remap_file_pages.c
+++ b/tests-m32/remap_file_pages.c
@@ -2,6 +2,7 @@
* Check decoding of remap_file_pages syscall.
*
* Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -81,13 +82,21 @@ main(void)
k_remap_file_pages(addr, size, prot, pgoff, flags);
printf("remap_file_pages(%#jx, %ju, %s, %ju"
- ", %#x /* MAP_??? */"
+/*
+ * HP PA-RISC is the only architecture that has MAP_TYPE defined to 0x3, which
+ * is also used for MAP_SHARED_VALIDATE since Linux commit v4.15-rc1~71^2^2~23.
+ */
+# ifdef __hppa__
+ ", MAP_SHARED_VALIDATE"
+# else
+ ", 0xf /* MAP_??? */"
+# endif
"|MAP_FIXED|MAP_NORESERVE|MAP_HUGETLB|21<<MAP_HUGE_SHIFT)"
" = %s\n",
(uintmax_t) addr, (uintmax_t) size,
prot == PROT_NONE ? "PROT_NONE" :
"0xdefaced00000000 /* PROT_??? */",
- (uintmax_t) pgoff, MAP_TYPE, errstr);
+ (uintmax_t) pgoff, errstr);
#endif /* MAP_HUGETLB */
puts("+++ exited with 0 +++");
diff --git a/tests-m32/s390_guarded_storage.c b/tests-m32/s390_guarded_storage.c
index ab67c158..69ac166d 100644
--- a/tests-m32/s390_guarded_storage.c
+++ b/tests-m32/s390_guarded_storage.c
@@ -33,7 +33,6 @@
#if defined __NR_s390_guarded_storage && defined HAVE_ASM_GUARDED_STORAGE_H
# include <inttypes.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
diff --git a/tests-m32/s390_pci_mmio_read_write.c b/tests-m32/s390_pci_mmio_read_write.c
index b493948d..9383d6ed 100644
--- a/tests-m32/s390_pci_mmio_read_write.c
+++ b/tests-m32/s390_pci_mmio_read_write.c
@@ -33,7 +33,6 @@
#if defined __NR_s390_pci_mmio_read && defined __NR_s390_pci_mmio_write
# include <errno.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
diff --git a/tests-m32/s390_sthyi.c b/tests-m32/s390_sthyi.c
index 8b241dd2..8f6bbfb1 100644
--- a/tests-m32/s390_sthyi.c
+++ b/tests-m32/s390_sthyi.c
@@ -35,7 +35,6 @@
# include <errno.h>
# include <iconv.h>
# include <inttypes.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
@@ -48,7 +47,7 @@
# define VERBOSE 0
# endif
-static bool
+static inline bool
print_0x8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
if (!zero && !buf[offs])
@@ -59,7 +58,7 @@ print_0x8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
if (!zero && !buf[offs])
@@ -70,7 +69,7 @@ print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_u16(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
uint16_t val = *(uint16_t *) (buf + offs);
@@ -83,7 +82,7 @@ print_u16(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_x32(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
uint32_t val = *(uint32_t *) (buf + offs);
@@ -96,7 +95,7 @@ print_x32(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_weight(const char *prefix, unsigned char *buf, unsigned int offs,
bool zero)
{
@@ -115,7 +114,7 @@ print_weight(const char *prefix, unsigned char *buf, unsigned int offs,
return false;
}
-static char *
+static inline char *
ebcdic2ascii(unsigned char *ebcdic, size_t size)
{
static char ascii_buf[EBCDIC_MAX_LEN];
@@ -169,8 +168,7 @@ ebcdic2ascii_end:
return ascii_buf;
}
-# if VERBOSE
-static bool
+static inline bool
is_empty(unsigned char *ptr, size_t size)
{
size_t i;
@@ -180,9 +178,8 @@ is_empty(unsigned char *ptr, size_t size)
return i == size;
}
-# endif /* !VERBOSE */
-static bool
+static inline bool
print_ebcdic(const char *prefix, unsigned char *addr, unsigned int offs,
size_t size, bool zero, bool blank)
{
@@ -768,7 +765,7 @@ main(void)
rc = syscall(__NR_s390_sthyi, 0, buf, ret, 0);
if (rc)
- error_msg_and_fail("syscall(__NR_s390_sthyi, 0, buf, ret, 0) "
+ error_msg_and_skip("syscall(__NR_s390_sthyi, 0, buf, ret, 0) "
"returned unexpected value of %ld", rc);
printf("s390_sthyi(STHYI_FC_CP_IFL_CAP, ");
diff --git a/tests-m32/sched_xetattr.c b/tests-m32/sched_xetattr.c
index a9bd2baa..73cd5ecb 100644
--- a/tests-m32/sched_xetattr.c
+++ b/tests-m32/sched_xetattr.c
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -202,7 +203,7 @@ main(void)
attr->size = 0x90807060;
attr->sched_policy = 0xca7faced;
- attr->sched_flags = 0xbadc0ded1057da7aULL;
+ attr->sched_flags = 0xbadc0ded1057da78ULL;
attr->sched_nice = 0xafbfcfdf;
attr->sched_priority = 0xb8c8d8e8;
attr->sched_runtime = 0xbadcaffedeadf157ULL;
@@ -239,6 +240,46 @@ main(void)
(unsigned long long) ill, errstr);
}
+
+ attr->size = 0x90807060;
+ attr->sched_policy = 0xca7faced;
+ attr->sched_flags = 0xfULL;
+ attr->sched_nice = 0xafbfcfdf;
+ attr->sched_priority = 0xb8c8d8e8;
+ attr->sched_runtime = 0xbadcaffedeadf157ULL;
+ attr->sched_deadline = 0xc0de70a57badac75ULL;
+ attr->sched_period = 0xded1ca7edda7aca7ULL;
+
+ sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
+ printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
+ "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
+ "SCHED_FLAG_DL_OVERRUN|0x8, "
+ "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
+ "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 ", ...}, %u)"
+ " = %s\n",
+ (int) bogus_pid,
+ attr->size,
+ attr->sched_policy,
+ attr->sched_nice,
+ attr->sched_priority,
+ attr->sched_runtime,
+ attr->sched_deadline,
+ attr->sched_period,
+ (unsigned) bogus_flags, errstr);
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
+
+ sys_sched_getattr(0, ill, sizeof(*attr), 0);
+ printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
+ (unsigned long long) ill, (unsigned) sizeof(*attr),
+ errstr);
+
+ sys_sched_setattr(0, ill, 0);
+ printf("sched_setattr(0, %#llx, 0) = %s\n",
+ (unsigned long long) ill, errstr);
+ }
+
puts("+++ exited with 0 +++");
return 0;
}
diff --git a/tests-m32/scno_tampering.sh b/tests-m32/scno_tampering.sh
index 282f2f31..bae8a074 100755
--- a/tests-m32/scno_tampering.sh
+++ b/tests-m32/scno_tampering.sh
@@ -3,7 +3,7 @@
# Skip the test if arch+kernel combination is not supported.
#
# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2016-2017 The strace developers.
+# Copyright (c) 2016-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -50,7 +50,7 @@ case "$STRACE_ARCH" in
require_min_kernel_version_or_skip 4.5 ;;
mips)
# Only the native ABI is supported by the kernel properly, see
- # https://sourceforge.net/p/strace/mailman/message/35587571/
+ # https://lists.strace.io/pipermail/strace-devel/2017-January/005896.html
msg_prefix="mips $MIPS_ABI scno tampering does not work"
uname_m="$(uname -m)"
case "$MIPS_ABI:$uname_m" in
diff --git a/tests-m32/test_printstrn.c b/tests-m32/test_printstrn.c
index bc9c7752..7312971d 100644
--- a/tests-m32/test_printstrn.c
+++ b/tests-m32/test_printstrn.c
@@ -2,6 +2,7 @@
* Test printstrn/umoven.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -75,6 +76,15 @@ test_efault(const unsigned int test_max)
}
}
+static void
+test_print_memory(char *const p, const unsigned int test_max)
+{
+ add_key(p, test_max);
+ printf("add_key(NULL, NULL, ");
+ print_quoted_memory(p, test_max);
+ printf(", %u, KEY_SPEC_THREAD_KEYRING) = %s\n", test_max, errstr);
+}
+
void
test_printstrn(const unsigned int test_max)
{
@@ -99,4 +109,11 @@ test_printstrn(const unsigned int test_max)
for (i = 0; i < sizeof(long); ++i)
test_printstrn_at(p + page_size - i, test_max);
test_efault(test_max);
+
+ fill_memory_ex(p, test_max + page_size, 0x00, 0xFF);
+ /* Test corner cases when octal quoting goes before digit */
+ for (i = 0; i < 11; i++)
+ p[2 + 3 * i] = '0' + i - 1;
+
+ test_print_memory(p, test_max);
}
diff --git a/tests-m32/tests.h b/tests-m32/tests.h
index 1c66c265..3bf454dd 100644
--- a/tests-m32/tests.h
+++ b/tests-m32/tests.h
@@ -29,14 +29,25 @@
#ifndef STRACE_TESTS_H
#define STRACE_TESTS_H
-# ifdef HAVE_CONFIG_H
-# include "config.h"
-# endif
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef TESTS_SIZEOF_KERNEL_LONG_T
+# undef SIZEOF_KERNEL_LONG_T
+# define SIZEOF_KERNEL_LONG_T TESTS_SIZEOF_KERNEL_LONG_T
+#endif
+
+#ifdef TESTS_SIZEOF_LONG
+# undef SIZEOF_LONG
+# define SIZEOF_LONG TESTS_SIZEOF_LONG
+#endif
-# include <sys/types.h>
-# include "kernel_types.h"
-# include "gcc_compat.h"
-# include "macros.h"
+#include <stdbool.h>
+#include <sys/types.h>
+#include "kernel_types.h"
+#include "gcc_compat.h"
+#include "macros.h"
/*
* The printf-like function to use in header files
@@ -140,6 +151,9 @@ const char *hexquote_strndup(const char *, size_t);
/* Return inode number of socket descriptor. */
unsigned long inode_of_sockfd(int);
+/* Print string in a quoted form with optional escape characters. */
+void print_quoted_string_ex(const char *, bool quote, const char *escape_str);
+
/* Print string in a quoted form. */
void print_quoted_string(const char *);
@@ -149,6 +163,10 @@ void print_quoted_string(const char *);
*/
void print_quoted_cstring(const char *str, size_t size);
+/* Print memory in a quoted form with optional escape characters. */
+void print_quoted_memory_ex(const void *, size_t, bool quote,
+ const char *escape_chars);
+
/* Print memory in a quoted form. */
void print_quoted_memory(const void *, size_t);
@@ -249,19 +267,19 @@ f8ill_ptr_to_kulong(const void *const ptr)
sizeof(v) == sizeof(long) ? (long long) (long) (v) : \
(long long) (v))
-# define SKIP_MAIN_UNDEFINED(arg) \
+#define SKIP_MAIN_UNDEFINED(arg) \
int main(void) { error_msg_and_skip("undefined: %s", arg); }
-# if WORDS_BIGENDIAN
-# define LL_PAIR(HI, LO) (HI), (LO)
-# else
-# define LL_PAIR(HI, LO) (LO), (HI)
-# endif
-# define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
+#if WORDS_BIGENDIAN
+# define LL_PAIR(HI, LO) (HI), (LO)
+#else
+# define LL_PAIR(HI, LO) (LO), (HI)
+#endif
+#define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
-# define _STR(_arg) #_arg
-# define ARG_STR(_arg) (_arg), #_arg
-# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+#define _STR(_arg) #_arg
+#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
diff --git a/tests-m32/xet_thread_area_x86.c b/tests-m32/xet_thread_area_x86.c
index 68f495cb..36591ec6 100644
--- a/tests-m32/xet_thread_area_x86.c
+++ b/tests-m32/xet_thread_area_x86.c
@@ -37,7 +37,6 @@
# include <assert.h>
# include <errno.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdint.h>
# include <string.h>
diff --git a/tests-mx32/Makefile b/tests-mx32/Makefile
new file mode 100644
index 00000000..c9275ea3
--- /dev/null
+++ b/tests-mx32/Makefile
@@ -0,0 +1,8817 @@
+# 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-2018 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 = aarch64-unknown-linux-android
+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) _newselect-P$(EXEEXT) answer$(EXEEXT) \
+ attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
+ attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
+ block_reset_raise_run$(EXEEXT) caps-abbrev$(EXEEXT) \
+ check_sigblock$(EXEEXT) check_sigign$(EXEEXT) \
+ clone_parent$(EXEEXT) clone_ptrace$(EXEEXT) count-f$(EXEEXT) \
+ delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
+ getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \
+ inject-nf$(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) \
+ is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \
+ list_sigaction_signum$(EXEEXT) localtime$(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) \
+ nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
+ oldselect-efault-P$(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) \
+ run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
+ seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+ select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \
+ set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \
+ signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+ stack-fcall-mangled$(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) zeroargc$(EXEEXT)
+##am__append_1 = strace-k-demangle.test
+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/bpf_attr.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-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) \
+ libtests_a-hexdump_strdup.$(OBJEXT) \
+ libtests_a-hexquote_strndup.$(OBJEXT) \
+ libtests_a-ifindex.$(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-test_printpath.$(OBJEXT) \
+ libtests_a-test_printstrn.$(OBJEXT) \
+ libtests_a-test_ucopy.$(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) \
+ bpf-v$(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) dev-yy$(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) fflush$(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) group_req$(EXEEXT) inet-cmsg$(EXEEXT) \
+ init_module$(EXEEXT) inotify$(EXEEXT) inotify_init1$(EXEEXT) \
+ ioctl$(EXEEXT) ioctl_block$(EXEEXT) ioctl_dm$(EXEEXT) \
+ ioctl_evdev$(EXEEXT) ioctl_kvm_run$(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) kcmp-y$(EXEEXT) \
+ kern_features$(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) modify_ldt$(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-inet6$(EXEEXT) net-yy-netlink$(EXEEXT) \
+ net-yy-unix$(EXEEXT) netlink_audit$(EXEEXT) \
+ netlink_crypto$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_kobject_uevent$(EXEEXT) netlink_netfilter$(EXEEXT) \
+ netlink_protocol$(EXEEXT) netlink_route$(EXEEXT) \
+ netlink_selinux$(EXEEXT) netlink_sock_diag$(EXEEXT) \
+ netlink_xfrm$(EXEEXT) newfstatat$(EXEEXT) \
+ nfnetlink_acct$(EXEEXT) nfnetlink_cthelper$(EXEEXT) \
+ nfnetlink_ctnetlink$(EXEEXT) nfnetlink_ctnetlink_exp$(EXEEXT) \
+ nfnetlink_cttimeout$(EXEEXT) nfnetlink_nft_compat$(EXEEXT) \
+ nfnetlink_nftables$(EXEEXT) nfnetlink_ipset$(EXEEXT) \
+ nfnetlink_osf$(EXEEXT) nfnetlink_queue$(EXEEXT) \
+ nfnetlink_ulog$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_crypto_user_alg$(EXEEXT) nlattr_br_port_msg$(EXEEXT) \
+ nlattr_dcbmsg$(EXEEXT) nlattr_fib_rule_hdr$(EXEEXT) \
+ nlattr_ifaddrlblmsg$(EXEEXT) nlattr_ifaddrmsg$(EXEEXT) \
+ nlattr_ifinfomsg$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \
+ nlattr_ifla_port$(EXEEXT) nlattr_ifla_xdp$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) \
+ nlattr_inet_diag_req_compat$(EXEEXT) \
+ nlattr_inet_diag_req_v2$(EXEEXT) \
+ nlattr_mdba_mdb_entry$(EXEEXT) \
+ nlattr_mdba_router_port$(EXEEXT) nlattr_ndmsg$(EXEEXT) \
+ nlattr_ndtmsg$(EXEEXT) nlattr_netconfmsg$(EXEEXT) \
+ nlattr_netlink_diag_msg$(EXEEXT) nlattr_nlmsgerr$(EXEEXT) \
+ nlattr_packet_diag_msg$(EXEEXT) nlattr_rtgenmsg$(EXEEXT) \
+ nlattr_rtmsg$(EXEEXT) nlattr_smc_diag_msg$(EXEEXT) \
+ nlattr_tc_stats$(EXEEXT) nlattr_tca_stab$(EXEEXT) \
+ nlattr_tcamsg$(EXEEXT) nlattr_tcmsg$(EXEEXT) \
+ nlattr_unix_diag_msg$(EXEEXT) old_mmap$(EXEEXT) \
+ old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) oldfstat$(EXEEXT) \
+ oldlstat$(EXEEXT) oldselect$(EXEEXT) oldselect-efault$(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) poll-P$(EXEEXT) ppoll$(EXEEXT) ppoll-P$(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) \
+ printpath-umovestr$(EXEEXT) \
+ printpath-umovestr-peekdata$(EXEEXT) \
+ printpath-umovestr-undumpable$(EXEEXT) printstr$(EXEEXT) \
+ printstrn-umoven$(EXEEXT) printstrn-umoven-peekdata$(EXEEXT) \
+ printstrn-umoven-undumpable$(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) \
+ riscv_flush_icache$(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) \
+ s390_guarded_storage$(EXEEXT) s390_guarded_storage-v$(EXEEXT) \
+ s390_pci_mmio_read_write$(EXEEXT) s390_runtime_instr$(EXEEXT) \
+ s390_sthyi$(EXEEXT) s390_sthyi-v$(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) \
+ seccomp_get_action_avail$(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) so_linger$(EXEEXT) \
+ so_peercred$(EXEEXT) sock_filter-v$(EXEEXT) \
+ socketcall$(EXEEXT) sockopt-sol_netlink$(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) \
+ xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
+ xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
+_newselect_SOURCES = _newselect.c
+_newselect_OBJECTS = _newselect.$(OBJEXT)
+_newselect_LDADD = $(LDADD)
+_newselect_DEPENDENCIES = libtests.a
+_newselect_P_SOURCES = _newselect-P.c
+_newselect_P_OBJECTS = _newselect-P.$(OBJEXT)
+_newselect_P_LDADD = $(LDADD)
+_newselect_P_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
+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)
+bpf_DEPENDENCIES = libtests.a
+bpf_v_SOURCES = bpf-v.c
+bpf_v_OBJECTS = bpf-v.$(OBJEXT)
+bpf_v_LDADD = $(LDADD)
+bpf_v_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
+check_sigblock_SOURCES = check_sigblock.c
+check_sigblock_OBJECTS = check_sigblock.$(OBJEXT)
+check_sigblock_LDADD = $(LDADD)
+check_sigblock_DEPENDENCIES = libtests.a
+check_sigign_SOURCES = check_sigign.c
+check_sigign_OBJECTS = check_sigign.$(OBJEXT)
+check_sigign_LDADD = $(LDADD)
+check_sigign_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_LDADD = $(LDADD)
+clock_xettime_DEPENDENCIES = libtests.a
+clone_parent_SOURCES = clone_parent.c
+clone_parent_OBJECTS = clone_parent.$(OBJEXT)
+clone_parent_LDADD = $(LDADD)
+clone_parent_DEPENDENCIES = libtests.a
+clone_ptrace_SOURCES = clone_ptrace.c
+clone_ptrace_OBJECTS = clone_ptrace.$(OBJEXT)
+clone_ptrace_LDADD = $(LDADD)
+clone_ptrace_DEPENDENCIES = libtests.a
+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
+delay_SOURCES = delay.c
+delay_OBJECTS = delay.$(OBJEXT)
+am__DEPENDENCIES_1 =
+delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+delete_module_SOURCES = delete_module.c
+delete_module_OBJECTS = delete_module.$(OBJEXT)
+delete_module_LDADD = $(LDADD)
+delete_module_DEPENDENCIES = libtests.a
+dev_yy_SOURCES = dev-yy.c
+dev_yy_OBJECTS = dev-yy.$(OBJEXT)
+dev_yy_LDADD = $(LDADD)
+dev_yy_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
+fflush_SOURCES = fflush.c
+fflush_OBJECTS = fflush.$(OBJEXT)
+fflush_LDADD = $(LDADD)
+fflush_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
+fsync_y_SOURCES = fsync-y.c
+fsync_y_OBJECTS = fsync-y.$(OBJEXT)
+fsync_y_LDADD = $(LDADD)
+fsync_y_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
+group_req_SOURCES = group_req.c
+group_req_OBJECTS = group_req.$(OBJEXT)
+group_req_LDADD = $(LDADD)
+group_req_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
+inject_nf_SOURCES = inject-nf.c
+inject_nf_OBJECTS = inject-nf.$(OBJEXT)
+inject_nf_LDADD = $(LDADD)
+inject_nf_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_kvm_run_SOURCES = ioctl_kvm_run.c
+ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT)
+ioctl_kvm_run_LDADD = $(LDADD)
+ioctl_kvm_run_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
+is_linux_mips_n64_SOURCES = is_linux_mips_n64.c
+is_linux_mips_n64_OBJECTS = is_linux_mips_n64.$(OBJEXT)
+is_linux_mips_n64_LDADD = $(LDADD)
+is_linux_mips_n64_DEPENDENCIES = libtests.a
+kcmp_SOURCES = kcmp.c
+kcmp_OBJECTS = kcmp.$(OBJEXT)
+kcmp_LDADD = $(LDADD)
+kcmp_DEPENDENCIES = libtests.a
+kcmp_y_SOURCES = kcmp-y.c
+kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
+kcmp_y_LDADD = $(LDADD)
+kcmp_y_DEPENDENCIES = libtests.a
+kern_features_SOURCES = kern_features.c
+kern_features_OBJECTS = kern_features.$(OBJEXT)
+kern_features_LDADD = $(LDADD)
+kern_features_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
+list_sigaction_signum_SOURCES = list_sigaction_signum.c
+list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
+list_sigaction_signum_LDADD = $(LDADD)
+list_sigaction_signum_DEPENDENCIES = libtests.a
+llseek_SOURCES = llseek.c
+llseek_OBJECTS = llseek.$(OBJEXT)
+llseek_LDADD = $(LDADD)
+llseek_DEPENDENCIES = libtests.a
+localtime_SOURCES = localtime.c
+localtime_OBJECTS = localtime.$(OBJEXT)
+localtime_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+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
+modify_ldt_SOURCES = modify_ldt.c
+modify_ldt_OBJECTS = modify_ldt.$(OBJEXT)
+modify_ldt_LDADD = $(LDADD)
+modify_ldt_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 = $(am__DEPENDENCIES_1) $(LDADD)
+mq_sendrecv_SOURCES = mq_sendrecv.c
+mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
+mq_sendrecv_LDADD = $(LDADD)
+mq_sendrecv_DEPENDENCIES = libtests.a
+mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
+mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
+mq_sendrecv_read_LDADD = $(LDADD)
+mq_sendrecv_read_DEPENDENCIES = libtests.a
+mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
+mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
+mq_sendrecv_write_LDADD = $(LDADD)
+mq_sendrecv_write_DEPENDENCIES = libtests.a
+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_inet6_SOURCES = net-yy-inet6.c
+net_yy_inet6_OBJECTS = net-yy-inet6.$(OBJEXT)
+net_yy_inet6_LDADD = $(LDADD)
+net_yy_inet6_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_audit_SOURCES = netlink_audit.c
+netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
+netlink_audit_LDADD = $(LDADD)
+netlink_audit_DEPENDENCIES = libtests.a
+netlink_crypto_SOURCES = netlink_crypto.c
+netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT)
+netlink_crypto_LDADD = $(LDADD)
+netlink_crypto_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_kobject_uevent_SOURCES = netlink_kobject_uevent.c
+netlink_kobject_uevent_OBJECTS = netlink_kobject_uevent.$(OBJEXT)
+netlink_kobject_uevent_LDADD = $(LDADD)
+netlink_kobject_uevent_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)
+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_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
+nfnetlink_acct_SOURCES = nfnetlink_acct.c
+nfnetlink_acct_OBJECTS = nfnetlink_acct.$(OBJEXT)
+nfnetlink_acct_LDADD = $(LDADD)
+nfnetlink_acct_DEPENDENCIES = libtests.a
+nfnetlink_cthelper_SOURCES = nfnetlink_cthelper.c
+nfnetlink_cthelper_OBJECTS = nfnetlink_cthelper.$(OBJEXT)
+nfnetlink_cthelper_LDADD = $(LDADD)
+nfnetlink_cthelper_DEPENDENCIES = libtests.a
+nfnetlink_ctnetlink_SOURCES = nfnetlink_ctnetlink.c
+nfnetlink_ctnetlink_OBJECTS = nfnetlink_ctnetlink.$(OBJEXT)
+nfnetlink_ctnetlink_LDADD = $(LDADD)
+nfnetlink_ctnetlink_DEPENDENCIES = libtests.a
+nfnetlink_ctnetlink_exp_SOURCES = nfnetlink_ctnetlink_exp.c
+nfnetlink_ctnetlink_exp_OBJECTS = nfnetlink_ctnetlink_exp.$(OBJEXT)
+nfnetlink_ctnetlink_exp_LDADD = $(LDADD)
+nfnetlink_ctnetlink_exp_DEPENDENCIES = libtests.a
+nfnetlink_cttimeout_SOURCES = nfnetlink_cttimeout.c
+nfnetlink_cttimeout_OBJECTS = nfnetlink_cttimeout.$(OBJEXT)
+nfnetlink_cttimeout_LDADD = $(LDADD)
+nfnetlink_cttimeout_DEPENDENCIES = libtests.a
+nfnetlink_ipset_SOURCES = nfnetlink_ipset.c
+nfnetlink_ipset_OBJECTS = nfnetlink_ipset.$(OBJEXT)
+nfnetlink_ipset_LDADD = $(LDADD)
+nfnetlink_ipset_DEPENDENCIES = libtests.a
+nfnetlink_nft_compat_SOURCES = nfnetlink_nft_compat.c
+nfnetlink_nft_compat_OBJECTS = nfnetlink_nft_compat.$(OBJEXT)
+nfnetlink_nft_compat_LDADD = $(LDADD)
+nfnetlink_nft_compat_DEPENDENCIES = libtests.a
+nfnetlink_nftables_SOURCES = nfnetlink_nftables.c
+nfnetlink_nftables_OBJECTS = nfnetlink_nftables.$(OBJEXT)
+nfnetlink_nftables_LDADD = $(LDADD)
+nfnetlink_nftables_DEPENDENCIES = libtests.a
+nfnetlink_osf_SOURCES = nfnetlink_osf.c
+nfnetlink_osf_OBJECTS = nfnetlink_osf.$(OBJEXT)
+nfnetlink_osf_LDADD = $(LDADD)
+nfnetlink_osf_DEPENDENCIES = libtests.a
+nfnetlink_queue_SOURCES = nfnetlink_queue.c
+nfnetlink_queue_OBJECTS = nfnetlink_queue.$(OBJEXT)
+nfnetlink_queue_LDADD = $(LDADD)
+nfnetlink_queue_DEPENDENCIES = libtests.a
+nfnetlink_ulog_SOURCES = nfnetlink_ulog.c
+nfnetlink_ulog_OBJECTS = nfnetlink_ulog.$(OBJEXT)
+nfnetlink_ulog_LDADD = $(LDADD)
+nfnetlink_ulog_DEPENDENCIES = libtests.a
+nlattr_SOURCES = nlattr.c
+nlattr_OBJECTS = nlattr.$(OBJEXT)
+nlattr_LDADD = $(LDADD)
+nlattr_DEPENDENCIES = libtests.a
+nlattr_br_port_msg_SOURCES = nlattr_br_port_msg.c
+nlattr_br_port_msg_OBJECTS = nlattr_br_port_msg.$(OBJEXT)
+nlattr_br_port_msg_LDADD = $(LDADD)
+nlattr_br_port_msg_DEPENDENCIES = libtests.a
+nlattr_crypto_user_alg_SOURCES = nlattr_crypto_user_alg.c
+nlattr_crypto_user_alg_OBJECTS = nlattr_crypto_user_alg.$(OBJEXT)
+nlattr_crypto_user_alg_LDADD = $(LDADD)
+nlattr_crypto_user_alg_DEPENDENCIES = libtests.a
+nlattr_dcbmsg_SOURCES = nlattr_dcbmsg.c
+nlattr_dcbmsg_OBJECTS = nlattr_dcbmsg.$(OBJEXT)
+nlattr_dcbmsg_LDADD = $(LDADD)
+nlattr_dcbmsg_DEPENDENCIES = libtests.a
+nlattr_fib_rule_hdr_SOURCES = nlattr_fib_rule_hdr.c
+nlattr_fib_rule_hdr_OBJECTS = nlattr_fib_rule_hdr.$(OBJEXT)
+nlattr_fib_rule_hdr_LDADD = $(LDADD)
+nlattr_fib_rule_hdr_DEPENDENCIES = libtests.a
+nlattr_ifaddrlblmsg_SOURCES = nlattr_ifaddrlblmsg.c
+nlattr_ifaddrlblmsg_OBJECTS = nlattr_ifaddrlblmsg.$(OBJEXT)
+nlattr_ifaddrlblmsg_LDADD = $(LDADD)
+nlattr_ifaddrlblmsg_DEPENDENCIES = libtests.a
+nlattr_ifaddrmsg_SOURCES = nlattr_ifaddrmsg.c
+nlattr_ifaddrmsg_OBJECTS = nlattr_ifaddrmsg.$(OBJEXT)
+nlattr_ifaddrmsg_LDADD = $(LDADD)
+nlattr_ifaddrmsg_DEPENDENCIES = libtests.a
+nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c
+nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT)
+nlattr_ifinfomsg_LDADD = $(LDADD)
+nlattr_ifinfomsg_DEPENDENCIES = libtests.a
+nlattr_ifla_brport_SOURCES = nlattr_ifla_brport.c
+nlattr_ifla_brport_OBJECTS = nlattr_ifla_brport.$(OBJEXT)
+nlattr_ifla_brport_LDADD = $(LDADD)
+nlattr_ifla_brport_DEPENDENCIES = libtests.a
+nlattr_ifla_port_SOURCES = nlattr_ifla_port.c
+nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT)
+nlattr_ifla_port_LDADD = $(LDADD)
+nlattr_ifla_port_DEPENDENCIES = libtests.a
+nlattr_ifla_xdp_SOURCES = nlattr_ifla_xdp.c
+nlattr_ifla_xdp_OBJECTS = nlattr_ifla_xdp.$(OBJEXT)
+nlattr_ifla_xdp_LDADD = $(LDADD)
+nlattr_ifla_xdp_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_inet_diag_req_compat_SOURCES = nlattr_inet_diag_req_compat.c
+nlattr_inet_diag_req_compat_OBJECTS = \
+ nlattr_inet_diag_req_compat.$(OBJEXT)
+nlattr_inet_diag_req_compat_LDADD = $(LDADD)
+nlattr_inet_diag_req_compat_DEPENDENCIES = libtests.a
+nlattr_inet_diag_req_v2_SOURCES = nlattr_inet_diag_req_v2.c
+nlattr_inet_diag_req_v2_OBJECTS = nlattr_inet_diag_req_v2.$(OBJEXT)
+nlattr_inet_diag_req_v2_LDADD = $(LDADD)
+nlattr_inet_diag_req_v2_DEPENDENCIES = libtests.a
+nlattr_mdba_mdb_entry_SOURCES = nlattr_mdba_mdb_entry.c
+nlattr_mdba_mdb_entry_OBJECTS = nlattr_mdba_mdb_entry.$(OBJEXT)
+nlattr_mdba_mdb_entry_LDADD = $(LDADD)
+nlattr_mdba_mdb_entry_DEPENDENCIES = libtests.a
+nlattr_mdba_router_port_SOURCES = nlattr_mdba_router_port.c
+nlattr_mdba_router_port_OBJECTS = nlattr_mdba_router_port.$(OBJEXT)
+nlattr_mdba_router_port_LDADD = $(LDADD)
+nlattr_mdba_router_port_DEPENDENCIES = libtests.a
+nlattr_ndmsg_SOURCES = nlattr_ndmsg.c
+nlattr_ndmsg_OBJECTS = nlattr_ndmsg.$(OBJEXT)
+nlattr_ndmsg_LDADD = $(LDADD)
+nlattr_ndmsg_DEPENDENCIES = libtests.a
+nlattr_ndtmsg_SOURCES = nlattr_ndtmsg.c
+nlattr_ndtmsg_OBJECTS = nlattr_ndtmsg.$(OBJEXT)
+nlattr_ndtmsg_LDADD = $(LDADD)
+nlattr_ndtmsg_DEPENDENCIES = libtests.a
+nlattr_netconfmsg_SOURCES = nlattr_netconfmsg.c
+nlattr_netconfmsg_OBJECTS = nlattr_netconfmsg.$(OBJEXT)
+nlattr_netconfmsg_LDADD = $(LDADD)
+nlattr_netconfmsg_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_nlmsgerr_SOURCES = nlattr_nlmsgerr.c
+nlattr_nlmsgerr_OBJECTS = nlattr_nlmsgerr.$(OBJEXT)
+nlattr_nlmsgerr_LDADD = $(LDADD)
+nlattr_nlmsgerr_DEPENDENCIES = libtests.a
+nlattr_packet_diag_msg_SOURCES = nlattr_packet_diag_msg.c
+nlattr_packet_diag_msg_OBJECTS = nlattr_packet_diag_msg.$(OBJEXT)
+nlattr_packet_diag_msg_LDADD = $(LDADD)
+nlattr_packet_diag_msg_DEPENDENCIES = libtests.a
+nlattr_rtgenmsg_SOURCES = nlattr_rtgenmsg.c
+nlattr_rtgenmsg_OBJECTS = nlattr_rtgenmsg.$(OBJEXT)
+nlattr_rtgenmsg_LDADD = $(LDADD)
+nlattr_rtgenmsg_DEPENDENCIES = libtests.a
+nlattr_rtmsg_SOURCES = nlattr_rtmsg.c
+nlattr_rtmsg_OBJECTS = nlattr_rtmsg.$(OBJEXT)
+nlattr_rtmsg_LDADD = $(LDADD)
+nlattr_rtmsg_DEPENDENCIES = libtests.a
+nlattr_smc_diag_msg_SOURCES = nlattr_smc_diag_msg.c
+nlattr_smc_diag_msg_OBJECTS = nlattr_smc_diag_msg.$(OBJEXT)
+nlattr_smc_diag_msg_LDADD = $(LDADD)
+nlattr_smc_diag_msg_DEPENDENCIES = libtests.a
+nlattr_tc_stats_SOURCES = nlattr_tc_stats.c
+nlattr_tc_stats_OBJECTS = nlattr_tc_stats.$(OBJEXT)
+nlattr_tc_stats_LDADD = $(LDADD)
+nlattr_tc_stats_DEPENDENCIES = libtests.a
+nlattr_tca_stab_SOURCES = nlattr_tca_stab.c
+nlattr_tca_stab_OBJECTS = nlattr_tca_stab.$(OBJEXT)
+nlattr_tca_stab_LDADD = $(LDADD)
+nlattr_tca_stab_DEPENDENCIES = libtests.a
+nlattr_tcamsg_SOURCES = nlattr_tcamsg.c
+nlattr_tcamsg_OBJECTS = nlattr_tcamsg.$(OBJEXT)
+nlattr_tcamsg_LDADD = $(LDADD)
+nlattr_tcamsg_DEPENDENCIES = libtests.a
+nlattr_tcmsg_SOURCES = nlattr_tcmsg.c
+nlattr_tcmsg_OBJECTS = nlattr_tcmsg.$(OBJEXT)
+nlattr_tcmsg_LDADD = $(LDADD)
+nlattr_tcmsg_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)
+nsyscalls_DEPENDENCIES = libtests.a
+nsyscalls_d_SOURCES = nsyscalls-d.c
+nsyscalls_d_OBJECTS = nsyscalls-d.$(OBJEXT)
+nsyscalls_d_LDADD = $(LDADD)
+nsyscalls_d_DEPENDENCIES = libtests.a
+old_mmap_SOURCES = old_mmap.c
+old_mmap_OBJECTS = old_mmap.$(OBJEXT)
+old_mmap_LDADD = $(LDADD)
+old_mmap_DEPENDENCIES = libtests.a
+old_mmap_P_SOURCES = old_mmap-P.c
+old_mmap_P_OBJECTS = old_mmap-P.$(OBJEXT)
+old_mmap_P_LDADD = $(LDADD)
+old_mmap_P_DEPENDENCIES = libtests.a
+old_mmap_v_none_SOURCES = old_mmap-v-none.c
+old_mmap_v_none_OBJECTS = old_mmap-v-none.$(OBJEXT)
+old_mmap_v_none_LDADD = $(LDADD)
+old_mmap_v_none_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
+oldselect_P_SOURCES = oldselect-P.c
+oldselect_P_OBJECTS = oldselect-P.$(OBJEXT)
+oldselect_P_LDADD = $(LDADD)
+oldselect_P_DEPENDENCIES = libtests.a
+oldselect_efault_SOURCES = oldselect-efault.c
+oldselect_efault_OBJECTS = oldselect-efault.$(OBJEXT)
+oldselect_efault_LDADD = $(LDADD)
+oldselect_efault_DEPENDENCIES = libtests.a
+oldselect_efault_P_SOURCES = oldselect-efault-P.c
+oldselect_efault_P_OBJECTS = oldselect-efault-P.$(OBJEXT)
+oldselect_efault_P_LDADD = $(LDADD)
+oldselect_efault_P_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)
+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
+poll_P_SOURCES = poll-P.c
+poll_P_OBJECTS = poll-P.$(OBJEXT)
+poll_P_LDADD = $(LDADD)
+poll_P_DEPENDENCIES = libtests.a
+ppoll_SOURCES = ppoll.c
+ppoll_OBJECTS = ppoll.$(OBJEXT)
+ppoll_LDADD = $(LDADD)
+ppoll_DEPENDENCIES = libtests.a
+ppoll_P_SOURCES = ppoll-P.c
+ppoll_P_OBJECTS = ppoll-P.$(OBJEXT)
+ppoll_P_LDADD = $(LDADD)
+ppoll_P_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
+printpath_umovestr_SOURCES = printpath-umovestr.c
+printpath_umovestr_OBJECTS = printpath-umovestr.$(OBJEXT)
+printpath_umovestr_LDADD = $(LDADD)
+printpath_umovestr_DEPENDENCIES = libtests.a
+printpath_umovestr_peekdata_SOURCES = printpath-umovestr-peekdata.c
+printpath_umovestr_peekdata_OBJECTS = \
+ printpath-umovestr-peekdata.$(OBJEXT)
+printpath_umovestr_peekdata_LDADD = $(LDADD)
+printpath_umovestr_peekdata_DEPENDENCIES = libtests.a
+printpath_umovestr_undumpable_SOURCES = \
+ printpath-umovestr-undumpable.c
+printpath_umovestr_undumpable_OBJECTS = \
+ printpath-umovestr-undumpable.$(OBJEXT)
+printpath_umovestr_undumpable_LDADD = $(LDADD)
+printpath_umovestr_undumpable_DEPENDENCIES = libtests.a
+printstr_SOURCES = printstr.c
+printstr_OBJECTS = printstr.$(OBJEXT)
+printstr_LDADD = $(LDADD)
+printstr_DEPENDENCIES = libtests.a
+printstrn_umoven_SOURCES = printstrn-umoven.c
+printstrn_umoven_OBJECTS = printstrn-umoven.$(OBJEXT)
+printstrn_umoven_LDADD = $(LDADD)
+printstrn_umoven_DEPENDENCIES = libtests.a
+printstrn_umoven_peekdata_SOURCES = printstrn-umoven-peekdata.c
+printstrn_umoven_peekdata_OBJECTS = \
+ printstrn-umoven-peekdata.$(OBJEXT)
+printstrn_umoven_peekdata_LDADD = $(LDADD)
+printstrn_umoven_peekdata_DEPENDENCIES = libtests.a
+printstrn_umoven_undumpable_SOURCES = printstrn-umoven-undumpable.c
+printstrn_umoven_undumpable_OBJECTS = \
+ printstrn-umoven-undumpable.$(OBJEXT)
+printstrn_umoven_undumpable_LDADD = $(LDADD)
+printstrn_umoven_undumpable_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
+riscv_flush_icache_SOURCES = riscv_flush_icache.c
+riscv_flush_icache_OBJECTS = riscv_flush_icache.$(OBJEXT)
+riscv_flush_icache_LDADD = $(LDADD)
+riscv_flush_icache_DEPENDENCIES = libtests.a
+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)
+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
+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
+s390_guarded_storage_SOURCES = s390_guarded_storage.c
+s390_guarded_storage_OBJECTS = s390_guarded_storage.$(OBJEXT)
+s390_guarded_storage_LDADD = $(LDADD)
+s390_guarded_storage_DEPENDENCIES = libtests.a
+s390_guarded_storage_v_SOURCES = s390_guarded_storage-v.c
+s390_guarded_storage_v_OBJECTS = s390_guarded_storage-v.$(OBJEXT)
+s390_guarded_storage_v_LDADD = $(LDADD)
+s390_guarded_storage_v_DEPENDENCIES = libtests.a
+s390_pci_mmio_read_write_SOURCES = s390_pci_mmio_read_write.c
+s390_pci_mmio_read_write_OBJECTS = s390_pci_mmio_read_write.$(OBJEXT)
+s390_pci_mmio_read_write_LDADD = $(LDADD)
+s390_pci_mmio_read_write_DEPENDENCIES = libtests.a
+s390_runtime_instr_SOURCES = s390_runtime_instr.c
+s390_runtime_instr_OBJECTS = s390_runtime_instr.$(OBJEXT)
+s390_runtime_instr_LDADD = $(LDADD)
+s390_runtime_instr_DEPENDENCIES = libtests.a
+s390_sthyi_SOURCES = s390_sthyi.c
+s390_sthyi_OBJECTS = s390_sthyi.$(OBJEXT)
+s390_sthyi_LDADD = $(LDADD)
+s390_sthyi_DEPENDENCIES = libtests.a
+s390_sthyi_v_SOURCES = s390_sthyi-v.c
+s390_sthyi_v_OBJECTS = s390_sthyi-v.$(OBJEXT)
+s390_sthyi_v_LDADD = $(LDADD)
+s390_sthyi_v_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
+seccomp_get_action_avail_SOURCES = seccomp_get_action_avail.c
+seccomp_get_action_avail_OBJECTS = seccomp_get_action_avail.$(OBJEXT)
+seccomp_get_action_avail_LDADD = $(LDADD)
+seccomp_get_action_avail_DEPENDENCIES = libtests.a
+select_SOURCES = select.c
+select_OBJECTS = select.$(OBJEXT)
+select_LDADD = $(LDADD)
+select_DEPENDENCIES = libtests.a
+select_P_SOURCES = select-P.c
+select_P_OBJECTS = select-P.$(OBJEXT)
+select_P_LDADD = $(LDADD)
+select_P_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
+set_sigblock_SOURCES = set_sigblock.c
+set_sigblock_OBJECTS = set_sigblock.$(OBJEXT)
+set_sigblock_LDADD = $(LDADD)
+set_sigblock_DEPENDENCIES = libtests.a
+set_sigign_SOURCES = set_sigign.c
+set_sigign_OBJECTS = set_sigign.$(OBJEXT)
+set_sigign_LDADD = $(LDADD)
+set_sigign_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_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)
+signal_receive_DEPENDENCIES = libtests.a
+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)
+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
+so_linger_SOURCES = so_linger.c
+so_linger_OBJECTS = so_linger.$(OBJEXT)
+so_linger_LDADD = $(LDADD)
+so_linger_DEPENDENCIES = libtests.a
+so_peercred_SOURCES = so_peercred.c
+so_peercred_OBJECTS = so_peercred.$(OBJEXT)
+so_peercred_LDADD = $(LDADD)
+so_peercred_DEPENDENCIES = libtests.a
+sock_filter_v_SOURCES = sock_filter-v.c
+sock_filter_v_OBJECTS = sock_filter-v.$(OBJEXT)
+sock_filter_v_LDADD = $(LDADD)
+sock_filter_v_DEPENDENCIES = libtests.a
+socketcall_SOURCES = socketcall.c
+socketcall_OBJECTS = socketcall.$(OBJEXT)
+socketcall_LDADD = $(LDADD)
+socketcall_DEPENDENCIES = libtests.a
+sockopt_sol_netlink_SOURCES = sockopt-sol_netlink.c
+sockopt_sol_netlink_OBJECTS = sockopt-sol_netlink.$(OBJEXT)
+sockopt_sol_netlink_LDADD = $(LDADD)
+sockopt_sol_netlink_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
+am_stack_fcall_mangled_OBJECTS = stack-fcall-mangled.$(OBJEXT) \
+ stack-fcall-mangled-0.$(OBJEXT) \
+ stack-fcall-mangled-1.$(OBJEXT) \
+ stack-fcall-mangled-2.$(OBJEXT) \
+ stack-fcall-mangled-3.$(OBJEXT)
+stack_fcall_mangled_OBJECTS = $(am_stack_fcall_mangled_OBJECTS)
+stack_fcall_mangled_LDADD = $(LDADD)
+stack_fcall_mangled_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 = $(am__DEPENDENCIES_1) $(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 = $(am__DEPENDENCIES_1) $(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
+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)
+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
+xet_thread_area_x86_SOURCES = xet_thread_area_x86.c
+xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT)
+xet_thread_area_x86_LDADD = $(LDADD)
+xet_thread_area_x86_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
+zeroargc_SOURCES = zeroargc.c
+zeroargc_OBJECTS = zeroargc.$(OBJEXT)
+zeroargc_LDADD = $(LDADD)
+zeroargc_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 _newselect-P.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 block_reset_raise_run.c bpf.c bpf-v.c brk.c \
+ btrfs.c caps.c caps-abbrev.c check_sigblock.c check_sigign.c \
+ chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+ clock_nanosleep.c clock_xettime.c clone_parent.c \
+ clone_ptrace.c copy_file_range.c count-f.c creat.c delay.c \
+ delete_module.c dev-yy.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 fflush.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 fsync-y.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 group_req.c inet-cmsg.c \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
+ nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
+ nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
+ nlattr_br_port_msg.c nlattr_crypto_user_alg.c nlattr_dcbmsg.c \
+ nlattr_fib_rule_hdr.c nlattr_ifaddrlblmsg.c nlattr_ifaddrmsg.c \
+ nlattr_ifinfomsg.c nlattr_ifla_brport.c nlattr_ifla_port.c \
+ nlattr_ifla_xdp.c nlattr_inet_diag_msg.c \
+ nlattr_inet_diag_req_compat.c nlattr_inet_diag_req_v2.c \
+ nlattr_mdba_mdb_entry.c nlattr_mdba_router_port.c \
+ nlattr_ndmsg.c nlattr_ndtmsg.c nlattr_netconfmsg.c \
+ nlattr_netlink_diag_msg.c nlattr_nlmsgerr.c \
+ nlattr_packet_diag_msg.c nlattr_rtgenmsg.c nlattr_rtmsg.c \
+ nlattr_smc_diag_msg.c nlattr_tc_stats.c nlattr_tca_stab.c \
+ nlattr_tcamsg.c nlattr_tcmsg.c nlattr_unix_diag_msg.c \
+ nsyscalls.c nsyscalls-d.c old_mmap.c old_mmap-P.c \
+ old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ oldselect-P.c oldselect-efault.c oldselect-efault-P.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 poll-P.c \
+ ppoll.c ppoll-P.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 printpath-umovestr.c \
+ printpath-umovestr-peekdata.c printpath-umovestr-undumpable.c \
+ printstr.c printstrn-umoven.c printstrn-umoven-peekdata.c \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.c rmdir.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 \
+ s390_guarded_storage.c s390_guarded_storage-v.c \
+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
+ s390_sthyi-v.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 seccomp_get_action_avail.c select.c \
+ select-P.c semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c set_sigblock.c set_sigign.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 so_linger.c \
+ so_peercred.c sock_filter-v.c socketcall.c \
+ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \
+ $(stack_fcall_mangled_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 \
+ 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 \
+ xet_thread_area_x86.c xetitimer.c xetpgid.c xetpriority.c \
+ xettimeofday.c zeroargc.c
+DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 block_reset_raise_run.c \
+ bpf.c bpf-v.c brk.c btrfs.c caps.c caps-abbrev.c \
+ check_sigblock.c check_sigign.c chmod.c chown.c chown32.c \
+ chroot.c clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ clone_parent.c clone_ptrace.c copy_file_range.c count-f.c \
+ creat.c delay.c delete_module.c dev-yy.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 fflush.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 fsync-y.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 group_req.c inet-cmsg.c \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
+ nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
+ nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
+ nlattr_br_port_msg.c nlattr_crypto_user_alg.c nlattr_dcbmsg.c \
+ nlattr_fib_rule_hdr.c nlattr_ifaddrlblmsg.c nlattr_ifaddrmsg.c \
+ nlattr_ifinfomsg.c nlattr_ifla_brport.c nlattr_ifla_port.c \
+ nlattr_ifla_xdp.c nlattr_inet_diag_msg.c \
+ nlattr_inet_diag_req_compat.c nlattr_inet_diag_req_v2.c \
+ nlattr_mdba_mdb_entry.c nlattr_mdba_router_port.c \
+ nlattr_ndmsg.c nlattr_ndtmsg.c nlattr_netconfmsg.c \
+ nlattr_netlink_diag_msg.c nlattr_nlmsgerr.c \
+ nlattr_packet_diag_msg.c nlattr_rtgenmsg.c nlattr_rtmsg.c \
+ nlattr_smc_diag_msg.c nlattr_tc_stats.c nlattr_tca_stab.c \
+ nlattr_tcamsg.c nlattr_tcmsg.c nlattr_unix_diag_msg.c \
+ nsyscalls.c nsyscalls-d.c old_mmap.c old_mmap-P.c \
+ old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ oldselect-P.c oldselect-efault.c oldselect-efault-P.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 poll-P.c \
+ ppoll.c ppoll-P.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 printpath-umovestr.c \
+ printpath-umovestr-peekdata.c printpath-umovestr-undumpable.c \
+ printstr.c printstrn-umoven.c printstrn-umoven-peekdata.c \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.c rmdir.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 \
+ s390_guarded_storage.c s390_guarded_storage-v.c \
+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
+ s390_sthyi-v.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 seccomp_get_action_avail.c select.c \
+ select-P.c semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c set_sigblock.c set_sigign.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 so_linger.c \
+ so_peercred.c sock_filter-v.c socketcall.c \
+ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \
+ $(stack_fcall_mangled_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 \
+ 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 \
+ xet_thread_area_x86.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;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__extra_recursive_targets = check-valgrind-recursive \
+ check-valgrind-memcheck-recursive \
+ check-valgrind-helgrind-recursive check-valgrind-drd-recursive \
+ check-valgrind-sgcheck-recursive
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+#am__EXEEXT_2 = strace-k.test $(am__append_1)
+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} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing aclocal-1.14
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoconf
+AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoheader
+AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing automake-1.14
+AWK = gawk
+BUILD_EXEEXT =
+BUILD_OBJEXT =
+CC = aarch64-linux-android-clang
+CCDEPMODE = depmode=gcc3
+CC_FOR_BUILD = gcc
+CFLAGS = -fPIE -fPIC
+CFLAGS_FOR_BUILD = -g -O2
+CODE_COVERAGE_CFLAGS =
+CODE_COVERAGE_CPPFLAGS =
+CODE_COVERAGE_CXXFLAGS =
+CODE_COVERAGE_ENABLED = no
+CODE_COVERAGE_LDFLAGS =
+CODE_COVERAGE_LIBS =
+COPYRIGHT_YEAR = 2018
+CPP = aarch64-linux-android-clang -E
+CPPFLAGS =
+CPPFLAGS_FOR_BUILD =
+CPP_FOR_BUILD = gcc -E
+CYGPATH_W = echo
+DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -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 = -pie
+LDFLAGS_FOR_BUILD =
+LIBOBJS =
+LIBS =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo
+MANPAGE_DATE = 2018-04-04
+MIPS_ABI =
+MKDIR_P = /bin/mkdir -p
+OBJEXT = o
+PACKAGE = strace
+PACKAGE_BUGREPORT = strace-devel@lists.strace.io
+PACKAGE_NAME = strace
+PACKAGE_STRING = strace 4.22
+PACKAGE_TARNAME = strace
+PACKAGE_URL = https://strace.io
+PACKAGE_VERSION = 4.22
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+RANLIB = aarch64-linux-android-ranlib
+READELF = aarch64-linux-android-readelf
+RPM_CHANGELOGTIME = Thu Jun 14 2018
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+SIZEOF_KERNEL_LONG_T = 8
+SIZEOF_LONG = 4
+STRIP = aarch64-linux-android-strip
+VALGRIND = valgrind
+VALGRIND_ENABLED = yes
+VERSION = 4.22
+WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wnested-externs -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22/tests-mx32
+abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22/tests-mx32
+abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ac_ct_CC =
+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 = aarch64
+arch_m32 = arm
+arch_mx32 = aarch64
+arch_native = aarch64
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+cc_flags_m32 = -m32
+cc_flags_mx32 = -mx32
+clock_LIBS =
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dl_LIBS = -ldl
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = aarch64-unknown-linux-android
+host_alias = aarch64-linux-android
+host_cpu = aarch64
+host_os = linux-android
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+libiberty_CPPFLAGS =
+libiberty_LDFLAGS =
+libiberty_LIBS =
+libunwind_CPPFLAGS =
+libunwind_LDFLAGS =
+libunwind_LIBS =
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+mq_LIBS =
+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 =
+timer_LIBS =
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+valgrind_enabled_tools = memcheck
+valgrind_tools = memcheck helgrind drd sgcheck
+OS = linux
+ARCH = aarch64
+NATIVE_ARCH = aarch64
+MPERS_NAME = mx32
+MPERS_CC_FLAGS = -mx32
+ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) $(MPERS_CC_FLAGS)
+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) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
+
+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 \
+ ifindex.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_netlink.h \
+ test_nlattr.h \
+ test_printpath.c \
+ test_printstrn.c \
+ test_ucopy.c \
+ test_ucopy.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
+
+# 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 \
+ bpf-v \
+ brk \
+ btrfs \
+ caps \
+ chmod \
+ chown \
+ chown32 \
+ chroot \
+ clock_adjtime \
+ clock_nanosleep \
+ clock_xettime \
+ copy_file_range \
+ creat \
+ delete_module \
+ dev-yy \
+ 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 \
+ fflush \
+ 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 \
+ group_req \
+ inet-cmsg \
+ init_module \
+ inotify \
+ inotify_init1 \
+ ioctl \
+ ioctl_block \
+ ioctl_dm \
+ ioctl_evdev \
+ ioctl_kvm_run \
+ 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 \
+ kcmp-y \
+ kern_features \
+ 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 \
+ modify_ldt \
+ 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-inet6 \
+ net-yy-netlink \
+ net-yy-unix \
+ netlink_audit \
+ netlink_crypto \
+ netlink_generic \
+ netlink_kobject_uevent \
+ netlink_netfilter \
+ netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
+ newfstatat \
+ nfnetlink_acct \
+ nfnetlink_cthelper \
+ nfnetlink_ctnetlink \
+ nfnetlink_ctnetlink_exp \
+ nfnetlink_cttimeout \
+ nfnetlink_nft_compat \
+ nfnetlink_nftables \
+ nfnetlink_ipset \
+ nfnetlink_osf \
+ nfnetlink_queue \
+ nfnetlink_ulog \
+ nlattr \
+ nlattr_crypto_user_alg \
+ nlattr_br_port_msg \
+ nlattr_dcbmsg \
+ nlattr_fib_rule_hdr \
+ nlattr_ifaddrlblmsg \
+ nlattr_ifaddrmsg \
+ nlattr_ifinfomsg \
+ nlattr_ifla_brport \
+ nlattr_ifla_port \
+ nlattr_ifla_xdp \
+ nlattr_inet_diag_msg \
+ nlattr_inet_diag_req_compat \
+ nlattr_inet_diag_req_v2 \
+ nlattr_mdba_mdb_entry \
+ nlattr_mdba_router_port \
+ nlattr_ndmsg \
+ nlattr_ndtmsg \
+ nlattr_netconfmsg \
+ nlattr_netlink_diag_msg \
+ nlattr_nlmsgerr \
+ nlattr_packet_diag_msg \
+ nlattr_rtgenmsg \
+ nlattr_rtmsg \
+ nlattr_smc_diag_msg \
+ nlattr_tc_stats \
+ nlattr_tca_stab \
+ nlattr_tcamsg \
+ nlattr_tcmsg \
+ nlattr_unix_diag_msg \
+ old_mmap \
+ old_mmap-P \
+ old_mmap-v-none \
+ oldfstat \
+ oldlstat \
+ oldselect \
+ oldselect-efault \
+ oldstat \
+ open \
+ openat \
+ osf_utimes \
+ pause \
+ perf_event_open \
+ personality \
+ pipe \
+ pipe2 \
+ pkey_alloc \
+ pkey_free \
+ pkey_mprotect \
+ poll \
+ poll-P \
+ ppoll \
+ ppoll-P \
+ 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 \
+ printpath-umovestr \
+ printpath-umovestr-peekdata \
+ printpath-umovestr-undumpable \
+ printstr \
+ printstrn-umoven \
+ printstrn-umoven-peekdata \
+ printstrn-umoven-undumpable \
+ 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 \
+ riscv_flush_icache \
+ rmdir \
+ rt_sigaction \
+ rt_sigpending \
+ rt_sigprocmask \
+ rt_sigqueueinfo \
+ rt_sigreturn \
+ rt_sigsuspend \
+ rt_sigtimedwait \
+ rt_tgsigqueueinfo \
+ s390_guarded_storage \
+ s390_guarded_storage-v \
+ s390_pci_mmio_read_write \
+ s390_runtime_instr \
+ s390_sthyi \
+ s390_sthyi-v \
+ sched_get_priority_mxx \
+ sched_rr_get_interval \
+ sched_xetaffinity \
+ sched_xetattr \
+ sched_xetparam \
+ sched_xetscheduler \
+ sched_yield \
+ seccomp-filter \
+ seccomp_get_action_avail \
+ 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 \
+ so_linger \
+ so_peercred \
+ sock_filter-v \
+ socketcall \
+ sockopt-sol_netlink \
+ 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 \
+ xet_thread_area_x86 \
+ xetitimer \
+ xetpgid \
+ xetpriority \
+ xettimeofday \
+ #
+
+attach_f_p_LDADD = -lpthread $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = $(mq_LIBS) $(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 = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(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
+
+stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \
+ stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
+ stack-fcall-mangled-2.c stack-fcall-mangled-3.c
+
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 dev-yy.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 \
+ fsync-y.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 \
+ group_req.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_dm.gen.test ioctl_dm-v.gen.test \
+ ioctl_evdev.gen.test ioctl_evdev-v.gen.test \
+ ioctl_kvm_run.gen.test ioctl_loop.gen.test \
+ ioctl_loop-nv.gen.test ioctl_loop-v.gen.test \
+ ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 \
+ kcmp-y.gen.test kern_features.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 modify_ldt.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 net-yy-inet6.gen.test \
+ netlink_audit.gen.test netlink_crypto.gen.test \
+ netlink_generic.gen.test netlink_kobject_uevent.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 \
+ nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test \
+ nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test \
+ nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test \
+ nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test \
+ nfnetlink_osf.gen.test nfnetlink_queue.gen.test \
+ nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test \
+ nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test \
+ nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test \
+ nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test \
+ nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test \
+ nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test \
+ nlattr_inet_diag_req_compat.gen.test \
+ nlattr_inet_diag_req_v2.gen.test \
+ nlattr_mdba_mdb_entry.gen.test \
+ nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test \
+ nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test \
+ nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test \
+ nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test \
+ nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test \
+ nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test \
+ nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test \
+ nlattr_unix_diag_msg.gen.test old_mmap.gen.test \
+ old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test \
+ oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test \
+ oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test \
+ pread64-pwrite64.gen.test preadv.gen.test \
+ preadv-pwritev.gen.test preadv2-pwritev2.gen.test \
+ printstr.gen.test printpath-umovestr.gen.test \
+ printpath-umovestr-peekdata.gen.test \
+ printpath-umovestr-undumpable.gen.test \
+ printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test \
+ s390_guarded_storage-v.gen.test \
+ s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \
+ s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test \
+ select.gen.test select-P.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 \
+ so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test \
+ socketcall.gen.test sockopt-sol_netlink.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 $(am__append_1)
+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 \
+ ipc_msgbuf.test \
+ kern_features-fault.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 \
+ nsyscalls-d.test \
+ nsyscalls-nd.test \
+ personality.test \
+ pipe.test \
+ poll-P.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 \
+ xet_thread_area_x86.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 \
+ clone_parent.test \
+ clone_ptrace.test \
+ count-f.test \
+ count.test \
+ delay.test \
+ detach-running.test \
+ detach-sleeping.test \
+ detach-stopped.test \
+ filter-unavailable.test \
+ filtering_fd-syntax.test \
+ filtering_syscall-syntax.test \
+ fflush.test \
+ get_regs.test \
+ inject-nf.test \
+ interactive_block.test \
+ ksysent.test \
+ localtime.test \
+ opipe.test \
+ options-syntax.test \
+ pc.test \
+ printpath-umovestr-legacy.test \
+ printstrn-umoven-legacy.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 \
+ sigblock.test \
+ sigign.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
+
+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) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \
+ SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ SIZEOF_LONG=$(SIZEOF_LONG) \
+ MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(abs_srcdir)/strace.supp
+EXTRA_DIST = \
+ accept_compat.h \
+ attach-p-cmd.h \
+ 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 \
+ ipc.sh \
+ ipc_msgbuf.expected \
+ ksysent.sed \
+ lstatx.c \
+ match.awk \
+ net.expected \
+ netlink_sock_diag-v.sh \
+ pipe.expected \
+ print_user_desc.c \
+ 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 \
+ stack-fcall.h \
+ strace-C.expected \
+ strace-E.expected \
+ strace-T.expected \
+ strace-ff.expected \
+ strace-k-demangle.test \
+ strace-k.test \
+ strace-r.expected \
+ strace.supp \
+ struct_flock.c \
+ sun_path.expected \
+ syntax.sh \
+ 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)))
+BUILT_SOURCES = ksysent.h scno.h
+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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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)
+
+_newselect-P$(EXEEXT): $(_newselect_P_OBJECTS) $(_newselect_P_DEPENDENCIES) $(EXTRA__newselect_P_DEPENDENCIES)
+ @rm -f _newselect-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(_newselect_P_OBJECTS) $(_newselect_P_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)
+
+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)
+
+bpf-v$(EXEEXT): $(bpf_v_OBJECTS) $(bpf_v_DEPENDENCIES) $(EXTRA_bpf_v_DEPENDENCIES)
+ @rm -f bpf-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(bpf_v_OBJECTS) $(bpf_v_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)
+
+check_sigblock$(EXEEXT): $(check_sigblock_OBJECTS) $(check_sigblock_DEPENDENCIES) $(EXTRA_check_sigblock_DEPENDENCIES)
+ @rm -f check_sigblock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_sigblock_OBJECTS) $(check_sigblock_LDADD) $(LIBS)
+
+check_sigign$(EXEEXT): $(check_sigign_OBJECTS) $(check_sigign_DEPENDENCIES) $(EXTRA_check_sigign_DEPENDENCIES)
+ @rm -f check_sigign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_sigign_OBJECTS) $(check_sigign_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)
+
+clone_parent$(EXEEXT): $(clone_parent_OBJECTS) $(clone_parent_DEPENDENCIES) $(EXTRA_clone_parent_DEPENDENCIES)
+ @rm -f clone_parent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(clone_parent_OBJECTS) $(clone_parent_LDADD) $(LIBS)
+
+clone_ptrace$(EXEEXT): $(clone_ptrace_OBJECTS) $(clone_ptrace_DEPENDENCIES) $(EXTRA_clone_ptrace_DEPENDENCIES)
+ @rm -f clone_ptrace$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(clone_ptrace_OBJECTS) $(clone_ptrace_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)
+
+delay$(EXEEXT): $(delay_OBJECTS) $(delay_DEPENDENCIES) $(EXTRA_delay_DEPENDENCIES)
+ @rm -f delay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delay_OBJECTS) $(delay_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)
+
+dev-yy$(EXEEXT): $(dev_yy_OBJECTS) $(dev_yy_DEPENDENCIES) $(EXTRA_dev_yy_DEPENDENCIES)
+ @rm -f dev-yy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dev_yy_OBJECTS) $(dev_yy_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)
+
+fflush$(EXEEXT): $(fflush_OBJECTS) $(fflush_DEPENDENCIES) $(EXTRA_fflush_DEPENDENCIES)
+ @rm -f fflush$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fflush_OBJECTS) $(fflush_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)
+
+fsync-y$(EXEEXT): $(fsync_y_OBJECTS) $(fsync_y_DEPENDENCIES) $(EXTRA_fsync_y_DEPENDENCIES)
+ @rm -f fsync-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsync_y_OBJECTS) $(fsync_y_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)
+
+group_req$(EXEEXT): $(group_req_OBJECTS) $(group_req_DEPENDENCIES) $(EXTRA_group_req_DEPENDENCIES)
+ @rm -f group_req$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(group_req_OBJECTS) $(group_req_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)
+
+inject-nf$(EXEEXT): $(inject_nf_OBJECTS) $(inject_nf_DEPENDENCIES) $(EXTRA_inject_nf_DEPENDENCIES)
+ @rm -f inject-nf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(inject_nf_OBJECTS) $(inject_nf_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_kvm_run$(EXEEXT): $(ioctl_kvm_run_OBJECTS) $(ioctl_kvm_run_DEPENDENCIES) $(EXTRA_ioctl_kvm_run_DEPENDENCIES)
+ @rm -f ioctl_kvm_run$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ioctl_kvm_run_OBJECTS) $(ioctl_kvm_run_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)
+
+is_linux_mips_n64$(EXEEXT): $(is_linux_mips_n64_OBJECTS) $(is_linux_mips_n64_DEPENDENCIES) $(EXTRA_is_linux_mips_n64_DEPENDENCIES)
+ @rm -f is_linux_mips_n64$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(is_linux_mips_n64_OBJECTS) $(is_linux_mips_n64_LDADD) $(LIBS)
+
+kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES)
+ @rm -f kcmp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
+
+kcmp-y$(EXEEXT): $(kcmp_y_OBJECTS) $(kcmp_y_DEPENDENCIES) $(EXTRA_kcmp_y_DEPENDENCIES)
+ @rm -f kcmp-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
+
+kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES)
+ @rm -f kern_features$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_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)
+
+list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES)
+ @rm -f list_sigaction_signum$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
+
+llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES)
+ @rm -f llseek$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+
+localtime$(EXEEXT): $(localtime_OBJECTS) $(localtime_DEPENDENCIES) $(EXTRA_localtime_DEPENDENCIES)
+ @rm -f localtime$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(localtime_OBJECTS) $(localtime_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)
+
+modify_ldt$(EXEEXT): $(modify_ldt_OBJECTS) $(modify_ldt_DEPENDENCIES) $(EXTRA_modify_ldt_DEPENDENCIES)
+ @rm -f modify_ldt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(modify_ldt_OBJECTS) $(modify_ldt_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-inet6$(EXEEXT): $(net_yy_inet6_OBJECTS) $(net_yy_inet6_DEPENDENCIES) $(EXTRA_net_yy_inet6_DEPENDENCIES)
+ @rm -f net-yy-inet6$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(net_yy_inet6_OBJECTS) $(net_yy_inet6_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_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_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES)
+ @rm -f netlink_crypto$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_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_kobject_uevent$(EXEEXT): $(netlink_kobject_uevent_OBJECTS) $(netlink_kobject_uevent_DEPENDENCIES) $(EXTRA_netlink_kobject_uevent_DEPENDENCIES)
+ @rm -f netlink_kobject_uevent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_kobject_uevent_OBJECTS) $(netlink_kobject_uevent_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)
+
+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_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)
+
+nfnetlink_acct$(EXEEXT): $(nfnetlink_acct_OBJECTS) $(nfnetlink_acct_DEPENDENCIES) $(EXTRA_nfnetlink_acct_DEPENDENCIES)
+ @rm -f nfnetlink_acct$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_acct_OBJECTS) $(nfnetlink_acct_LDADD) $(LIBS)
+
+nfnetlink_cthelper$(EXEEXT): $(nfnetlink_cthelper_OBJECTS) $(nfnetlink_cthelper_DEPENDENCIES) $(EXTRA_nfnetlink_cthelper_DEPENDENCIES)
+ @rm -f nfnetlink_cthelper$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_cthelper_OBJECTS) $(nfnetlink_cthelper_LDADD) $(LIBS)
+
+nfnetlink_ctnetlink$(EXEEXT): $(nfnetlink_ctnetlink_OBJECTS) $(nfnetlink_ctnetlink_DEPENDENCIES) $(EXTRA_nfnetlink_ctnetlink_DEPENDENCIES)
+ @rm -f nfnetlink_ctnetlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ctnetlink_OBJECTS) $(nfnetlink_ctnetlink_LDADD) $(LIBS)
+
+nfnetlink_ctnetlink_exp$(EXEEXT): $(nfnetlink_ctnetlink_exp_OBJECTS) $(nfnetlink_ctnetlink_exp_DEPENDENCIES) $(EXTRA_nfnetlink_ctnetlink_exp_DEPENDENCIES)
+ @rm -f nfnetlink_ctnetlink_exp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ctnetlink_exp_OBJECTS) $(nfnetlink_ctnetlink_exp_LDADD) $(LIBS)
+
+nfnetlink_cttimeout$(EXEEXT): $(nfnetlink_cttimeout_OBJECTS) $(nfnetlink_cttimeout_DEPENDENCIES) $(EXTRA_nfnetlink_cttimeout_DEPENDENCIES)
+ @rm -f nfnetlink_cttimeout$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_cttimeout_OBJECTS) $(nfnetlink_cttimeout_LDADD) $(LIBS)
+
+nfnetlink_ipset$(EXEEXT): $(nfnetlink_ipset_OBJECTS) $(nfnetlink_ipset_DEPENDENCIES) $(EXTRA_nfnetlink_ipset_DEPENDENCIES)
+ @rm -f nfnetlink_ipset$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ipset_OBJECTS) $(nfnetlink_ipset_LDADD) $(LIBS)
+
+nfnetlink_nft_compat$(EXEEXT): $(nfnetlink_nft_compat_OBJECTS) $(nfnetlink_nft_compat_DEPENDENCIES) $(EXTRA_nfnetlink_nft_compat_DEPENDENCIES)
+ @rm -f nfnetlink_nft_compat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_nft_compat_OBJECTS) $(nfnetlink_nft_compat_LDADD) $(LIBS)
+
+nfnetlink_nftables$(EXEEXT): $(nfnetlink_nftables_OBJECTS) $(nfnetlink_nftables_DEPENDENCIES) $(EXTRA_nfnetlink_nftables_DEPENDENCIES)
+ @rm -f nfnetlink_nftables$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_nftables_OBJECTS) $(nfnetlink_nftables_LDADD) $(LIBS)
+
+nfnetlink_osf$(EXEEXT): $(nfnetlink_osf_OBJECTS) $(nfnetlink_osf_DEPENDENCIES) $(EXTRA_nfnetlink_osf_DEPENDENCIES)
+ @rm -f nfnetlink_osf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_osf_OBJECTS) $(nfnetlink_osf_LDADD) $(LIBS)
+
+nfnetlink_queue$(EXEEXT): $(nfnetlink_queue_OBJECTS) $(nfnetlink_queue_DEPENDENCIES) $(EXTRA_nfnetlink_queue_DEPENDENCIES)
+ @rm -f nfnetlink_queue$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_queue_OBJECTS) $(nfnetlink_queue_LDADD) $(LIBS)
+
+nfnetlink_ulog$(EXEEXT): $(nfnetlink_ulog_OBJECTS) $(nfnetlink_ulog_DEPENDENCIES) $(EXTRA_nfnetlink_ulog_DEPENDENCIES)
+ @rm -f nfnetlink_ulog$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ulog_OBJECTS) $(nfnetlink_ulog_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_br_port_msg$(EXEEXT): $(nlattr_br_port_msg_OBJECTS) $(nlattr_br_port_msg_DEPENDENCIES) $(EXTRA_nlattr_br_port_msg_DEPENDENCIES)
+ @rm -f nlattr_br_port_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_br_port_msg_OBJECTS) $(nlattr_br_port_msg_LDADD) $(LIBS)
+
+nlattr_crypto_user_alg$(EXEEXT): $(nlattr_crypto_user_alg_OBJECTS) $(nlattr_crypto_user_alg_DEPENDENCIES) $(EXTRA_nlattr_crypto_user_alg_DEPENDENCIES)
+ @rm -f nlattr_crypto_user_alg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_crypto_user_alg_OBJECTS) $(nlattr_crypto_user_alg_LDADD) $(LIBS)
+
+nlattr_dcbmsg$(EXEEXT): $(nlattr_dcbmsg_OBJECTS) $(nlattr_dcbmsg_DEPENDENCIES) $(EXTRA_nlattr_dcbmsg_DEPENDENCIES)
+ @rm -f nlattr_dcbmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_dcbmsg_OBJECTS) $(nlattr_dcbmsg_LDADD) $(LIBS)
+
+nlattr_fib_rule_hdr$(EXEEXT): $(nlattr_fib_rule_hdr_OBJECTS) $(nlattr_fib_rule_hdr_DEPENDENCIES) $(EXTRA_nlattr_fib_rule_hdr_DEPENDENCIES)
+ @rm -f nlattr_fib_rule_hdr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_fib_rule_hdr_OBJECTS) $(nlattr_fib_rule_hdr_LDADD) $(LIBS)
+
+nlattr_ifaddrlblmsg$(EXEEXT): $(nlattr_ifaddrlblmsg_OBJECTS) $(nlattr_ifaddrlblmsg_DEPENDENCIES) $(EXTRA_nlattr_ifaddrlblmsg_DEPENDENCIES)
+ @rm -f nlattr_ifaddrlblmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifaddrlblmsg_OBJECTS) $(nlattr_ifaddrlblmsg_LDADD) $(LIBS)
+
+nlattr_ifaddrmsg$(EXEEXT): $(nlattr_ifaddrmsg_OBJECTS) $(nlattr_ifaddrmsg_DEPENDENCIES) $(EXTRA_nlattr_ifaddrmsg_DEPENDENCIES)
+ @rm -f nlattr_ifaddrmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifaddrmsg_OBJECTS) $(nlattr_ifaddrmsg_LDADD) $(LIBS)
+
+nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPENDENCIES) $(EXTRA_nlattr_ifinfomsg_DEPENDENCIES)
+ @rm -f nlattr_ifinfomsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS)
+
+nlattr_ifla_brport$(EXEEXT): $(nlattr_ifla_brport_OBJECTS) $(nlattr_ifla_brport_DEPENDENCIES) $(EXTRA_nlattr_ifla_brport_DEPENDENCIES)
+ @rm -f nlattr_ifla_brport$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_brport_OBJECTS) $(nlattr_ifla_brport_LDADD) $(LIBS)
+
+nlattr_ifla_port$(EXEEXT): $(nlattr_ifla_port_OBJECTS) $(nlattr_ifla_port_DEPENDENCIES) $(EXTRA_nlattr_ifla_port_DEPENDENCIES)
+ @rm -f nlattr_ifla_port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_port_OBJECTS) $(nlattr_ifla_port_LDADD) $(LIBS)
+
+nlattr_ifla_xdp$(EXEEXT): $(nlattr_ifla_xdp_OBJECTS) $(nlattr_ifla_xdp_DEPENDENCIES) $(EXTRA_nlattr_ifla_xdp_DEPENDENCIES)
+ @rm -f nlattr_ifla_xdp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_xdp_OBJECTS) $(nlattr_ifla_xdp_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_inet_diag_req_compat$(EXEEXT): $(nlattr_inet_diag_req_compat_OBJECTS) $(nlattr_inet_diag_req_compat_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_req_compat_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_req_compat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_req_compat_OBJECTS) $(nlattr_inet_diag_req_compat_LDADD) $(LIBS)
+
+nlattr_inet_diag_req_v2$(EXEEXT): $(nlattr_inet_diag_req_v2_OBJECTS) $(nlattr_inet_diag_req_v2_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_req_v2_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_req_v2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_req_v2_OBJECTS) $(nlattr_inet_diag_req_v2_LDADD) $(LIBS)
+
+nlattr_mdba_mdb_entry$(EXEEXT): $(nlattr_mdba_mdb_entry_OBJECTS) $(nlattr_mdba_mdb_entry_DEPENDENCIES) $(EXTRA_nlattr_mdba_mdb_entry_DEPENDENCIES)
+ @rm -f nlattr_mdba_mdb_entry$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_mdba_mdb_entry_OBJECTS) $(nlattr_mdba_mdb_entry_LDADD) $(LIBS)
+
+nlattr_mdba_router_port$(EXEEXT): $(nlattr_mdba_router_port_OBJECTS) $(nlattr_mdba_router_port_DEPENDENCIES) $(EXTRA_nlattr_mdba_router_port_DEPENDENCIES)
+ @rm -f nlattr_mdba_router_port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_mdba_router_port_OBJECTS) $(nlattr_mdba_router_port_LDADD) $(LIBS)
+
+nlattr_ndmsg$(EXEEXT): $(nlattr_ndmsg_OBJECTS) $(nlattr_ndmsg_DEPENDENCIES) $(EXTRA_nlattr_ndmsg_DEPENDENCIES)
+ @rm -f nlattr_ndmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ndmsg_OBJECTS) $(nlattr_ndmsg_LDADD) $(LIBS)
+
+nlattr_ndtmsg$(EXEEXT): $(nlattr_ndtmsg_OBJECTS) $(nlattr_ndtmsg_DEPENDENCIES) $(EXTRA_nlattr_ndtmsg_DEPENDENCIES)
+ @rm -f nlattr_ndtmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ndtmsg_OBJECTS) $(nlattr_ndtmsg_LDADD) $(LIBS)
+
+nlattr_netconfmsg$(EXEEXT): $(nlattr_netconfmsg_OBJECTS) $(nlattr_netconfmsg_DEPENDENCIES) $(EXTRA_nlattr_netconfmsg_DEPENDENCIES)
+ @rm -f nlattr_netconfmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_netconfmsg_OBJECTS) $(nlattr_netconfmsg_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_nlmsgerr$(EXEEXT): $(nlattr_nlmsgerr_OBJECTS) $(nlattr_nlmsgerr_DEPENDENCIES) $(EXTRA_nlattr_nlmsgerr_DEPENDENCIES)
+ @rm -f nlattr_nlmsgerr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_nlmsgerr_OBJECTS) $(nlattr_nlmsgerr_LDADD) $(LIBS)
+
+nlattr_packet_diag_msg$(EXEEXT): $(nlattr_packet_diag_msg_OBJECTS) $(nlattr_packet_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_packet_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_packet_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_packet_diag_msg_OBJECTS) $(nlattr_packet_diag_msg_LDADD) $(LIBS)
+
+nlattr_rtgenmsg$(EXEEXT): $(nlattr_rtgenmsg_OBJECTS) $(nlattr_rtgenmsg_DEPENDENCIES) $(EXTRA_nlattr_rtgenmsg_DEPENDENCIES)
+ @rm -f nlattr_rtgenmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_rtgenmsg_OBJECTS) $(nlattr_rtgenmsg_LDADD) $(LIBS)
+
+nlattr_rtmsg$(EXEEXT): $(nlattr_rtmsg_OBJECTS) $(nlattr_rtmsg_DEPENDENCIES) $(EXTRA_nlattr_rtmsg_DEPENDENCIES)
+ @rm -f nlattr_rtmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_rtmsg_OBJECTS) $(nlattr_rtmsg_LDADD) $(LIBS)
+
+nlattr_smc_diag_msg$(EXEEXT): $(nlattr_smc_diag_msg_OBJECTS) $(nlattr_smc_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_smc_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_smc_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_smc_diag_msg_OBJECTS) $(nlattr_smc_diag_msg_LDADD) $(LIBS)
+
+nlattr_tc_stats$(EXEEXT): $(nlattr_tc_stats_OBJECTS) $(nlattr_tc_stats_DEPENDENCIES) $(EXTRA_nlattr_tc_stats_DEPENDENCIES)
+ @rm -f nlattr_tc_stats$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tc_stats_OBJECTS) $(nlattr_tc_stats_LDADD) $(LIBS)
+
+nlattr_tca_stab$(EXEEXT): $(nlattr_tca_stab_OBJECTS) $(nlattr_tca_stab_DEPENDENCIES) $(EXTRA_nlattr_tca_stab_DEPENDENCIES)
+ @rm -f nlattr_tca_stab$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tca_stab_OBJECTS) $(nlattr_tca_stab_LDADD) $(LIBS)
+
+nlattr_tcamsg$(EXEEXT): $(nlattr_tcamsg_OBJECTS) $(nlattr_tcamsg_DEPENDENCIES) $(EXTRA_nlattr_tcamsg_DEPENDENCIES)
+ @rm -f nlattr_tcamsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tcamsg_OBJECTS) $(nlattr_tcamsg_LDADD) $(LIBS)
+
+nlattr_tcmsg$(EXEEXT): $(nlattr_tcmsg_OBJECTS) $(nlattr_tcmsg_DEPENDENCIES) $(EXTRA_nlattr_tcmsg_DEPENDENCIES)
+ @rm -f nlattr_tcmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tcmsg_OBJECTS) $(nlattr_tcmsg_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)
+
+nsyscalls-d$(EXEEXT): $(nsyscalls_d_OBJECTS) $(nsyscalls_d_DEPENDENCIES) $(EXTRA_nsyscalls_d_DEPENDENCIES)
+ @rm -f nsyscalls-d$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nsyscalls_d_OBJECTS) $(nsyscalls_d_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)
+
+old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_old_mmap_P_DEPENDENCIES)
+ @rm -f old_mmap-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS)
+
+old_mmap-v-none$(EXEEXT): $(old_mmap_v_none_OBJECTS) $(old_mmap_v_none_DEPENDENCIES) $(EXTRA_old_mmap_v_none_DEPENDENCIES)
+ @rm -f old_mmap-v-none$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(old_mmap_v_none_OBJECTS) $(old_mmap_v_none_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)
+
+oldselect-P$(EXEEXT): $(oldselect_P_OBJECTS) $(oldselect_P_DEPENDENCIES) $(EXTRA_oldselect_P_DEPENDENCIES)
+ @rm -f oldselect-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_P_OBJECTS) $(oldselect_P_LDADD) $(LIBS)
+
+oldselect-efault$(EXEEXT): $(oldselect_efault_OBJECTS) $(oldselect_efault_DEPENDENCIES) $(EXTRA_oldselect_efault_DEPENDENCIES)
+ @rm -f oldselect-efault$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_efault_OBJECTS) $(oldselect_efault_LDADD) $(LIBS)
+
+oldselect-efault-P$(EXEEXT): $(oldselect_efault_P_OBJECTS) $(oldselect_efault_P_DEPENDENCIES) $(EXTRA_oldselect_efault_P_DEPENDENCIES)
+ @rm -f oldselect-efault-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_efault_P_OBJECTS) $(oldselect_efault_P_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)
+
+poll-P$(EXEEXT): $(poll_P_OBJECTS) $(poll_P_DEPENDENCIES) $(EXTRA_poll_P_DEPENDENCIES)
+ @rm -f poll-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(poll_P_OBJECTS) $(poll_P_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-P$(EXEEXT): $(ppoll_P_OBJECTS) $(ppoll_P_DEPENDENCIES) $(EXTRA_ppoll_P_DEPENDENCIES)
+ @rm -f ppoll-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ppoll_P_OBJECTS) $(ppoll_P_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)
+
+printpath-umovestr$(EXEEXT): $(printpath_umovestr_OBJECTS) $(printpath_umovestr_DEPENDENCIES) $(EXTRA_printpath_umovestr_DEPENDENCIES)
+ @rm -f printpath-umovestr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_OBJECTS) $(printpath_umovestr_LDADD) $(LIBS)
+
+printpath-umovestr-peekdata$(EXEEXT): $(printpath_umovestr_peekdata_OBJECTS) $(printpath_umovestr_peekdata_DEPENDENCIES) $(EXTRA_printpath_umovestr_peekdata_DEPENDENCIES)
+ @rm -f printpath-umovestr-peekdata$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_peekdata_OBJECTS) $(printpath_umovestr_peekdata_LDADD) $(LIBS)
+
+printpath-umovestr-undumpable$(EXEEXT): $(printpath_umovestr_undumpable_OBJECTS) $(printpath_umovestr_undumpable_DEPENDENCIES) $(EXTRA_printpath_umovestr_undumpable_DEPENDENCIES)
+ @rm -f printpath-umovestr-undumpable$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_undumpable_OBJECTS) $(printpath_umovestr_undumpable_LDADD) $(LIBS)
+
+printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES)
+ @rm -f printstr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
+
+printstrn-umoven$(EXEEXT): $(printstrn_umoven_OBJECTS) $(printstrn_umoven_DEPENDENCIES) $(EXTRA_printstrn_umoven_DEPENDENCIES)
+ @rm -f printstrn-umoven$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_OBJECTS) $(printstrn_umoven_LDADD) $(LIBS)
+
+printstrn-umoven-peekdata$(EXEEXT): $(printstrn_umoven_peekdata_OBJECTS) $(printstrn_umoven_peekdata_DEPENDENCIES) $(EXTRA_printstrn_umoven_peekdata_DEPENDENCIES)
+ @rm -f printstrn-umoven-peekdata$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_peekdata_OBJECTS) $(printstrn_umoven_peekdata_LDADD) $(LIBS)
+
+printstrn-umoven-undumpable$(EXEEXT): $(printstrn_umoven_undumpable_OBJECTS) $(printstrn_umoven_undumpable_DEPENDENCIES) $(EXTRA_printstrn_umoven_undumpable_DEPENDENCIES)
+ @rm -f printstrn-umoven-undumpable$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_undumpable_OBJECTS) $(printstrn_umoven_undumpable_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)
+
+riscv_flush_icache$(EXEEXT): $(riscv_flush_icache_OBJECTS) $(riscv_flush_icache_DEPENDENCIES) $(EXTRA_riscv_flush_icache_DEPENDENCIES)
+ @rm -f riscv_flush_icache$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(riscv_flush_icache_OBJECTS) $(riscv_flush_icache_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_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)
+
+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)
+
+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)
+
+s390_guarded_storage$(EXEEXT): $(s390_guarded_storage_OBJECTS) $(s390_guarded_storage_DEPENDENCIES) $(EXTRA_s390_guarded_storage_DEPENDENCIES)
+ @rm -f s390_guarded_storage$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_guarded_storage_OBJECTS) $(s390_guarded_storage_LDADD) $(LIBS)
+
+s390_guarded_storage-v$(EXEEXT): $(s390_guarded_storage_v_OBJECTS) $(s390_guarded_storage_v_DEPENDENCIES) $(EXTRA_s390_guarded_storage_v_DEPENDENCIES)
+ @rm -f s390_guarded_storage-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_guarded_storage_v_OBJECTS) $(s390_guarded_storage_v_LDADD) $(LIBS)
+
+s390_pci_mmio_read_write$(EXEEXT): $(s390_pci_mmio_read_write_OBJECTS) $(s390_pci_mmio_read_write_DEPENDENCIES) $(EXTRA_s390_pci_mmio_read_write_DEPENDENCIES)
+ @rm -f s390_pci_mmio_read_write$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_pci_mmio_read_write_OBJECTS) $(s390_pci_mmio_read_write_LDADD) $(LIBS)
+
+s390_runtime_instr$(EXEEXT): $(s390_runtime_instr_OBJECTS) $(s390_runtime_instr_DEPENDENCIES) $(EXTRA_s390_runtime_instr_DEPENDENCIES)
+ @rm -f s390_runtime_instr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_runtime_instr_OBJECTS) $(s390_runtime_instr_LDADD) $(LIBS)
+
+s390_sthyi$(EXEEXT): $(s390_sthyi_OBJECTS) $(s390_sthyi_DEPENDENCIES) $(EXTRA_s390_sthyi_DEPENDENCIES)
+ @rm -f s390_sthyi$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_sthyi_OBJECTS) $(s390_sthyi_LDADD) $(LIBS)
+
+s390_sthyi-v$(EXEEXT): $(s390_sthyi_v_OBJECTS) $(s390_sthyi_v_DEPENDENCIES) $(EXTRA_s390_sthyi_v_DEPENDENCIES)
+ @rm -f s390_sthyi-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_sthyi_v_OBJECTS) $(s390_sthyi_v_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)
+
+seccomp_get_action_avail$(EXEEXT): $(seccomp_get_action_avail_OBJECTS) $(seccomp_get_action_avail_DEPENDENCIES) $(EXTRA_seccomp_get_action_avail_DEPENDENCIES)
+ @rm -f seccomp_get_action_avail$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(seccomp_get_action_avail_OBJECTS) $(seccomp_get_action_avail_LDADD) $(LIBS)
+
+select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES)
+ @rm -f select$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
+
+select-P$(EXEEXT): $(select_P_OBJECTS) $(select_P_DEPENDENCIES) $(EXTRA_select_P_DEPENDENCIES)
+ @rm -f select-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(select_P_OBJECTS) $(select_P_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)
+
+set_sigblock$(EXEEXT): $(set_sigblock_OBJECTS) $(set_sigblock_DEPENDENCIES) $(EXTRA_set_sigblock_DEPENDENCIES)
+ @rm -f set_sigblock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(set_sigblock_OBJECTS) $(set_sigblock_LDADD) $(LIBS)
+
+set_sigign$(EXEEXT): $(set_sigign_OBJECTS) $(set_sigign_DEPENDENCIES) $(EXTRA_set_sigign_DEPENDENCIES)
+ @rm -f set_sigign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(set_sigign_OBJECTS) $(set_sigign_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$(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)
+
+signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES)
+ @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)
+
+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)
+
+so_linger$(EXEEXT): $(so_linger_OBJECTS) $(so_linger_DEPENDENCIES) $(EXTRA_so_linger_DEPENDENCIES)
+ @rm -f so_linger$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(so_linger_OBJECTS) $(so_linger_LDADD) $(LIBS)
+
+so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA_so_peercred_DEPENDENCIES)
+ @rm -f so_peercred$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS)
+
+sock_filter-v$(EXEEXT): $(sock_filter_v_OBJECTS) $(sock_filter_v_DEPENDENCIES) $(EXTRA_sock_filter_v_DEPENDENCIES)
+ @rm -f sock_filter-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sock_filter_v_OBJECTS) $(sock_filter_v_LDADD) $(LIBS)
+
+socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES)
+ @rm -f socketcall$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
+
+sockopt-sol_netlink$(EXEEXT): $(sockopt_sol_netlink_OBJECTS) $(sockopt_sol_netlink_DEPENDENCIES) $(EXTRA_sockopt_sol_netlink_DEPENDENCIES)
+ @rm -f sockopt-sol_netlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sockopt_sol_netlink_OBJECTS) $(sockopt_sol_netlink_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)
+
+stack-fcall-mangled$(EXEEXT): $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_DEPENDENCIES) $(EXTRA_stack_fcall_mangled_DEPENDENCIES)
+ @rm -f stack-fcall-mangled$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_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)
+
+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)
+
+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)
+
+xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES)
+ @rm -f xet_thread_area_x86$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_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)
+
+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)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/_newselect-P.Po
+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)/block_reset_raise_run.Po
+include ./$(DEPDIR)/bpf-v.Po
+include ./$(DEPDIR)/bpf.Po
+include ./$(DEPDIR)/brk.Po
+include ./$(DEPDIR)/btrfs.Po
+include ./$(DEPDIR)/caps-abbrev.Po
+include ./$(DEPDIR)/caps.Po
+include ./$(DEPDIR)/check_sigblock.Po
+include ./$(DEPDIR)/check_sigign.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)/clone_parent.Po
+include ./$(DEPDIR)/clone_ptrace.Po
+include ./$(DEPDIR)/copy_file_range.Po
+include ./$(DEPDIR)/count-f.Po
+include ./$(DEPDIR)/creat.Po
+include ./$(DEPDIR)/delay.Po
+include ./$(DEPDIR)/delete_module.Po
+include ./$(DEPDIR)/dev-yy.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)/fflush.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-y.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)/group_req.Po
+include ./$(DEPDIR)/inet-cmsg.Po
+include ./$(DEPDIR)/init_module.Po
+include ./$(DEPDIR)/inject-nf.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_kvm_run.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)/is_linux_mips_n64.Po
+include ./$(DEPDIR)/kcmp-y.Po
+include ./$(DEPDIR)/kcmp.Po
+include ./$(DEPDIR)/kern_features.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-create_nl_socket.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-ifindex.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-test_printpath.Po
+include ./$(DEPDIR)/libtests_a-test_printstrn.Po
+include ./$(DEPDIR)/libtests_a-test_ucopy.Po
+include ./$(DEPDIR)/libtests_a-tprintf.Po
+include ./$(DEPDIR)/link.Po
+include ./$(DEPDIR)/linkat.Po
+include ./$(DEPDIR)/list_sigaction_signum.Po
+include ./$(DEPDIR)/llseek.Po
+include ./$(DEPDIR)/localtime.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)/modify_ldt.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-inet6.Po
+include ./$(DEPDIR)/net-yy-netlink.Po
+include ./$(DEPDIR)/net-yy-unix.Po
+include ./$(DEPDIR)/netlink_audit.Po
+include ./$(DEPDIR)/netlink_crypto.Po
+include ./$(DEPDIR)/netlink_generic.Po
+include ./$(DEPDIR)/netlink_inet_diag.Po
+include ./$(DEPDIR)/netlink_kobject_uevent.Po
+include ./$(DEPDIR)/netlink_netfilter.Po
+include ./$(DEPDIR)/netlink_netlink_diag.Po
+include ./$(DEPDIR)/netlink_protocol.Po
+include ./$(DEPDIR)/netlink_route.Po
+include ./$(DEPDIR)/netlink_selinux.Po
+include ./$(DEPDIR)/netlink_sock_diag.Po
+include ./$(DEPDIR)/netlink_unix_diag.Po
+include ./$(DEPDIR)/netlink_xfrm.Po
+include ./$(DEPDIR)/newfstatat-newfstatat.Po
+include ./$(DEPDIR)/nfnetlink_acct.Po
+include ./$(DEPDIR)/nfnetlink_cthelper.Po
+include ./$(DEPDIR)/nfnetlink_ctnetlink.Po
+include ./$(DEPDIR)/nfnetlink_ctnetlink_exp.Po
+include ./$(DEPDIR)/nfnetlink_cttimeout.Po
+include ./$(DEPDIR)/nfnetlink_ipset.Po
+include ./$(DEPDIR)/nfnetlink_nft_compat.Po
+include ./$(DEPDIR)/nfnetlink_nftables.Po
+include ./$(DEPDIR)/nfnetlink_osf.Po
+include ./$(DEPDIR)/nfnetlink_queue.Po
+include ./$(DEPDIR)/nfnetlink_ulog.Po
+include ./$(DEPDIR)/nlattr.Po
+include ./$(DEPDIR)/nlattr_br_port_msg.Po
+include ./$(DEPDIR)/nlattr_crypto_user_alg.Po
+include ./$(DEPDIR)/nlattr_dcbmsg.Po
+include ./$(DEPDIR)/nlattr_fib_rule_hdr.Po
+include ./$(DEPDIR)/nlattr_ifaddrlblmsg.Po
+include ./$(DEPDIR)/nlattr_ifaddrmsg.Po
+include ./$(DEPDIR)/nlattr_ifinfomsg.Po
+include ./$(DEPDIR)/nlattr_ifla_brport.Po
+include ./$(DEPDIR)/nlattr_ifla_port.Po
+include ./$(DEPDIR)/nlattr_ifla_xdp.Po
+include ./$(DEPDIR)/nlattr_inet_diag_msg.Po
+include ./$(DEPDIR)/nlattr_inet_diag_req_compat.Po
+include ./$(DEPDIR)/nlattr_inet_diag_req_v2.Po
+include ./$(DEPDIR)/nlattr_mdba_mdb_entry.Po
+include ./$(DEPDIR)/nlattr_mdba_router_port.Po
+include ./$(DEPDIR)/nlattr_ndmsg.Po
+include ./$(DEPDIR)/nlattr_ndtmsg.Po
+include ./$(DEPDIR)/nlattr_netconfmsg.Po
+include ./$(DEPDIR)/nlattr_netlink_diag_msg.Po
+include ./$(DEPDIR)/nlattr_nlmsgerr.Po
+include ./$(DEPDIR)/nlattr_packet_diag_msg.Po
+include ./$(DEPDIR)/nlattr_rtgenmsg.Po
+include ./$(DEPDIR)/nlattr_rtmsg.Po
+include ./$(DEPDIR)/nlattr_smc_diag_msg.Po
+include ./$(DEPDIR)/nlattr_tc_stats.Po
+include ./$(DEPDIR)/nlattr_tca_stab.Po
+include ./$(DEPDIR)/nlattr_tcamsg.Po
+include ./$(DEPDIR)/nlattr_tcmsg.Po
+include ./$(DEPDIR)/nlattr_unix_diag_msg.Po
+include ./$(DEPDIR)/nsyscalls-d.Po
+include ./$(DEPDIR)/nsyscalls.Po
+include ./$(DEPDIR)/old_mmap-P.Po
+include ./$(DEPDIR)/old_mmap-v-none.Po
+include ./$(DEPDIR)/old_mmap.Po
+include ./$(DEPDIR)/oldfstat.Po
+include ./$(DEPDIR)/oldlstat.Po
+include ./$(DEPDIR)/oldselect-P.Po
+include ./$(DEPDIR)/oldselect-efault-P.Po
+include ./$(DEPDIR)/oldselect-efault.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-P.Po
+include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll-P.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)/printpath-umovestr-peekdata.Po
+include ./$(DEPDIR)/printpath-umovestr-undumpable.Po
+include ./$(DEPDIR)/printpath-umovestr.Po
+include ./$(DEPDIR)/printstr.Po
+include ./$(DEPDIR)/printstrn-umoven-peekdata.Po
+include ./$(DEPDIR)/printstrn-umoven-undumpable.Po
+include ./$(DEPDIR)/printstrn-umoven.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)/riscv_flush_icache.Po
+include ./$(DEPDIR)/rmdir.Po
+include ./$(DEPDIR)/rt_sigaction.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)/run_expect_termsig.Po
+include ./$(DEPDIR)/s390_guarded_storage-v.Po
+include ./$(DEPDIR)/s390_guarded_storage.Po
+include ./$(DEPDIR)/s390_pci_mmio_read_write.Po
+include ./$(DEPDIR)/s390_runtime_instr.Po
+include ./$(DEPDIR)/s390_sthyi-v.Po
+include ./$(DEPDIR)/s390_sthyi.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)/seccomp_get_action_avail.Po
+include ./$(DEPDIR)/select-P.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)/set_sigblock.Po
+include ./$(DEPDIR)/set_sigign.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.Po
+include ./$(DEPDIR)/signal_receive.Po
+include ./$(DEPDIR)/signalfd4.Po
+include ./$(DEPDIR)/sigpending.Po
+include ./$(DEPDIR)/sigprocmask.Po
+include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sigsuspend.Po
+include ./$(DEPDIR)/sleep.Po
+include ./$(DEPDIR)/so_linger.Po
+include ./$(DEPDIR)/so_peercred.Po
+include ./$(DEPDIR)/sock_filter-v.Po
+include ./$(DEPDIR)/socketcall.Po
+include ./$(DEPDIR)/sockopt-sol_netlink.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-mangled-0.Po
+include ./$(DEPDIR)/stack-fcall-mangled-1.Po
+include ./$(DEPDIR)/stack-fcall-mangled-2.Po
+include ./$(DEPDIR)/stack-fcall-mangled-3.Po
+include ./$(DEPDIR)/stack-fcall-mangled.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)/unblock_reset_raise.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)/xet_thread_area_x86.Po
+include ./$(DEPDIR)/xetitimer.Po
+include ./$(DEPDIR)/xetpgid.Po
+include ./$(DEPDIR)/xetpriority.Po
+include ./$(DEPDIR)/xettimeofday.Po
+include ./$(DEPDIR)/zeroargc.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-create_nl_socket.o: create_nl_socket.c
+ $(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_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+# $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.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-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_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_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+# $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.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-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_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-ifindex.o: ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-ifindex.o -MD -MP -MF $(DEPDIR)/libtests_a-ifindex.Tpo -c -o libtests_a-ifindex.o `test -f 'ifindex.c' || echo '$(srcdir)/'`ifindex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-ifindex.Tpo $(DEPDIR)/libtests_a-ifindex.Po
+# $(AM_V_CC)source='ifindex.c' object='libtests_a-ifindex.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-ifindex.o `test -f 'ifindex.c' || echo '$(srcdir)/'`ifindex.c
+
+libtests_a-ifindex.obj: ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-ifindex.obj -MD -MP -MF $(DEPDIR)/libtests_a-ifindex.Tpo -c -o libtests_a-ifindex.obj `if test -f 'ifindex.c'; then $(CYGPATH_W) 'ifindex.c'; else $(CYGPATH_W) '$(srcdir)/ifindex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-ifindex.Tpo $(DEPDIR)/libtests_a-ifindex.Po
+# $(AM_V_CC)source='ifindex.c' object='libtests_a-ifindex.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-ifindex.obj `if test -f 'ifindex.c'; then $(CYGPATH_W) 'ifindex.c'; else $(CYGPATH_W) '$(srcdir)/ifindex.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-test_printpath.o: test_printpath.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printpath.o -MD -MP -MF $(DEPDIR)/libtests_a-test_printpath.Tpo -c -o libtests_a-test_printpath.o `test -f 'test_printpath.c' || echo '$(srcdir)/'`test_printpath.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printpath.Tpo $(DEPDIR)/libtests_a-test_printpath.Po
+# $(AM_V_CC)source='test_printpath.c' object='libtests_a-test_printpath.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-test_printpath.o `test -f 'test_printpath.c' || echo '$(srcdir)/'`test_printpath.c
+
+libtests_a-test_printpath.obj: test_printpath.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printpath.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_printpath.Tpo -c -o libtests_a-test_printpath.obj `if test -f 'test_printpath.c'; then $(CYGPATH_W) 'test_printpath.c'; else $(CYGPATH_W) '$(srcdir)/test_printpath.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printpath.Tpo $(DEPDIR)/libtests_a-test_printpath.Po
+# $(AM_V_CC)source='test_printpath.c' object='libtests_a-test_printpath.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-test_printpath.obj `if test -f 'test_printpath.c'; then $(CYGPATH_W) 'test_printpath.c'; else $(CYGPATH_W) '$(srcdir)/test_printpath.c'; fi`
+
+libtests_a-test_printstrn.o: test_printstrn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printstrn.o -MD -MP -MF $(DEPDIR)/libtests_a-test_printstrn.Tpo -c -o libtests_a-test_printstrn.o `test -f 'test_printstrn.c' || echo '$(srcdir)/'`test_printstrn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printstrn.Tpo $(DEPDIR)/libtests_a-test_printstrn.Po
+# $(AM_V_CC)source='test_printstrn.c' object='libtests_a-test_printstrn.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-test_printstrn.o `test -f 'test_printstrn.c' || echo '$(srcdir)/'`test_printstrn.c
+
+libtests_a-test_printstrn.obj: test_printstrn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printstrn.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_printstrn.Tpo -c -o libtests_a-test_printstrn.obj `if test -f 'test_printstrn.c'; then $(CYGPATH_W) 'test_printstrn.c'; else $(CYGPATH_W) '$(srcdir)/test_printstrn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printstrn.Tpo $(DEPDIR)/libtests_a-test_printstrn.Po
+# $(AM_V_CC)source='test_printstrn.c' object='libtests_a-test_printstrn.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-test_printstrn.obj `if test -f 'test_printstrn.c'; then $(CYGPATH_W) 'test_printstrn.c'; else $(CYGPATH_W) '$(srcdir)/test_printstrn.c'; fi`
+
+libtests_a-test_ucopy.o: test_ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_ucopy.o -MD -MP -MF $(DEPDIR)/libtests_a-test_ucopy.Tpo -c -o libtests_a-test_ucopy.o `test -f 'test_ucopy.c' || echo '$(srcdir)/'`test_ucopy.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_ucopy.Tpo $(DEPDIR)/libtests_a-test_ucopy.Po
+# $(AM_V_CC)source='test_ucopy.c' object='libtests_a-test_ucopy.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-test_ucopy.o `test -f 'test_ucopy.c' || echo '$(srcdir)/'`test_ucopy.c
+
+libtests_a-test_ucopy.obj: test_ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_ucopy.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_ucopy.Tpo -c -o libtests_a-test_ucopy.obj `if test -f 'test_ucopy.c'; then $(CYGPATH_W) 'test_ucopy.c'; else $(CYGPATH_W) '$(srcdir)/test_ucopy.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_ucopy.Tpo $(DEPDIR)/libtests_a-test_ucopy.Po
+# $(AM_V_CC)source='test_ucopy.c' object='libtests_a-test_ucopy.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-test_ucopy.obj `if test -f 'test_ucopy.c'; then $(CYGPATH_W) 'test_ucopy.c'; else $(CYGPATH_W) '$(srcdir)/test_ucopy.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:
+check-valgrind-memcheck-local:
+check-valgrind-helgrind-local:
+check-valgrind-drd-local:
+check-valgrind-sgcheck-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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+check-valgrind: check-valgrind-am
+
+check-valgrind-am: check-valgrind-local
+
+check-valgrind-drd: check-valgrind-drd-am
+
+check-valgrind-drd-am: check-valgrind-drd-local
+
+check-valgrind-helgrind: check-valgrind-helgrind-am
+
+check-valgrind-helgrind-am: check-valgrind-helgrind-local
+
+check-valgrind-memcheck: check-valgrind-memcheck-am
+
+check-valgrind-memcheck-am: check-valgrind-memcheck-local
+
+check-valgrind-sgcheck: check-valgrind-sgcheck-am
+
+check-valgrind-sgcheck-am: check-valgrind-sgcheck-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: all check check-am install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
+ check-valgrind-am check-valgrind-drd-am \
+ check-valgrind-drd-local check-valgrind-helgrind-am \
+ check-valgrind-helgrind-local check-valgrind-local \
+ check-valgrind-memcheck-am check-valgrind-memcheck-local \
+ check-valgrind-sgcheck-am check-valgrind-sgcheck-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)/_newselect-P.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)/bpf-v.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)/dev-yy.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)/fsync-y.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)/group_req.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_dm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_dm-v.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_kvm_run.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-nv.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_nsfs.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_sock_gifconf.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)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kern_features.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)/modify_ldt.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)/net-yy-inet6.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_crypto.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_kobject_uevent.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)/nfnetlink_acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_cthelper.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ctnetlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ctnetlink_exp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_cttimeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ipset.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_nft_compat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_nftables.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_osf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_queue.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ulog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_crypto_user_alg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_br_port_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_dcbmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_fib_rule_hdr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifaddrlblmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_brport.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_port.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_xdp.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_inet_diag_req_compat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_req_v2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_mdba_mdb_entry.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_mdba_router_port.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ndmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ndtmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netconfmsg.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_nlmsgerr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_packet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_rtgenmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_rtmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_smc_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tc_stats.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tca_stab.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tcamsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tcmsg.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)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap-v-none.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)/oldselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-efault.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-efault-P.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-P.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)/printpath-umovestr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printpath-umovestr-peekdata.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printpath-umovestr-undumpable.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven-peekdata.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven-undumpable.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)/riscv_flush_icache.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)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_guarded_storage-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_pci_mmio_read_write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_runtime_instr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_sthyi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_sthyi-v.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)/seccomp_get_action_avail.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)/select-P.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)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sock_filter-v.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)/sockopt-sol_netlink.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)$(MAKE) $(AM_MAKEFLAGS) -k \
+ $(foreach tool, $(valgrind_enabled_tools), 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)
+
+.PHONY: check-valgrind-local
+check-valgrind-local: $(check_LIBRARIES) $(check_PROGRAMS)
+
+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
+ 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
index fcfbf96a..63372b05 100644
--- a/tests-mx32/Makefile.am
+++ b/tests-mx32/Makefile.am
@@ -42,7 +42,9 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(top_builddir)/$(OS) \
-I$(top_srcdir)/$(OS) \
-I$(top_builddir) \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
@@ -97,13 +99,16 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
clone_parent \
clone_ptrace \
count-f \
+ delay \
execve-v \
execveat-v \
filter-unavailable \
fork-f \
+ fsync-y \
getpid \
getppid \
gettid \
+ inject-nf \
int_0x80 \
ioctl_dm-v \
ioctl_evdev-v \
@@ -114,6 +119,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
is_linux_mips_n64 \
ksysent \
list_sigaction_signum \
+ localtime \
mmsg-silent \
mmsg_name-v \
msg_control-v \
@@ -163,19 +169,17 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
zeroargc \
# end of check_PROGRAMS
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
+attach_f_p_LDADD = -lpthread $(LDADD)
count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
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)
+mq_LDADD = $(mq_LIBS) $(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
@@ -184,8 +188,8 @@ 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)
+threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(LDADD)
truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
@@ -222,6 +226,7 @@ DECODER_TESTS = \
getuid.test \
ioctl.test \
ipc_msgbuf.test \
+ kern_features-fault.test \
llseek.test \
lseek.test \
mmap.test \
@@ -274,6 +279,7 @@ MISC_TESTS = \
clone_ptrace.test \
count-f.test \
count.test \
+ delay.test \
detach-running.test \
detach-sleeping.test \
detach-stopped.test \
@@ -282,8 +288,10 @@ MISC_TESTS = \
filtering_syscall-syntax.test \
fflush.test \
get_regs.test \
+ inject-nf.test \
interactive_block.test \
ksysent.test \
+ localtime.test \
opipe.test \
options-syntax.test \
pc.test \
diff --git a/tests-mx32/Makefile.in b/tests-mx32/Makefile.in
index 1082a832..9558e7a3 100644
--- a/tests-mx32/Makefile.in
+++ b/tests-mx32/Makefile.in
@@ -142,18 +142,19 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
block_reset_raise_run$(EXEEXT) caps-abbrev$(EXEEXT) \
check_sigblock$(EXEEXT) check_sigign$(EXEEXT) \
clone_parent$(EXEEXT) clone_ptrace$(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) \
+ delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
+ getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \
+ inject-nf$(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) \
is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \
- list_sigaction_signum$(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) nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
+ list_sigaction_signum$(EXEEXT) localtime$(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) \
+ nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
oldselect-efault-P$(EXEEXT) pc$(EXEEXT) \
perf_event_open_nonverbose$(EXEEXT) \
perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
@@ -179,7 +180,7 @@ 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/bpf_attr.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
@@ -227,12 +228,12 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \
+ delete_module$(EXEEXT) dev-yy$(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) \
@@ -262,8 +263,9 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
iopl$(EXEEXT) ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) \
ipc_msg$(EXEEXT) ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) \
ipc_shm$(EXEEXT) kcmp$(EXEEXT) kcmp-y$(EXEEXT) \
- kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \
- kill$(EXEEXT) lchown$(EXEEXT) lchown32$(EXEEXT) link$(EXEEXT) \
+ kern_features$(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) \
@@ -277,24 +279,25 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_audit$(EXEEXT) netlink_crypto$(EXEEXT) \
- netlink_generic$(EXEEXT) netlink_kobject_uevent$(EXEEXT) \
- netlink_netfilter$(EXEEXT) netlink_protocol$(EXEEXT) \
- netlink_route$(EXEEXT) netlink_selinux$(EXEEXT) \
- netlink_sock_diag$(EXEEXT) netlink_xfrm$(EXEEXT) \
- newfstatat$(EXEEXT) nfnetlink_acct$(EXEEXT) \
- nfnetlink_cthelper$(EXEEXT) nfnetlink_ctnetlink$(EXEEXT) \
- nfnetlink_ctnetlink_exp$(EXEEXT) nfnetlink_cttimeout$(EXEEXT) \
- nfnetlink_nft_compat$(EXEEXT) nfnetlink_nftables$(EXEEXT) \
- nfnetlink_ipset$(EXEEXT) nfnetlink_osf$(EXEEXT) \
- nfnetlink_queue$(EXEEXT) nfnetlink_ulog$(EXEEXT) \
- nlattr$(EXEEXT) nlattr_crypto_user_alg$(EXEEXT) \
- nlattr_br_port_msg$(EXEEXT) nlattr_dcbmsg$(EXEEXT) \
- nlattr_fib_rule_hdr$(EXEEXT) nlattr_ifaddrlblmsg$(EXEEXT) \
- nlattr_ifaddrmsg$(EXEEXT) nlattr_ifinfomsg$(EXEEXT) \
- nlattr_ifla_brport$(EXEEXT) nlattr_ifla_port$(EXEEXT) \
- nlattr_ifla_xdp$(EXEEXT) nlattr_inet_diag_msg$(EXEEXT) \
+ net-yy-inet6$(EXEEXT) net-yy-netlink$(EXEEXT) \
+ net-yy-unix$(EXEEXT) netlink_audit$(EXEEXT) \
+ netlink_crypto$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_kobject_uevent$(EXEEXT) netlink_netfilter$(EXEEXT) \
+ netlink_protocol$(EXEEXT) netlink_route$(EXEEXT) \
+ netlink_selinux$(EXEEXT) netlink_sock_diag$(EXEEXT) \
+ netlink_xfrm$(EXEEXT) newfstatat$(EXEEXT) \
+ nfnetlink_acct$(EXEEXT) nfnetlink_cthelper$(EXEEXT) \
+ nfnetlink_ctnetlink$(EXEEXT) nfnetlink_ctnetlink_exp$(EXEEXT) \
+ nfnetlink_cttimeout$(EXEEXT) nfnetlink_nft_compat$(EXEEXT) \
+ nfnetlink_nftables$(EXEEXT) nfnetlink_ipset$(EXEEXT) \
+ nfnetlink_osf$(EXEEXT) nfnetlink_queue$(EXEEXT) \
+ nfnetlink_ulog$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_crypto_user_alg$(EXEEXT) nlattr_br_port_msg$(EXEEXT) \
+ nlattr_dcbmsg$(EXEEXT) nlattr_fib_rule_hdr$(EXEEXT) \
+ nlattr_ifaddrlblmsg$(EXEEXT) nlattr_ifaddrmsg$(EXEEXT) \
+ nlattr_ifinfomsg$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \
+ nlattr_ifla_port$(EXEEXT) nlattr_ifla_xdp$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) \
nlattr_inet_diag_req_compat$(EXEEXT) \
nlattr_inet_diag_req_v2$(EXEEXT) \
nlattr_mdba_mdb_entry$(EXEEXT) \
@@ -500,7 +503,8 @@ 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)
+clock_xettime_LDADD = $(LDADD)
+clock_xettime_DEPENDENCIES = libtests.a
clone_parent_SOURCES = clone_parent.c
clone_parent_OBJECTS = clone_parent.$(OBJEXT)
clone_parent_LDADD = $(LDADD)
@@ -520,10 +524,18 @@ creat_SOURCES = creat.c
creat_OBJECTS = creat.$(OBJEXT)
creat_LDADD = $(LDADD)
creat_DEPENDENCIES = libtests.a
+delay_SOURCES = delay.c
+delay_OBJECTS = delay.$(OBJEXT)
+am__DEPENDENCIES_1 =
+delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
delete_module_SOURCES = delete_module.c
delete_module_OBJECTS = delete_module.$(OBJEXT)
delete_module_LDADD = $(LDADD)
delete_module_DEPENDENCIES = libtests.a
+dev_yy_SOURCES = dev-yy.c
+dev_yy_OBJECTS = dev-yy.$(OBJEXT)
+dev_yy_LDADD = $(LDADD)
+dev_yy_DEPENDENCIES = libtests.a
dup_SOURCES = dup.c
dup_OBJECTS = dup.$(OBJEXT)
dup_LDADD = $(LDADD)
@@ -691,6 +703,10 @@ fsync_SOURCES = fsync.c
fsync_OBJECTS = fsync.$(OBJEXT)
fsync_LDADD = $(LDADD)
fsync_DEPENDENCIES = libtests.a
+fsync_y_SOURCES = fsync-y.c
+fsync_y_OBJECTS = fsync-y.$(OBJEXT)
+fsync_y_LDADD = $(LDADD)
+fsync_y_DEPENDENCIES = libtests.a
ftruncate_SOURCES = ftruncate.c
ftruncate_OBJECTS = ftruncate.$(OBJEXT)
ftruncate_LDADD = $(LDADD)
@@ -839,6 +855,10 @@ init_module_SOURCES = init_module.c
init_module_OBJECTS = init_module.$(OBJEXT)
init_module_LDADD = $(LDADD)
init_module_DEPENDENCIES = libtests.a
+inject_nf_SOURCES = inject-nf.c
+inject_nf_OBJECTS = inject-nf.$(OBJEXT)
+inject_nf_LDADD = $(LDADD)
+inject_nf_DEPENDENCIES = libtests.a
inotify_SOURCES = inotify.c
inotify_OBJECTS = inotify.$(OBJEXT)
inotify_LDADD = $(LDADD)
@@ -979,6 +999,10 @@ kcmp_y_SOURCES = kcmp-y.c
kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
kcmp_y_LDADD = $(LDADD)
kcmp_y_DEPENDENCIES = libtests.a
+kern_features_SOURCES = kern_features.c
+kern_features_OBJECTS = kern_features.$(OBJEXT)
+kern_features_LDADD = $(LDADD)
+kern_features_DEPENDENCIES = libtests.a
kexec_file_load_SOURCES = kexec_file_load.c
kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
kexec_file_load_LDADD = $(LDADD)
@@ -1023,6 +1047,9 @@ llseek_SOURCES = llseek.c
llseek_OBJECTS = llseek.$(OBJEXT)
llseek_LDADD = $(LDADD)
llseek_DEPENDENCIES = libtests.a
+localtime_SOURCES = localtime.c
+localtime_OBJECTS = localtime.$(OBJEXT)
+localtime_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
lookup_dcookie_SOURCES = lookup_dcookie.c
lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
lookup_dcookie_LDADD = $(LDADD)
@@ -1129,16 +1156,19 @@ move_pages_LDADD = $(LDADD)
move_pages_DEPENDENCIES = libtests.a
mq_SOURCES = mq.c
mq_OBJECTS = mq.$(OBJEXT)
-mq_DEPENDENCIES = $(LDADD)
+mq_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
mq_sendrecv_SOURCES = mq_sendrecv.c
mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
-mq_sendrecv_DEPENDENCIES = $(LDADD)
+mq_sendrecv_LDADD = $(LDADD)
+mq_sendrecv_DEPENDENCIES = libtests.a
mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
-mq_sendrecv_read_DEPENDENCIES = $(LDADD)
+mq_sendrecv_read_LDADD = $(LDADD)
+mq_sendrecv_read_DEPENDENCIES = libtests.a
mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
-mq_sendrecv_write_DEPENDENCIES = $(LDADD)
+mq_sendrecv_write_LDADD = $(LDADD)
+mq_sendrecv_write_DEPENDENCIES = libtests.a
msg_control_SOURCES = msg_control.c
msg_control_OBJECTS = msg_control.$(OBJEXT)
msg_control_LDADD = $(LDADD)
@@ -1179,6 +1209,10 @@ 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_inet6_SOURCES = net-yy-inet6.c
+net_yy_inet6_OBJECTS = net-yy-inet6.$(OBJEXT)
+net_yy_inet6_LDADD = $(LDADD)
+net_yy_inet6_DEPENDENCIES = libtests.a
net_yy_netlink_SOURCES = net-yy-netlink.c
net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
net_yy_netlink_LDADD = $(LDADD)
@@ -1474,7 +1508,6 @@ 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)
@@ -2147,7 +2180,7 @@ tee_LDADD = $(LDADD)
tee_DEPENDENCIES = libtests.a
threads_execve_SOURCES = threads-execve.c
threads_execve_OBJECTS = threads-execve.$(OBJEXT)
-threads_execve_DEPENDENCIES = $(LDADD)
+threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
time_SOURCES = time.c
time_OBJECTS = time.$(OBJEXT)
time_LDADD = $(LDADD)
@@ -2166,7 +2199,7 @@ timerfd_xettime_LDADD = $(LDADD)
timerfd_xettime_DEPENDENCIES = libtests.a
times_SOURCES = times.c
times_OBJECTS = times.$(OBJEXT)
-times_DEPENDENCIES = $(LDADD)
+times_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
times_fail_SOURCES = times-fail.c
times_fail_OBJECTS = times-fail.$(OBJEXT)
times_fail_LDADD = $(LDADD)
@@ -2375,8 +2408,8 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
btrfs.c caps.c caps-abbrev.c check_sigblock.c check_sigign.c \
chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
clock_nanosleep.c clock_xettime.c clone_parent.c \
- clone_ptrace.c copy_file_range.c count-f.c creat.c \
- delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+ clone_ptrace.c copy_file_range.c count-f.c creat.c delay.c \
+ delete_module.c dev-yy.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 \
@@ -2384,7 +2417,7 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
fdatasync.c fflush.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 \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.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 \
@@ -2392,31 +2425,32 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 group_req.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 \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.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 modify_ldt.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_crypto.c \
- netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.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 \
- nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
@@ -2498,15 +2532,15 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
check_sigblock.c check_sigign.c chmod.c chown.c chown32.c \
chroot.c clock_adjtime.c clock_nanosleep.c clock_xettime.c \
clone_parent.c clone_ptrace.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 \
+ creat.c delay.c delete_module.c dev-yy.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 fflush.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 \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.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 \
@@ -2514,31 +2548,32 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 group_req.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 \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.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 modify_ldt.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_crypto.c \
- netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.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 \
- nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
@@ -2949,6 +2984,7 @@ build_vendor = @build_vendor@
builddir = @builddir@
cc_flags_m32 = @cc_flags_m32@
cc_flags_mx32 = @cc_flags_mx32@
+clock_LIBS = @clock_LIBS@
datadir = @datadir@
datarootdir = @datarootdir@
dl_LIBS = @dl_LIBS@
@@ -2976,6 +3012,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+mq_LIBS = @mq_LIBS@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -2986,6 +3023,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+timer_LIBS = @timer_LIBS@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -3005,7 +3043,9 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(top_builddir)/$(OS) \
-I$(top_srcdir)/$(OS) \
-I$(top_builddir) \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
@@ -3071,6 +3111,7 @@ PURE_EXECUTABLES = \
copy_file_range \
creat \
delete_module \
+ dev-yy \
dup \
dup2 \
dup3 \
@@ -3172,6 +3213,7 @@ PURE_EXECUTABLES = \
ipc_shm \
kcmp \
kcmp-y \
+ kern_features \
kexec_file_load \
kexec_load \
keyctl \
@@ -3217,6 +3259,7 @@ PURE_EXECUTABLES = \
net-sockaddr \
net-y-unix \
net-yy-inet \
+ net-yy-inet6 \
net-yy-netlink \
net-yy-unix \
netlink_audit \
@@ -3462,19 +3505,17 @@ PURE_EXECUTABLES = \
xettimeofday \
#
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
+attach_f_p_LDADD = -lpthread $(LDADD)
count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
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)
+mq_LDADD = $(mq_LIBS) $(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
@@ -3483,8 +3524,8 @@ 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)
+threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(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 \
@@ -3503,19 +3544,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \
+ delete_module.gen.test dev-yy.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 \
+ fsync-y.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 \
@@ -3539,38 +3581,39 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \
- kcmp-y.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 \
- modify_ldt.gen.test mount.gen.test move_pages.gen.test \
- mq.gen.test mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+ kcmp-y.gen.test kern_features.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 modify_ldt.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_crypto.gen.test netlink_generic.gen.test \
- netlink_kobject_uevent.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 nfnetlink_acct.gen.test \
- nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test \
- nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test \
- nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test \
- nfnetlink_nftables.gen.test nfnetlink_osf.gen.test \
- nfnetlink_queue.gen.test nfnetlink_ulog.gen.test \
- nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test \
- nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test \
- nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test \
- nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test \
- nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test \
- nlattr_inet_diag_msg.gen.test \
+ net-sockaddr.gen.test net-yy-inet6.gen.test \
+ netlink_audit.gen.test netlink_crypto.gen.test \
+ netlink_generic.gen.test netlink_kobject_uevent.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 \
+ nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test \
+ nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test \
+ nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test \
+ nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test \
+ nfnetlink_osf.gen.test nfnetlink_queue.gen.test \
+ nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test \
+ nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test \
+ nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test \
+ nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test \
+ nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test \
+ nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test \
nlattr_inet_diag_req_compat.gen.test \
nlattr_inet_diag_req_v2.gen.test \
nlattr_mdba_mdb_entry.gen.test \
@@ -3674,6 +3717,7 @@ DECODER_TESTS = \
getuid.test \
ioctl.test \
ipc_msgbuf.test \
+ kern_features-fault.test \
llseek.test \
lseek.test \
mmap.test \
@@ -3726,6 +3770,7 @@ MISC_TESTS = \
clone_ptrace.test \
count-f.test \
count.test \
+ delay.test \
detach-running.test \
detach-sleeping.test \
detach-stopped.test \
@@ -3734,8 +3779,10 @@ MISC_TESTS = \
filtering_syscall-syntax.test \
fflush.test \
get_regs.test \
+ inject-nf.test \
interactive_block.test \
ksysent.test \
+ localtime.test \
opipe.test \
options-syntax.test \
pc.test \
@@ -4062,10 +4109,18 @@ creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIE
@rm -f creat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
+delay$(EXEEXT): $(delay_OBJECTS) $(delay_DEPENDENCIES) $(EXTRA_delay_DEPENDENCIES)
+ @rm -f delay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delay_OBJECTS) $(delay_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)
+dev-yy$(EXEEXT): $(dev_yy_OBJECTS) $(dev_yy_DEPENDENCIES) $(EXTRA_dev_yy_DEPENDENCIES)
+ @rm -f dev-yy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dev_yy_OBJECTS) $(dev_yy_LDADD) $(LIBS)
+
dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES)
@rm -f dup$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
@@ -4234,6 +4289,10 @@ fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIE
@rm -f fsync$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
+fsync-y$(EXEEXT): $(fsync_y_OBJECTS) $(fsync_y_DEPENDENCIES) $(EXTRA_fsync_y_DEPENDENCIES)
+ @rm -f fsync-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsync_y_OBJECTS) $(fsync_y_LDADD) $(LIBS)
+
ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES)
@rm -f ftruncate$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
@@ -4382,6 +4441,10 @@ init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA
@rm -f init_module$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
+inject-nf$(EXEEXT): $(inject_nf_OBJECTS) $(inject_nf_DEPENDENCIES) $(EXTRA_inject_nf_DEPENDENCIES)
+ @rm -f inject-nf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(inject_nf_OBJECTS) $(inject_nf_LDADD) $(LIBS)
+
inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES)
@rm -f inotify$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
@@ -4522,6 +4585,10 @@ kcmp-y$(EXEEXT): $(kcmp_y_OBJECTS) $(kcmp_y_DEPENDENCIES) $(EXTRA_kcmp_y_DEPENDE
@rm -f kcmp-y$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
+kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES)
+ @rm -f kern_features$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_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)
@@ -4566,6 +4633,10 @@ llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDE
@rm -f llseek$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+localtime$(EXEEXT): $(localtime_OBJECTS) $(localtime_DEPENDENCIES) $(EXTRA_localtime_DEPENDENCIES)
+ @rm -f localtime$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(localtime_OBJECTS) $(localtime_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)
@@ -4726,6 +4797,10 @@ net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA
@rm -f net-yy-inet$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
+net-yy-inet6$(EXEEXT): $(net_yy_inet6_OBJECTS) $(net_yy_inet6_DEPENDENCIES) $(EXTRA_net_yy_inet6_DEPENDENCIES)
+ @rm -f net-yy-inet6$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(net_yy_inet6_OBJECTS) $(net_yy_inet6_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)
@@ -5912,7 +5987,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy_file_range.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/count-f.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dev-yy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup3.Po@am__quote@
@@ -5954,6 +6031,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat64-fstatat64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync-y.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate64-ftruncate64.Po@am__quote@
@@ -5992,6 +6070,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group_req.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet-cmsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inject-nf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify_init1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int_0x80.Po@am__quote@
@@ -6027,6 +6106,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_file_load.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_load.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@
@@ -6064,6 +6144,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
@@ -6104,6 +6185,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-y-unix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.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@
@@ -7443,6 +7525,9 @@ $(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/dev-yy.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) $^ $@
@@ -7551,6 +7636,9 @@ $(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/fsync-y.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) $^ $@
@@ -7752,6 +7840,9 @@ $(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/kern_features.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) $^ $@
@@ -7881,6 +7972,9 @@ $(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)/net-yy-inet6.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) $^ $@
diff --git a/tests-mx32/bpf.c b/tests-mx32/bpf.c
index 3f963fa3..72d7e8e5 100644
--- a/tests-mx32/bpf.c
+++ b/tests-mx32/bpf.c
@@ -2,6 +2,7 @@
* Check bpf syscall decoding.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -28,29 +29,75 @@
*/
#include "tests.h"
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+
#include <asm/unistd.h>
+#include "scno.h"
-#if defined __NR_bpf \
- && (defined HAVE_UNION_BPF_ATTR_ATTACH_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_BPF_FD \
- || defined HAVE_UNION_BPF_ATTR_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_INFO_INFO \
- || defined HAVE_UNION_BPF_ATTR_NEXT_ID \
- || defined HAVE_UNION_BPF_ATTR_NUMA_NODE \
- || defined HAVE_UNION_BPF_ATTR_PROG_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_TEST_DURATION)
-
-# include <stddef.h>
-# include <stdio.h>
-# include <stdint.h>
-# include <string.h>
-# include <unistd.h>
+#ifdef HAVE_LINUX_BPF_H
# include <linux/bpf.h>
-# include "print_fields.h"
+#endif
+
+#include "bpf_attr.h"
+#include "print_fields.h"
+
+#include "xlat.h"
+#include "xlat/bpf_commands.h"
+
+#ifndef HAVE_STRUCT_BPF_INSN
+struct bpf_insn {
+ uint8_t code;
+ uint8_t dst_reg:4;
+ uint8_t src_reg:4;
+ int16_t off;
+ int32_t imm;
+};
+#endif
+
+#define BPF_ATTR_DATA_FIELD(cmd_) struct cmd_ ## _struct cmd_ ## _data
+
+union bpf_attr_data {
+ BPF_ATTR_DATA_FIELD(BPF_MAP_CREATE);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_LOOKUP_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_UPDATE_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_DELETE_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_GET_NEXT_KEY);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_LOAD);
+ BPF_ATTR_DATA_FIELD(BPF_OBJ_PIN);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_ATTACH);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_DETACH);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_TEST_RUN);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_GET_NEXT_ID);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_GET_FD_BY_ID);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_GET_FD_BY_ID);
+ BPF_ATTR_DATA_FIELD(BPF_OBJ_GET_INFO_BY_FD);
+ char char_data[256];
+};
+
+struct bpf_attr_check {
+ union bpf_attr_data data;
+ size_t size;
+ const char *str;
+ void (*init_fn)(struct bpf_attr_check *check);
+ void (*print_fn)(const struct bpf_attr_check *check,
+ unsigned long addr);
+};
+
+struct bpf_check {
+ kernel_ulong_t cmd;
+ const char *cmd_str;
+ const struct bpf_attr_check *checks;
+ size_t count;
+};
static const kernel_ulong_t long_bits = (kernel_ulong_t) 0xfacefeed00000000ULL;
static const char *errstr;
-static unsigned int sizeof_attr = sizeof(union bpf_attr);
+static unsigned int sizeof_attr = sizeof(union bpf_attr_data);
static unsigned int page_size;
static unsigned long end_of_page;
@@ -62,680 +109,543 @@ sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size)
return rc;
}
-# if VERBOSE
-# define print_extra_data(addr_, size_) print_quoted_hex((addr_), (size_))
-# else
-# define print_extra_data(addr_, size_) printf("...")
+#if VERBOSE
+# define print_extra_data(addr_, offs_, size_) \
+ do { \
+ printf("/* bytes %u..%u */ ", (offs_), (size_) + (offs_) - 1); \
+ print_quoted_hex((addr_) + (offs_), (size_)); \
+ } while (0)
+#else
+# define print_extra_data(addr_, offs_, size_) printf("...")
#endif
-# define TEST_BPF_(cmd_, cmd_str_, \
- init_first_, print_first_, \
- init_attr_, print_attr_) \
- do { \
- /* zero addr */ \
- sys_bpf(cmd_, 0, long_bits | sizeof(union bpf_attr)); \
- printf("bpf(%s, NULL, %u) = %s\n", \
- cmd_str_, sizeof_attr, errstr); \
- \
- /* zero size */ \
- unsigned long addr = end_of_page - sizeof_attr; \
- sys_bpf(cmd_, addr, long_bits); \
- printf("bpf(%s, %#lx, 0) = %s\n", \
- cmd_str_, addr, errstr); \
- \
- /* the first field only */ \
- unsigned int offset = init_first_(end_of_page); \
- addr = end_of_page - offset; \
- sys_bpf(cmd_, addr, offset); \
- printf("bpf(%s, {", cmd_str_); \
- print_first_(addr); \
- printf("}, %u) = %s\n", offset, errstr); \
- \
- /* efault after the first field */ \
- sys_bpf(cmd_, addr, offset + 1); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, offset + 1, errstr); \
- \
- /* the relevant part of union bpf_attr */ \
- offset = init_attr_(end_of_page); \
- addr = end_of_page - offset; \
- sys_bpf(cmd_, addr, offset); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", offset, errstr); \
- \
- /* short read of the relevant part of union bpf_attr */ \
- sys_bpf(cmd_, addr + 1, offset); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr + 1, offset, errstr); \
- \
- if (offset < sizeof_attr) { \
- /* short read of the whole union bpf_attr */ \
- memmove((void *) end_of_page - sizeof_attr + 1, \
- (void *) addr, offset); \
- addr = end_of_page - sizeof_attr + 1; \
- memset((void *) addr + offset, 0, \
- sizeof_attr - offset - 1); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, sizeof_attr, errstr); \
- \
- /* the whole union bpf_attr */ \
- memmove((void *) end_of_page - sizeof_attr, \
- (void *) addr, offset); \
- addr = end_of_page - sizeof_attr; \
- memset((void *) addr + offset, 0, \
- sizeof_attr - offset); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", sizeof_attr, errstr); \
- \
- /* non-zero bytes after the relevant part */ \
- fill_memory_ex((void *) addr + offset, \
- sizeof_attr - offset, '0', 10); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf(", "); \
- print_extra_data((void *) addr + offset, \
- sizeof_attr - offset); \
- printf("}, %u) = %s\n", sizeof_attr, errstr); \
- } \
- \
- /* short read of the whole page */ \
- memmove((void *) end_of_page - page_size + 1, \
- (void *) addr, offset); \
- addr = end_of_page - page_size + 1; \
- memset((void *) addr + offset, 0, \
- page_size - offset - 1); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, page_size, errstr); \
- \
- /* the whole page */ \
- memmove((void *) end_of_page - page_size, \
- (void *) addr, offset); \
- addr = end_of_page - page_size; \
- memset((void *) addr + offset, 0, page_size - offset); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", page_size, errstr); \
- \
- /* non-zero bytes after the whole union bpf_attr */ \
- fill_memory_ex((void *) addr + offset, \
- page_size - offset, '0', 10); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf(", "); \
- print_extra_data((void *) addr + offset, \
- page_size - offset); \
- printf("}, %u) = %s\n", page_size, errstr); \
- \
- /* more than a page */ \
- sys_bpf(cmd_, addr, page_size + 1); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, page_size + 1, errstr); \
- } while (0) \
- /* End of TEST_BPF_ definition. */
-
-# define TEST_BPF(cmd_) \
- TEST_BPF_((cmd_), #cmd_, \
- init_ ## cmd_ ## _first, print_ ## cmd_ ## _first, \
- init_ ## cmd_ ## _attr, print_ ## cmd_ ## _attr) \
- /* End of TEST_BPF definition. */
-
-#define DEF_BPF_INIT_FIRST(cmd_, field_, value_) \
- static unsigned int \
- init_ ## cmd_ ## _first(const unsigned long eop) \
- { \
- static const union bpf_attr attr = { .field_ = value_ };\
- static const unsigned int offset = sizeof(attr.field_); \
- const unsigned long addr = eop - offset; \
- \
- memcpy((void *) addr, &attr.field_, offset); \
- return offset; \
- } \
- /* End of DEF_INIT_FIRST definition. */
-
-# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
-
-DEF_BPF_INIT_FIRST(BPF_MAP_CREATE, map_type, 2)
-
-static void
-print_BPF_MAP_CREATE_first(const unsigned long addr)
-{
- printf("map_type=BPF_MAP_TYPE_ARRAY, key_size=0, value_size=0"
- ", max_entries=0, map_flags=0, inner_map_fd=0");
-}
-
-static unsigned int
-init_BPF_MAP_CREATE_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_type = 1,
- .key_size = 4,
- .value_size = 8,
- .max_entries = 256,
- .map_flags = 7,
- .inner_map_fd = -1,
- .numa_node = 42
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, numa_node);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_CREATE_attr(const unsigned long addr)
-{
- printf("map_type=BPF_MAP_TYPE_HASH, key_size=4"
- ", value_size=8, max_entries=256"
- ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NO_COMMON_LRU"
- "|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=42");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_NUMA_NODE */
-
-# ifdef HAVE_UNION_BPF_ATTR_FLAGS
-
-DEF_BPF_INIT_FIRST(BPF_MAP_LOOKUP_ELEM, map_fd, -1)
-
-static void
-print_BPF_MAP_LOOKUP_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, value=0");
-}
-
-static unsigned int
-init_BPF_MAP_LOOKUP_ELEM_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .value = 0xbadc0ded
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, value);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_LOOKUP_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, value=0xbadc0ded");
-}
-
-# define init_BPF_MAP_UPDATE_ELEM_first init_BPF_MAP_LOOKUP_ELEM_first
-
-static void
-print_BPF_MAP_UPDATE_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, value=0, flags=BPF_ANY");
-}
-
-static unsigned int
-init_BPF_MAP_UPDATE_ELEM_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .value = 0xbadc0ded,
- .flags = 2
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_UPDATE_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, value=0xbadc0ded, flags=BPF_EXIST");
-}
-
-# define init_BPF_MAP_DELETE_ELEM_first init_BPF_MAP_LOOKUP_ELEM_first
-
static void
-print_BPF_MAP_DELETE_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0");
-}
-
-static unsigned int
-init_BPF_MAP_DELETE_ELEM_attr(const unsigned long eop)
+print_bpf_attr(const struct bpf_attr_check *check, unsigned long addr)
{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, key);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
+ if (check->print_fn)
+ check->print_fn(check, addr);
+ else
+ printf("%s", check->str);
}
static void
-print_BPF_MAP_DELETE_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef");
-}
-
-# define init_BPF_MAP_GET_NEXT_KEY_first init_BPF_MAP_LOOKUP_ELEM_first
-
-static void
-print_BPF_MAP_GET_NEXT_KEY_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, next_key=0");
-}
-
-static unsigned int
-init_BPF_MAP_GET_NEXT_KEY_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .next_key = 0xbadc0ded
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, next_key);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
+test_bpf(const struct bpf_check *cmd_check)
+{
+ const struct bpf_attr_check *check = 0;
+ const union bpf_attr_data *data = 0;
+ unsigned int offset = 0;
+
+ /* zero addr */
+ sys_bpf(cmd_check->cmd, 0, long_bits | sizeof(union bpf_attr_data));
+ printf("bpf(%s, NULL, %u) = %s\n",
+ cmd_check->cmd_str, sizeof_attr, errstr);
+
+ /* zero size */
+ unsigned long addr = end_of_page - sizeof_attr;
+ sys_bpf(cmd_check->cmd, addr, long_bits);
+ printf("bpf(%s, %#lx, 0) = %s\n",
+ cmd_check->cmd_str, addr, errstr);
+
+ for (size_t i = 0; i < cmd_check->count; i++) {
+ check = &cmd_check->checks[i];
+ if (check->init_fn)
+ check->init_fn((struct bpf_attr_check *) check);
+ data = &check->data;
+ offset = check->size;
+
+ addr = end_of_page - offset;
+ memcpy((void *) addr, data, offset);
+
+ /* starting piece of bpf_attr_data */
+ sys_bpf(cmd_check->cmd, addr, offset);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", offset, errstr);
+
+ /* short read of the starting piece */
+ sys_bpf(cmd_check->cmd, addr + 1, offset);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr + 1, offset, errstr);
+ }
-static void
-print_BPF_MAP_GET_NEXT_KEY_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, next_key=0xbadc0ded");
-}
+ if (offset < sizeof_attr) {
+ /* short read of the whole bpf_attr_data */
+ memcpy((void *) end_of_page - sizeof_attr + 1, data, offset);
+ addr = end_of_page - sizeof_attr + 1;
+ memset((void *) addr + offset, 0, sizeof_attr - offset - 1);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, sizeof_attr, errstr);
+
+ /* the whole bpf_attr_data */
+ memcpy((void *) end_of_page - sizeof_attr, data, offset);
+ addr = end_of_page - sizeof_attr;
+ memset((void *) addr + offset, 0, sizeof_attr - offset);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", sizeof_attr, errstr);
+
+ /* non-zero bytes after the relevant part */
+ fill_memory_ex((void *) addr + offset,
+ sizeof_attr - offset, '0', 10);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf(", ");
+ print_extra_data((char *) addr, offset,
+ sizeof_attr - offset);
+ printf("}, %u) = %s\n", sizeof_attr, errstr);
+ }
-# endif /* HAVE_UNION_BPF_ATTR_FLAGS */
+ /* short read of the whole page */
+ memcpy((void *) end_of_page - page_size + 1, data, offset);
+ addr = end_of_page - page_size + 1;
+ memset((void *) addr + offset, 0, page_size - offset - 1);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, page_size, errstr);
+
+ /* the whole page */
+ memcpy((void *) end_of_page - page_size, data, offset);
+ addr = end_of_page - page_size;
+ memset((void *) addr + offset, 0, page_size - offset);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", page_size, errstr);
+
+ /* non-zero bytes after the whole bpf_attr_data */
+ fill_memory_ex((void *) addr + offset,
+ page_size - offset, '0', 10);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf(", ");
+ print_extra_data((char *) addr, offset,
+ page_size - offset);
+ printf("}, %u) = %s\n", page_size, errstr);
+
+ /* more than a page */
+ sys_bpf(cmd_check->cmd, addr, page_size + 1);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, page_size + 1, errstr);
+}
+
+static const struct bpf_attr_check BPF_MAP_CREATE_checks[] = {
+ {
+ .data = { .BPF_MAP_CREATE_data = { .map_type = 2 } },
+ .size = offsetofend(struct BPF_MAP_CREATE_struct, map_type),
+ .str = "map_type=BPF_MAP_TYPE_ARRAY, key_size=0, value_size=0"
+ ", max_entries=0, map_flags=0, inner_map_fd=0"
+ },
+ {
+ .data = { .BPF_MAP_CREATE_data = {
+ .map_type = 1,
+ .key_size = 4,
+ .value_size = 8,
+ .max_entries = 256,
+ .map_flags = 7,
+ .inner_map_fd = -1,
+ .numa_node = 42
+ } },
+ .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node),
+ .str = "map_type=BPF_MAP_TYPE_HASH, key_size=4"
+ ", value_size=8, max_entries=256"
+ ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NO_COMMON_LRU"
+ "|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=42"
+ }
+};
-# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
+static const struct bpf_attr_check BPF_MAP_LOOKUP_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_LOOKUP_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_LOOKUP_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0, value=0"
+ },
+ {
+ .data = { .BPF_MAP_LOOKUP_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .value = 0xbadc0ded
+ } },
+ .size = offsetofend(struct BPF_MAP_LOOKUP_ELEM_struct, value),
+ .str = "map_fd=-1, key=0xdeadbeef, value=0xbadc0ded"
+ }
+};
-DEF_BPF_INIT_FIRST(BPF_PROG_LOAD, prog_type, 1)
+static const struct bpf_attr_check BPF_MAP_UPDATE_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_UPDATE_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_UPDATE_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0, value=0, flags=BPF_ANY"
+ },
+ {
+ .data = { .BPF_MAP_UPDATE_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .value = 0xbadc0ded,
+ .flags = 2
+ } },
+ .size = offsetofend(struct BPF_MAP_UPDATE_ELEM_struct, flags),
+ .str = "map_fd=-1, key=0xdeadbeef, value=0xbadc0ded"
+ ", flags=BPF_EXIST"
+ }
+};
-static void
-print_BPF_PROG_LOAD_first(const unsigned long addr)
-{
+static const struct bpf_attr_check BPF_MAP_DELETE_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_DELETE_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_DELETE_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0"
+ },
+ {
+ .data = { .BPF_MAP_DELETE_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_MAP_DELETE_ELEM_struct, key),
+ .str = "map_fd=-1, key=0xdeadbeef"
+ }
+};
- printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=0, insns=0"
- ", license=NULL, log_level=0, log_size=0, log_buf=0"
- ", kern_version=0, prog_flags=0");
-}
+static const struct bpf_attr_check BPF_MAP_GET_NEXT_KEY_checks[] = {
+ {
+ .data = { .BPF_MAP_GET_NEXT_KEY_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_GET_NEXT_KEY_struct, map_fd),
+ .str = "map_fd=-1, key=0, next_key=0"
+ },
+ {
+ .data = { .BPF_MAP_GET_NEXT_KEY_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .next_key = 0xbadc0ded
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_NEXT_KEY_struct, next_key),
+ .str = "map_fd=-1, key=0xdeadbeef, next_key=0xbadc0ded"
+ }
+};
static const struct bpf_insn insns[] = {
- { .code = BPF_JMP | BPF_EXIT }
+ { .code = 0x95 }
};
+static const char license[] = "GPL";
static char log_buf[4096];
+static const char pathname[] = "/sys/fs/bpf/foo/bar";
-static unsigned int
-init_BPF_PROG_LOAD_attr(const unsigned long eop)
+static void
+init_BPF_PROG_LOAD_attr(struct bpf_attr_check *check)
{
- const union bpf_attr attr = {
- .prog_type = 1,
- .insn_cnt = ARRAY_SIZE(insns),
- .insns = (uintptr_t) insns,
- .license = (uintptr_t) "GPL",
- .log_level = 42,
- .log_size = sizeof(log_buf),
- .log_buf = (uintptr_t) log_buf,
- .kern_version = 0xcafef00d,
- .prog_flags = 1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, prog_flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
+ struct BPF_PROG_LOAD_struct *attr = &check->data.BPF_PROG_LOAD_data;
+ attr->insns = (uintptr_t) insns;
+ attr->license = (uintptr_t) license;
+ attr->log_buf = (uintptr_t) log_buf;
}
static void
-print_BPF_PROG_LOAD_attr(const unsigned long addr)
+print_BPF_PROG_LOAD_attr(const struct bpf_attr_check *check, unsigned long addr)
{
printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u, insns=%p"
- ", license=\"GPL\", log_level=42, log_size=4096, log_buf=%p"
- ", kern_version=%u, prog_flags=BPF_F_STRICT_ALIGNMENT",
+ ", license=\"%s\", log_level=42, log_size=4096, log_buf=%p"
+ ", kern_version=KERNEL_VERSION(51966, 240, 13)"
+ ", prog_flags=BPF_F_STRICT_ALIGNMENT",
(unsigned int) ARRAY_SIZE(insns), insns,
- log_buf, 0xcafef00d);
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_PROG_FLAGS */
-
-/*
- * bpf() syscall and its first six commands were introduced in Linux kernel
- * 3.18. Some additional commands were added afterwards, so we need to take
- * precautions to make sure the tests compile.
- *
- * BPF_OBJ_PIN and BPF_OBJ_GET commands appear in kernel 4.4.
- */
-# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
-
-DEF_BPF_INIT_FIRST(BPF_OBJ_PIN, pathname, 0)
-
-static void
-print_BPF_OBJ_PIN_first(const unsigned long addr)
-{
-
- printf("pathname=NULL, bpf_fd=0");
-}
-
-static unsigned int
-init_BPF_OBJ_PIN_attr(const unsigned long eop)
-{
- const union bpf_attr attr = {
- .pathname = (uintptr_t) "/sys/fs/bpf/foo/bar",
- .bpf_fd = -1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, bpf_fd);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_OBJ_PIN_attr(const unsigned long addr)
-{
- printf("pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1");
-}
-
-# define init_BPF_OBJ_GET_first init_BPF_OBJ_PIN_first
-# define print_BPF_OBJ_GET_first print_BPF_OBJ_PIN_first
-# define init_BPF_OBJ_GET_attr init_BPF_OBJ_PIN_attr
-# define print_BPF_OBJ_GET_attr print_BPF_OBJ_PIN_attr
-
-# endif /* HAVE_UNION_BPF_ATTR_BPF_FD */
-
-/* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
-
-DEF_BPF_INIT_FIRST(BPF_PROG_ATTACH, target_fd, -1)
-
-static void
-print_BPF_PROG_ATTACH_first(const unsigned long addr)
-{
- printf("target_fd=-1, attach_bpf_fd=0"
- ", attach_type=BPF_CGROUP_INET_INGRESS, attach_flags=0");
-}
-
-static unsigned int
-init_BPF_PROG_ATTACH_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .target_fd = -1,
- .attach_bpf_fd = -2,
- .attach_type = 2,
- .attach_flags = 1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, attach_flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_PROG_ATTACH_attr(const unsigned long addr)
-{
- printf("target_fd=-1, attach_bpf_fd=-2"
- ", attach_type=BPF_CGROUP_INET_SOCK_CREATE"
- ", attach_flags=BPF_F_ALLOW_OVERRIDE");
-}
-
-# define init_BPF_PROG_DETACH_first init_BPF_PROG_ATTACH_first
-
-static unsigned int
-init_BPF_PROG_DETACH_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .target_fd = -1,
- .attach_type = 2
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, attach_type);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-
-static void
-print_BPF_PROG_DETACH_first(const unsigned long addr)
-{
- printf("target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS");
-}
-
-static void
-print_BPF_PROG_DETACH_attr(const unsigned long addr)
-{
- printf("target_fd=-1, attach_type=BPF_CGROUP_INET_SOCK_CREATE");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_ATTACH_FLAGS */
-
-/* BPF_PROG_TEST_RUN command appears in kernel 4.12. */
-# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
-
-DEF_BPF_INIT_FIRST(BPF_PROG_TEST_RUN, test.prog_fd, -1)
-
-static void
-print_BPF_PROG_TEST_RUN_first(const unsigned long addr)
-{
- printf("test={prog_fd=-1, retval=0, data_size_in=0, data_size_out=0"
- ", data_in=0, data_out=0, repeat=0, duration=0}");
-}
-
-static const union bpf_attr sample_BPF_PROG_TEST_RUN_attr = {
- .test = {
- .prog_fd = -1,
- .retval = 0xfac1fed2,
- .data_size_in = 0xfac3fed4,
- .data_size_out = 0xfac5fed6,
- .data_in = (uint64_t) 0xfacef11dbadc2ded,
- .data_out = (uint64_t) 0xfacef33dbadc4ded,
- .repeat = 0xfac7fed8,
- .duration = 0xfac9feda
+ license, log_buf);
+}
+
+static struct bpf_attr_check BPF_PROG_LOAD_checks[] = {
+ {
+ .data = { .BPF_PROG_LOAD_data = { .prog_type = 1 } },
+ .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_type),
+ .str = "prog_type=BPF_PROG_TYPE_SOCKET_FILTER"
+ ", insn_cnt=0, insns=0, license=NULL"
+ },
+ {
+ .data = { .BPF_PROG_LOAD_data = {
+ .prog_type = 1,
+ .insn_cnt = ARRAY_SIZE(insns),
+ .log_level = 42,
+ .log_size = sizeof(log_buf),
+ .kern_version = 0xcafef00d,
+ .prog_flags = 1
+ } },
+ .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_flags),
+ .init_fn = init_BPF_PROG_LOAD_attr,
+ .print_fn = print_BPF_PROG_LOAD_attr
}
};
-static unsigned int
-init_BPF_PROG_TEST_RUN_attr(const unsigned long eop)
-{
- static const unsigned int offset =
- offsetofend(union bpf_attr, test);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &sample_BPF_PROG_TEST_RUN_attr, offset);
- return offset;
-}
-
-static void
-print_BPF_PROG_TEST_RUN_attr(const unsigned long addr)
-{
- PRINT_FIELD_D("test={", sample_BPF_PROG_TEST_RUN_attr.test, prog_fd);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, retval);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_size_in);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_size_out);
- PRINT_FIELD_X(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_in);
- PRINT_FIELD_X(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_out);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, repeat);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, duration);
- printf("}");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_TEST_DURATION */
-
-# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
-
-DEF_BPF_INIT_FIRST(BPF_PROG_GET_NEXT_ID, start_id, 0xdeadbeef)
-
-static void
-print_BPF_PROG_GET_NEXT_ID_first(const unsigned long addr)
-{
- printf("start_id=%u, next_id=0", 0xdeadbeef);
-}
-
-static unsigned int
-init_BPF_PROG_GET_NEXT_ID_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .start_id = 0xbadc0ded,
- .next_id = 0xcafef00d
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, next_id);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
static void
-print_BPF_PROG_GET_NEXT_ID_attr(const unsigned long addr)
-{
- printf("start_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
-
-# define init_BPF_MAP_GET_NEXT_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define print_BPF_MAP_GET_NEXT_ID_first print_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_MAP_GET_NEXT_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-# define print_BPF_MAP_GET_NEXT_ID_attr print_BPF_PROG_GET_NEXT_ID_attr
-
-# define init_BPF_PROG_GET_FD_BY_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_PROG_GET_FD_BY_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-
-static void
-print_BPF_PROG_GET_FD_BY_ID_first(const unsigned long addr)
-{
- printf("prog_id=%u, next_id=0", 0xdeadbeef);
-}
-
-static void
-print_BPF_PROG_GET_FD_BY_ID_attr(const unsigned long addr)
-{
- printf("prog_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
-
-# define init_BPF_MAP_GET_FD_BY_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_MAP_GET_FD_BY_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-
-static void
-print_BPF_MAP_GET_FD_BY_ID_first(const unsigned long addr)
-{
- printf("map_id=%u, next_id=0", 0xdeadbeef);
-}
+init_BPF_OBJ_PIN_attr(struct bpf_attr_check *check)
+{
+ struct BPF_OBJ_PIN_struct *attr = &check->data.BPF_OBJ_PIN_data;
+ attr->pathname = (uintptr_t) pathname;
+}
+
+static struct bpf_attr_check BPF_OBJ_PIN_checks[] = {
+ {
+ .data = { .BPF_OBJ_PIN_data = { .pathname = 0 } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, pathname),
+ .str = "pathname=NULL, bpf_fd=0"
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = {
+ .pathname = 0xFFFFFFFFFFFFFFFFULL
+ } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, pathname),
+ .str = "pathname="
+#if defined MPERS_IS_m32 || SIZEOF_KERNEL_LONG_T > 4
+ "0xffffffffffffffff"
+#elif defined __arm__ || defined __i386__ || defined __mips__ || \
+ defined __powerpc__ || defined __riscv__ || defined __s390__ \
+ || defined __sparc__ || defined __tile__
+ "0xffffffffffffffff or 0xffffffff"
+#else
+ "0xffffffff"
+#endif
+ ", bpf_fd=0",
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = { .bpf_fd = -1 } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, bpf_fd),
+ .init_fn = init_BPF_OBJ_PIN_attr,
+ .str = "pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1"
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = {
+ .bpf_fd = -1,
+ .file_flags = 0x18
+ } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, file_flags),
+ .init_fn = init_BPF_OBJ_PIN_attr,
+ .str = "pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1"
+ ", file_flags=BPF_F_RDONLY|BPF_F_WRONLY"
+ }
+};
-static void
-print_BPF_MAP_GET_FD_BY_ID_attr(const unsigned long addr)
-{
- printf("map_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
+#define BPF_OBJ_GET_checks BPF_OBJ_PIN_checks
+
+static const struct bpf_attr_check BPF_PROG_ATTACH_checks[] = {
+ {
+ .data = { .BPF_PROG_ATTACH_data = { .target_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_ATTACH_struct, target_fd),
+ .str = "target_fd=-1, attach_bpf_fd=0"
+ ", attach_type=BPF_CGROUP_INET_INGRESS, attach_flags=0"
+ },
+ {
+ .data = { .BPF_PROG_ATTACH_data = {
+ .target_fd = -1,
+ .attach_bpf_fd = -2,
+ .attach_type = 2,
+ .attach_flags = 1
+ } },
+ .size = offsetofend(struct BPF_PROG_ATTACH_struct, attach_flags),
+ .str = "target_fd=-1, attach_bpf_fd=-2"
+ ", attach_type=BPF_CGROUP_INET_SOCK_CREATE"
+ ", attach_flags=BPF_F_ALLOW_OVERRIDE"
+ }
+};
-# endif /* HAVE_UNION_BPF_ATTR_NEXT_ID */
-# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
+static const struct bpf_attr_check BPF_PROG_DETACH_checks[] = {
+ {
+ .data = { .BPF_PROG_DETACH_data = { .target_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_DETACH_struct, target_fd),
+ .str = "target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS"
+ },
+ {
+ .data = { .BPF_PROG_DETACH_data = {
+ .target_fd = -1,
+ .attach_type = 2
+ } },
+ .size = offsetofend(struct BPF_PROG_DETACH_struct, attach_type),
+ .str = "target_fd=-1, attach_type=BPF_CGROUP_INET_SOCK_CREATE"
+ }
+};
-DEF_BPF_INIT_FIRST(BPF_OBJ_GET_INFO_BY_FD, info.bpf_fd, -1)
+static const struct bpf_attr_check BPF_PROG_TEST_RUN_checks[] = {
+ {
+ .data = { .BPF_PROG_TEST_RUN_data = { .prog_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_TEST_RUN_struct, prog_fd),
+ .str = "test={prog_fd=-1, retval=0, data_size_in=0"
+ ", data_size_out=0, data_in=0, data_out=0"
+ ", repeat=0, duration=0}"
+ },
+ {
+ .data = { .BPF_PROG_TEST_RUN_data = {
+ .prog_fd = -1,
+ .retval = 0xfac1fed2,
+ .data_size_in = 0xfac3fed4,
+ .data_size_out = 0xfac5fed6,
+ .data_in = (uint64_t) 0xfacef11dbadc2dedULL,
+ .data_out = (uint64_t) 0xfacef33dbadc4dedULL,
+ .repeat = 0xfac7fed8,
+ .duration = 0xfac9feda
+ } },
+ .size = offsetofend(struct BPF_PROG_TEST_RUN_struct, duration),
+ .str = "test={prog_fd=-1, retval=4207017682"
+ ", data_size_in=4207148756, data_size_out=4207279830"
+ ", data_in=0xfacef11dbadc2ded"
+ ", data_out=0xfacef33dbadc4ded"
+ ", repeat=4207410904, duration=4207541978}"
+ }
+};
-static void
-print_BPF_OBJ_GET_INFO_BY_FD_first(const unsigned long addr)
-{
- printf("info={bpf_fd=-1, info_len=0, info=0}");
-}
+static const struct bpf_attr_check BPF_PROG_GET_NEXT_ID_checks[] = {
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, start_id),
+ .str = "start_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xdeadbeef
+ } },
+ .size = 1,
+ .str = "start_id="
+#if WORDS_BIGENDIAN
+ "3724541952" /* 0xde000000 */
+#else
+ "239" /* 0x000000ef */
+#endif
+ ", next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, next_id),
+ .str = "start_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, open_flags),
+ .str = "start_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
+ }
+};
-static const union bpf_attr sample_BPF_OBJ_GET_INFO_BY_FD_attr = {
- .info = {
- .bpf_fd = -1,
- .info_len = 0xdeadbeef,
- .info = (uint64_t) 0xfacefeedbadc0ded
+#define BPF_MAP_GET_NEXT_ID_checks BPF_PROG_GET_NEXT_ID_checks
+
+static const struct bpf_attr_check BPF_PROG_GET_FD_BY_ID_checks[] = {
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, prog_id),
+ .str = "prog_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, next_id),
+ .str = "prog_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, open_flags),
+ .str = "prog_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
}
};
-static unsigned int
-init_BPF_OBJ_GET_INFO_BY_FD_attr(const unsigned long eop)
-{
- static const unsigned int offset =
- offsetofend(union bpf_attr, info);
- const unsigned long addr = eop - offset;
- memcpy((void *) addr, &sample_BPF_OBJ_GET_INFO_BY_FD_attr, offset);
- return offset;
-}
+static const struct bpf_attr_check BPF_MAP_GET_FD_BY_ID_checks[] = {
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, map_id),
+ .str = "map_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, next_id),
+ .str = "map_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, open_flags),
+ .str = "map_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
+ }
+};
-static void
-print_BPF_OBJ_GET_INFO_BY_FD_attr(const unsigned long addr)
-{
- PRINT_FIELD_D("info={", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, bpf_fd);
- PRINT_FIELD_U(", ", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, info_len);
- PRINT_FIELD_X(", ", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, info);
- printf("}");
-}
+static const struct bpf_attr_check BPF_OBJ_GET_INFO_BY_FD_checks[] = {
+ {
+ .data = { .BPF_OBJ_GET_INFO_BY_FD_data = { .bpf_fd = -1 } },
+ .size = offsetofend(struct BPF_OBJ_GET_INFO_BY_FD_struct, bpf_fd),
+ .str = "info={bpf_fd=-1, info_len=0, info=0}"
+ },
+ {
+ .data = { .BPF_OBJ_GET_INFO_BY_FD_data = {
+ .bpf_fd = -1,
+ .info_len = 0xdeadbeef,
+ .info = (uint64_t) 0xfacefeedbadc0dedULL
+ } },
+ .size = offsetofend(struct BPF_OBJ_GET_INFO_BY_FD_struct, info),
+ .str = "info={bpf_fd=-1, info_len=3735928559"
+ ", info=0xfacefeedbadc0ded}"
+ }
+};
-# endif /* HAVE_UNION_BPF_ATTR_INFO_INFO */
+#define CHK(cmd_) \
+ { \
+ cmd_, #cmd_, \
+ cmd_##_checks, ARRAY_SIZE(cmd_##_checks), \
+ } \
+ /* End of CHK definition */
int
main(void)
{
+ static const struct bpf_check checks[] = {
+ CHK(BPF_MAP_CREATE),
+ CHK(BPF_MAP_LOOKUP_ELEM),
+ CHK(BPF_MAP_UPDATE_ELEM),
+ CHK(BPF_MAP_DELETE_ELEM),
+ CHK(BPF_MAP_GET_NEXT_KEY),
+ CHK(BPF_PROG_LOAD),
+ CHK(BPF_OBJ_PIN),
+ CHK(BPF_OBJ_GET),
+ CHK(BPF_PROG_ATTACH),
+ CHK(BPF_PROG_DETACH),
+ CHK(BPF_PROG_TEST_RUN),
+ CHK(BPF_PROG_GET_NEXT_ID),
+ CHK(BPF_MAP_GET_NEXT_ID),
+ CHK(BPF_PROG_GET_FD_BY_ID),
+ CHK(BPF_MAP_GET_FD_BY_ID),
+ CHK(BPF_OBJ_GET_INFO_BY_FD),
+ };
+
page_size = get_page_size();
end_of_page = (unsigned long) tail_alloc(1) + 1;
-# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
- TEST_BPF(BPF_MAP_CREATE);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_FLAGS
- TEST_BPF(BPF_MAP_LOOKUP_ELEM);
- TEST_BPF(BPF_MAP_UPDATE_ELEM);
- TEST_BPF(BPF_MAP_DELETE_ELEM);
- TEST_BPF(BPF_MAP_GET_NEXT_KEY);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
- TEST_BPF(BPF_PROG_LOAD);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
- TEST_BPF(BPF_OBJ_PIN);
- TEST_BPF(BPF_OBJ_GET);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
- TEST_BPF(BPF_PROG_ATTACH);
- TEST_BPF(BPF_PROG_DETACH);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
- TEST_BPF(BPF_PROG_TEST_RUN);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
- TEST_BPF(BPF_PROG_GET_NEXT_ID);
- TEST_BPF(BPF_MAP_GET_NEXT_ID);
- TEST_BPF(BPF_PROG_GET_FD_BY_ID);
- TEST_BPF(BPF_MAP_GET_FD_BY_ID);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
- TEST_BPF(BPF_OBJ_GET_INFO_BY_FD);
-# endif
+ for (size_t i = 0; i < ARRAY_SIZE(checks); i++)
+ test_bpf(checks + i);
+
+ sys_bpf(0xfacefeed, 0, (kernel_ulong_t) 0xfacefeedbadc0dedULL);
+ printf("bpf(0xfacefeed /* BPF_??? */, NULL, %u) = %s\n",
+ 0xbadc0dedu, errstr);
sys_bpf(0xfacefeed, end_of_page, 40);
printf("bpf(0xfacefeed /* BPF_??? */, %#lx, 40) = %s\n",
@@ -744,9 +654,3 @@ main(void)
puts("+++ exited with 0 +++");
return 0;
}
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_bpf && HAVE_UNION_BPF_ATTR_*")
-
-#endif
diff --git a/tests-mx32/btrfs.c b/tests-mx32/btrfs.c
index 710d7630..415f6928 100644
--- a/tests-mx32/btrfs.c
+++ b/tests-mx32/btrfs.c
@@ -6,7 +6,6 @@
#include <fcntl.h>
#include <inttypes.h>
#include <limits.h>
-#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
@@ -225,7 +224,7 @@ btrfs_print_qgroup_inherit(struct btrfs_qgroup_inherit *inherit)
"BTRFS_QGROUP_INHERIT_???");
printf(", num_qgroups=%" PRI__u64
", num_ref_copies=%" PRI__u64
- ", num_excl_copies=%" PRI__u64", lim={flags=",
+ ", num_excl_copies=%" PRI__u64 ", lim={flags=",
inherit->num_qgroups, inherit->num_ref_copies,
inherit->num_excl_copies);
printflags(btrfs_qgroup_limit_flags,
@@ -438,7 +437,7 @@ btrfs_test_subvol_ioctls(void)
btrfs_print_vol_args_v2(&vol_args_v2, 1);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2,
&args_passed);
- printf(" => {transid=%" PRI__u64"}) = 0\n",
+ printf(" => {transid=%" PRI__u64 "}) = 0\n",
args_passed.transid);
subvolfd = openat(btrfs_test_dir_fd, subvol_name,
@@ -454,7 +453,7 @@ btrfs_test_subvol_ioctls(void)
btrfs_print_vol_args_v2(&args_passed, 1);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_CREATE_V2,
&args_passed);
- printf(" => {transid=%" PRI__u64"}) = 0\n",
+ printf(" => {transid=%" PRI__u64 "}) = 0\n",
args_passed.transid);
/* This only works when mounted w/ -ouser_subvol_rm_allowed */
@@ -689,7 +688,7 @@ btrfs_test_clone_ioctls(void)
static void
btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args)
{
- printf("{start=%" PRIu64", len=%" PRIu64 "%s, flags=",
+ printf("{start=%" PRIu64 ", len=%" PRIu64 "%s, flags=",
(uint64_t) args->start, (uint64_t) args->len,
maybe_print_uint64max(args->len));
@@ -796,10 +795,10 @@ btrfs_print_search_key(struct btrfs_ioctl_search_key *key)
printf(", max_offset=%" PRI__u64 "%s",
key->max_offset, maybe_print_uint64max(key->max_offset));
if (key->min_transid)
- printf(", min_transid=%" PRI__u64"%s", key->min_transid,
+ printf(", min_transid=%" PRI__u64 "%s", key->min_transid,
maybe_print_uint64max(key->min_transid));
if (key->max_transid)
- printf(", max_transid=%" PRI__u64"%s", key->max_transid,
+ printf(", max_transid=%" PRI__u64 "%s", key->max_transid,
maybe_print_uint64max(key->max_transid));
printf(", min_type=");
btrfs_print_key_type(key->min_type);
@@ -1113,7 +1112,7 @@ btrfs_test_scrub_ioctls(void)
printf("ioctl(-1, BTRFS_IOC_SCRUB_CANCEL) = -1 EBADF (%m)\n");
printf("ioctl(-1, BTRFS_IOC_SCRUB, {devid=%" PRI__u64 ", start=%"
- PRI__u64 "%s, end=%" PRI__u64"%s, flags=",
+ PRI__u64 "%s, end=%" PRI__u64 "%s, flags=",
args.devid, args.start, maybe_print_uint64max(args.start),
args.end, maybe_print_uint64max(args.end));
printflags(btrfs_scrub_flags, args.flags, "BTRFS_SCRUB_???");
@@ -1145,7 +1144,7 @@ btrfs_test_dev_info_ioctl(void)
ioctl(-1, BTRFS_IOC_DEV_INFO, &args);
printf("ioctl(-1, BTRFS_IOC_DEV_INFO, "
- "{devid=%" PRI__u64", uuid=%s}) = -1 EBADF (%m)\n",
+ "{devid=%" PRI__u64 ", uuid=%s}) = -1 EBADF (%m)\n",
args.devid, uuid_reference_string);
}
@@ -1161,9 +1160,22 @@ btrfs_test_ino_path_ioctls(void)
struct btrfs_ioctl_ino_path_args args = {
.inum = 256,
.size = sizeof(buf),
- .fspath = (unsigned long)buf,
+ .reserved = {
+ 0xdeadc0defacefeebULL,
+ 0xdeadc0defacefeecULL,
+ 0xdeadc0defacefeedULL,
+ },
+ .fspath = 0,
};
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 0xdeadc0defacefeeeULL;
+
+
ioctl(-1, BTRFS_IOC_INO_PATHS, NULL);
printf("ioctl(-1, BTRFS_IOC_INO_PATHS, NULL) = -1 EBADF (%m)\n");
@@ -1172,13 +1184,54 @@ btrfs_test_ino_path_ioctls(void)
ioctl(-1, BTRFS_IOC_INO_PATHS, &args);
printf("ioctl(-1, BTRFS_IOC_INO_PATHS, "
- "{inum=%" PRI__u64", size=%" PRI__u64
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
+ ", fspath=NULL}) = -1 EBADF (%m)\n",
+ args.inum, args.size);
+
+ args.fspath = (uintptr_t) buf;
+ ioctl(-1, BTRFS_IOC_INO_PATHS, &args);
+ printf("ioctl(-1, BTRFS_IOC_INO_PATHS, "
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
", fspath=0x%" PRI__x64 "}) = -1 EBADF (%m)\n",
args.inum, args.size, args.fspath);
+ args.fspath = 0;
+ ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
+ printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
+ ", size=%" PRI__u64 ", reserved=[0xdeadc0defacefeeb"
+ ", 0xdeadc0defacefeec, 0xdeadc0defacefeed]"
+ ", flags=0xdeadc0defacefeee /* BTRFS_LOGICAL_INO_ARGS_??? */"
+ ", inodes=NULL}) = -1 EBADF (%m)\n",
+ args.inum, args.size);
+
+ args.fspath = (uintptr_t) buf;
+ args.reserved[0] = 0;
+ args.reserved[2] = 0;
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 1;
+
+ ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
+ printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
+ ", size=%" PRI__u64 ", reserved=[0, 0xdeadc0defacefeec, 0]"
+ ", flags=BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET"
+ ", inodes=0x%" PRI__x64 "}) = -1 EBADF (%m)\n",
+ args.inum, args.size, args.fspath);
+
+ args.reserved[1] = 0;
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 0;
+
ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
- ", size=%" PRI__u64", inodes=0x%" PRI__x64
+ ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64
"}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath);
#ifdef HAVE_LINUX_FIEMAP_H
@@ -1196,8 +1249,8 @@ btrfs_test_ino_path_ioctls(void)
args.inum = si.st_ino;
printf("ioctl(%d, BTRFS_IOC_INO_PATHS, "
- "{inum=%" PRI__u64", size=%" PRI__u64
- ", fspath=0x%" PRI__x64"}",
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
+ ", fspath=0x%" PRI__x64 "}",
btrfs_test_dir_fd, args.inum, args.size,
args.fspath);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_INO_PATHS, &args);
@@ -1240,7 +1293,7 @@ btrfs_test_ino_path_ioctls(void)
/* This is also a live test for FIEMAP */
printf("ioctl(%d, FS_IOC_FIEMAP, {fm_start=%" PRI__u64
- ", fm_length=%" PRI__u64", fm_flags=",
+ ", fm_length=%" PRI__u64 ", fm_flags=",
fd, fiemap->fm_start, fiemap->fm_length);
printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???");
printf(", fm_extent_count=%u}", fiemap->fm_extent_count);
@@ -1274,7 +1327,7 @@ btrfs_test_ino_path_ioctls(void)
args.inum = fiemap->fm_extents[0].fe_physical;
printf("ioctl(%d, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
- ", size=%" PRI__u64", inodes=0x%" PRI__x64"}",
+ ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 "}",
fd, args.inum, args.size, args.fspath);
ioctl(fd, BTRFS_IOC_LOGICAL_INO, &args);
printf(" => {inodes={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, val=",
@@ -1314,7 +1367,7 @@ btrfs_test_set_received_subvol_ioctl(void)
ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, &args);
printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, "
- "{uuid=%s, stransid=%" PRI__u64", stime=%" PRI__u64
+ "{uuid=%s, stransid=%" PRI__u64 ", stime=%" PRI__u64
".%u, flags=0}) = -1 EBADF (%m)\n",
uuid_reference_string, args.stransid, args.stime.sec,
args.stime.nsec);
@@ -1427,7 +1480,7 @@ btrfs_test_qgroup_assign_ioctl(void)
ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, &args);
printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, "
- "{assign=%" PRI__u64", src=%" PRI__u64", dst=%" PRI__u64
+ "{assign=%" PRI__u64 ", src=%" PRI__u64 ", dst=%" PRI__u64
"}) = -1 EBADF (%m)\n", args.assign, args.src, args.dst);
}
@@ -1448,7 +1501,7 @@ btrfs_test_qgroup_create_ioctl(void)
ioctl(-1, BTRFS_IOC_QGROUP_CREATE, &args);
printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, "
- "{create=%" PRI__u64", qgroupid=%" PRI__u64
+ "{create=%" PRI__u64 ", qgroupid=%" PRI__u64
"}) = -1 EBADF (%m)\n", args.create, args.qgroupid);
}
@@ -1523,7 +1576,7 @@ btrfs_test_get_dev_stats_ioctl(void)
printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL) = -1 EBADF (%m)\n");
printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64
- ", nr_items=%" PRI__u64", flags=",
+ ", nr_items=%" PRI__u64 ", flags=",
args.devid, args.nr_items);
printflags(btrfs_dev_stats_flags, args.flags,
"BTRFS_DEV_STATS_???");
@@ -1534,7 +1587,7 @@ btrfs_test_get_dev_stats_ioctl(void)
unsigned int i;
args.flags = BTRFS_DEV_STATS_RESET;
printf("ioctl(%d, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64
- ", nr_items=%" PRI__u64", flags=",
+ ", nr_items=%" PRI__u64 ", flags=",
btrfs_test_dir_fd, args.devid, args.nr_items);
printflags(btrfs_dev_stats_flags, args.flags,
"BTRFS_DEV_STATS_???");
@@ -1579,7 +1632,7 @@ btrfs_test_dev_replace_ioctl(void)
ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args);
printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, "
"{cmd=BTRFS_IOCTL_DEV_REPLACE_CMD_START, start={srcdevid=%"
- PRI__u64", cont_reading_from_srcdev_mode=%" PRI__u64
+ PRI__u64 ", cont_reading_from_srcdev_mode=%" PRI__u64
", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) = -1 EBADF (%m)\n",
args.start.srcdevid,
args.start.cont_reading_from_srcdev_mode,
diff --git a/tests-mx32/count.test b/tests-mx32/count.test
index a9752c09..a2ecc4fa 100755
--- a/tests-mx32/count.test
+++ b/tests-mx32/count.test
@@ -3,7 +3,7 @@
# Check whether -c and -w options work.
#
# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2014-2017 The strace developers.
+# Copyright (c) 2014-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -50,8 +50,12 @@ grep_log()
}
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -O1
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -enanosleep
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -O1 -enanosleep
grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw
+grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw -O1
grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -enanosleep
+grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -O1 -enanosleep
exit 0
diff --git a/tests-mx32/delay.c b/tests-mx32/delay.c
new file mode 100644
index 00000000..926c5abf
--- /dev/null
+++ b/tests-mx32/delay.c
@@ -0,0 +1,135 @@
+/*
+ * Check delay injection.
+ *
+ * Copyright (c) 2018 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 <limits.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+#include <asm/unistd.h>
+
+static int64_t
+usecs_from_tv(const struct timeval *const tv)
+{
+ return (int64_t) tv->tv_sec * 1000000 + tv->tv_usec;
+}
+
+static int64_t
+usecs_from_ts(const struct timespec *const ts)
+{
+ return (int64_t) ts->tv_sec * 1000000 + ts->tv_nsec / 1000;
+}
+
+static void
+check_delay(const struct timeval *const tv0,
+ const struct timespec *const ts,
+ const struct timeval *const tv1,
+ const int nproc,
+ const int64_t delay_enter,
+ const int64_t delay_exit)
+{
+ const int64_t us0 = usecs_from_tv(tv0);
+ const int64_t us = usecs_from_ts(ts);
+ const int64_t us1 = usecs_from_tv(tv1);
+
+ if (us - us0 < delay_exit * (nproc - 1) / nproc)
+ _exit(1);
+
+ if (us - us0 > delay_exit * (nproc + 1) / nproc)
+ _exit(2);
+
+ if (us1 - us < delay_enter * (nproc - 1) / nproc)
+ _exit(3);
+
+ if (us1 - us > delay_enter * (nproc + 1) / nproc)
+ _exit(4);
+}
+
+static void
+run(const int nproc, const int delay_enter, const int delay_exit)
+{
+ struct timeval prev = { 0, 0 }, now;
+
+ for (int i = 0; i < nproc; ++i, prev = now) {
+ struct timespec ts;
+
+ if (i && clock_gettime(CLOCK_REALTIME, &ts))
+ perror_msg_and_fail("clock_gettime");
+
+ if (syscall(__NR_gettimeofday, &now, NULL))
+ perror_msg_and_fail("gettimeofday");
+
+ if (!i)
+ continue;
+
+ check_delay(&prev, &ts, &now, nproc, delay_enter, delay_exit);
+ }
+
+ _exit(0);
+}
+
+int
+main(int ac, char *av[])
+{
+ if (ac != 4)
+ error_msg_and_fail("usage: delay <nproc> <delay_enter> <delay_exit>");
+
+ const int nproc = atoi(av[1]);
+ if (nproc <= 1)
+ perror_msg_and_fail("invalid nproc: %s", av[1]);
+
+ const int delay_enter = atoi(av[2]);
+ if (delay_enter <= 0)
+ perror_msg_and_fail("invalid delay_enter: %s", av[2]);
+
+ const int delay_exit = atoi(av[3]);
+ if (delay_exit <= 0)
+ perror_msg_and_fail("invalid delay_exit: %s", av[3]);
+
+ for (int i = 0; i < nproc; ++i) {
+ pid_t pid = fork();
+
+ if (pid)
+ usleep(MAX(delay_enter, delay_exit) / nproc);
+ else
+ run(nproc, delay_enter, delay_exit);
+ }
+
+ int status;
+ while (wait(&status) > 0) {
+ if (status)
+ perror_msg_and_fail("wait status %d", status);
+ }
+
+ return 0;
+}
diff --git a/tests-mx32/delay.test b/tests-mx32/delay.test
new file mode 100755
index 00000000..5fb2ad62
--- /dev/null
+++ b/tests-mx32/delay.test
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Check delay injection.
+
+. "${srcdir=.}/init.sh"
+
+delay_enter=800000
+delay_exit=1600000
+run_strace -f -r -egettimeofday \
+ -einject=gettimeofday:delay_enter=$delay_enter:delay_exit=$delay_exit \
+ ../delay 4 $delay_enter $delay_exit
diff --git a/tests-mx32/dev-yy.c b/tests-mx32/dev-yy.c
new file mode 100644
index 00000000..58a1e414
--- /dev/null
+++ b/tests-mx32/dev-yy.c
@@ -0,0 +1,101 @@
+/*
+ * Check printing of character/block device numbers in -yy mode.
+ *
+ * Copyright (c) 2018 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 <unistd.h>
+
+#include <asm/unistd.h>
+
+#include <linux/fcntl.h>
+
+#include <sys/sysmacros.h>
+
+#if defined __NR_openat && defined O_PATH
+
+int
+main(void)
+{
+ static const struct {
+ const char *path;
+ unsigned int major;
+ unsigned int minor;
+ bool blk;
+ bool optional;
+ } checks[] = {
+ { "/dev/zero", 1, 5, false, false },
+ { "/dev/full", 1, 7, false, false },
+ { "/dev/sda", 8, 0, true, true },
+ };
+
+ for (unsigned int i = 0; i < ARRAY_SIZE(checks); i++) {
+ /*
+ * We can't have nice things here and call openat() directly as
+ * some libcs (yes, musl, I'm looking at you now) are too
+ * frivolous in passing flags to the kernel.
+ */
+ long fd = syscall(__NR_openat, AT_FDCWD, checks[i].path,
+ O_RDONLY|O_PATH);
+
+ printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_PATH) = %s",
+ checks[i].path, sprintrc(fd));
+ if (fd >= 0)
+ printf("<%s<%s %u:%u>>",
+ checks[i].path,
+ checks[i].blk ? "block" : "char",
+ checks[i].major, checks[i].minor);
+ puts("");
+
+ if (fd < 0) {
+ if (checks[i].optional)
+ continue;
+ else
+ perror_msg_and_fail("openat(\"%s\")",
+ checks[i].path);
+ }
+
+ int rc = fsync(fd);
+
+ printf("fsync(%ld<%s<%s %u:%u>>) = %s\n",
+ fd, checks[i].path, checks[i].blk ? "block" : "char",
+ checks[i].major, checks[i].minor, sprintrc(rc));
+
+ close(fd);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_openat && O_PATH")
+
+#endif
diff --git a/tests-mx32/dev-yy.gen.test b/tests-mx32/dev-yy.gen.test
new file mode 100755
index 00000000..d83d2e10
--- /dev/null
+++ b/tests-mx32/dev-yy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
diff --git a/tests-mx32/file_handle.c b/tests-mx32/file_handle.c
index bbdf48b1..8559ba64 100644
--- a/tests-mx32/file_handle.c
+++ b/tests-mx32/file_handle.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,6 @@
# include <inttypes.h>
# include <fcntl.h>
# include <stdio.h>
-# include <stdbool.h>
# include <unistd.h>
enum assert_rc {
diff --git a/tests-mx32/fsync-y.c b/tests-mx32/fsync-y.c
new file mode 100644
index 00000000..34267b9c
--- /dev/null
+++ b/tests-mx32/fsync-y.c
@@ -0,0 +1,71 @@
+/*
+ * Check printing of file name in strace -y mode.
+ *
+ * Copyright (c) 2018 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 <fcntl.h>
+#include <limits.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int
+main(void)
+{
+ char dir[PATH_MAX + 1];
+
+ const struct {
+ const char *path;
+ const char *cstr;
+ const char *fdstr;
+ } checks[] = {
+ { ARG_STR("\1\0020\v\0047\f\58\t\79\n\10\0171\r\0167\218\37 \\\'\"<<0::0>>1~\177\200\377"),
+ "\\1\\0020\\v\\0047\\f\\58\\t\\79\\n\\10\\0171\\r\\0167"
+ "\\218\\37 \\\\\'\\\"\\74\\0740::0\\76\\0761~\\177\\200\\377" },
+ };
+
+ if (!getcwd(dir, sizeof(dir)))
+ perror_msg_and_fail("getcwd");
+
+ for (unsigned int i = 0; i < ARRAY_SIZE(checks); i++) {
+ long fd = open(checks[i].path, O_RDONLY|O_CREAT, 0600);
+ if (fd < 0)
+ perror_msg_and_fail("open(%s)", checks[i].cstr);
+
+ int rc = fsync(fd);
+
+ printf("fsync(%ld<", fd);
+ print_quoted_string_ex(dir, false, ">:");
+ printf("/%s>) = %s\n", checks[i].fdstr, sprintrc(rc));
+
+ close(fd);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-mx32/fsync-y.gen.test b/tests-mx32/fsync-y.gen.test
new file mode 100755
index 00000000..055a580f
--- /dev/null
+++ b/tests-mx32/fsync-y.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fsync-y -y -e trace=fsync); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -y -e trace=fsync
diff --git a/tests-mx32/futex.c b/tests-mx32/futex.c
index 0c095b8f..174100f3 100644
--- a/tests-mx32/futex.c
+++ b/tests-mx32/futex.c
@@ -34,7 +34,6 @@
# include <errno.h>
# include <stdarg.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdint.h>
# include <unistd.h>
diff --git a/tests-mx32/gen_tests.am b/tests-mx32/gen_tests.am
index 29d8c643..2cd76bc2 100644
--- a/tests-mx32/gen_tests.am
+++ b/tests-mx32/gen_tests.am
@@ -1,5 +1,5 @@
# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
-GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 group_req.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_dm.gen.test ioctl_dm-v.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_kvm_run.gen.test ioctl_loop.gen.test ioctl_loop-nv.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 kcmp-y.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 modify_ldt.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_crypto.gen.test netlink_generic.gen.test netlink_kobject_uevent.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 nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test nfnetlink_osf.gen.test nfnetlink_queue.gen.test nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test nlattr_inet_diag_req_compat.gen.test nlattr_inet_diag_req_v2.gen.test nlattr_mdba_mdb_entry.gen.test nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test printpath-umovestr.gen.test printpath-umovestr-peekdata.gen.test printpath-umovestr-undumpable.gen.test printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test select.gen.test select-P.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 so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test socketcall.gen.test sockopt-sol_netlink.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
+GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 dev-yy.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 fsync-y.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 group_req.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_dm.gen.test ioctl_dm-v.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_kvm_run.gen.test ioctl_loop.gen.test ioctl_loop-nv.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 kcmp-y.gen.test kern_features.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 modify_ldt.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 net-yy-inet6.gen.test netlink_audit.gen.test netlink_crypto.gen.test netlink_generic.gen.test netlink_kobject_uevent.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 nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test nfnetlink_osf.gen.test nfnetlink_queue.gen.test nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test nlattr_inet_diag_req_compat.gen.test nlattr_inet_diag_req_v2.gen.test nlattr_mdba_mdb_entry.gen.test nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test printpath-umovestr.gen.test printpath-umovestr-peekdata.gen.test printpath-umovestr-undumpable.gen.test printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test select.gen.test select-P.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 so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test socketcall.gen.test sockopt-sol_netlink.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) $^ $@
@@ -73,6 +73,9 @@ $(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/dev-yy.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) $^ $@
@@ -181,6 +184,9 @@ $(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/fsync-y.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) $^ $@
@@ -382,6 +388,9 @@ $(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/kern_features.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) $^ $@
@@ -511,6 +520,9 @@ $(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)/net-yy-inet6.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) $^ $@
diff --git a/tests-mx32/gen_tests.in b/tests-mx32/gen_tests.in
index ea33892f..a95ff3e2 100644
--- a/tests-mx32/gen_tests.in
+++ b/tests-mx32/gen_tests.in
@@ -49,6 +49,7 @@ clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime
copy_file_range
creat -a20
delete_module -a23
+dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
dup -a8
dup2 -a13
dup3 -a24
@@ -85,6 +86,7 @@ fstatat64 -a32 -v -P stat.sample -P /dev/full
fstatfs -a18
fstatfs64 -a24
fsync -a10
+fsync-y -y -e trace=fsync
ftruncate -a24
ftruncate64 -a36
futimesat -a28
@@ -152,6 +154,7 @@ ipc_sem +ipc.sh
ipc_shm +ipc.sh
kcmp -a22
kcmp-y -a22 -y -e trace=kcmp
+kern_features -a16
kexec_file_load -s9
kexec_load -s9
keyctl -a31 -s10
@@ -195,6 +198,7 @@ munlockall -a13
nanosleep -a20
net-icmp_filter -e trace=getsockopt,setsockopt
net-sockaddr -a24 -e trace=connect
+net-yy-inet6 +net-yy-inet.test
netlink_audit +netlink_sock_diag.test
netlink_crypto +netlink_sock_diag.test
netlink_generic +netlink_sock_diag.test
@@ -291,7 +295,7 @@ quotactl
quotactl-v -v -e trace=quotactl
quotactl-xfs -e trace=quotactl
quotactl-xfs-v -v -e trace=quotactl
-read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
readahead -a1
readdir -a16
readlink -xx
diff --git a/tests-mx32/init.sh b/tests-mx32/init.sh
index 4cb8f1ab..dffbfceb 100644
--- a/tests-mx32/init.sh
+++ b/tests-mx32/init.sh
@@ -26,6 +26,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+export LC_ALL=C
ME_="${0##*/}"
LOG="log"
OUT="out"
@@ -236,7 +237,7 @@ kernel_version_code()
(
set -f
IFS=.
- set -- $1
+ set -- $1 0 0
v1="${1%%[!0-9]*}" && [ -n "$v1" ] || v1=0
v2="${2%%[!0-9]*}" && [ -n "$v2" ] || v2=0
v3="${3%%[!0-9]*}" && [ -n "$v3" ] || v3=0
diff --git a/tests-mx32/inject-nf.c b/tests-mx32/inject-nf.c
new file mode 100644
index 00000000..b0d8431b
--- /dev/null
+++ b/tests-mx32/inject-nf.c
@@ -0,0 +1,86 @@
+/*
+ * Check decoding of return values injected into a syscall that "never fails".
+ *
+ * Copyright (c) 2018 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 <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <asm/unistd.h>
+
+#include "raw_syscall.h"
+
+#ifdef __alpha__
+/* alpha has no getpid */
+# define SC_NR __NR_getpgrp
+# define SC_NAME "getpgrp"
+# define getpid getpgrp
+#else
+# define SC_NR __NR_getpid
+# define SC_NAME "getpid"
+#endif
+
+#ifdef raw_syscall_0
+# define INVOKE_SC(err) raw_syscall_0(SC_NR, &err)
+#else
+/* No raw_syscall_0, let's use getpid() and hope for the best. */
+# define INVOKE_SC(err) getpid()
+#endif
+
+/*
+ * This prototype is intentionally different
+ * from the prototype provided by <unistd.h>.
+ */
+extern kernel_ulong_t getpid(void);
+
+int
+main(int ac, char **av)
+{
+ assert(ac == 1 || ac == 2);
+
+ kernel_ulong_t expected =
+ (ac == 1) ? getpid() : strtoull(av[1], NULL, 0);
+ kernel_ulong_t err = 0;
+ kernel_ulong_t rc = INVOKE_SC(err);
+
+ if (err || rc != expected)
+ error_msg_and_fail("expected %#llx, got rval=%#llx err=%#llx",
+ (unsigned long long) expected,
+ (unsigned long long) rc,
+ (unsigned long long) err);
+
+ if (ac == 2) {
+ printf("%s() = %llu (INJECTED)\n",
+ SC_NAME, (unsigned long long) rc);
+
+ puts("+++ exited with 0 +++");
+ }
+
+ return 0;
+}
diff --git a/tests-mx32/inject-nf.test b/tests-mx32/inject-nf.test
new file mode 100755
index 00000000..fa82e442
--- /dev/null
+++ b/tests-mx32/inject-nf.test
@@ -0,0 +1,50 @@
+#!/bin/sh -efu
+
+# Check decoding of return values injected into a syscall that "never fails".
+
+. "${srcdir=.}/scno_tampering.sh"
+
+case "$STRACE_ARCH" in
+alpha)
+ SYSCALL=getpgrp
+ ;;
+*)
+ SYSCALL=getpid
+ ;;
+esac
+
+run_prog
+prog="$args"
+fault_args="-a9 -e trace=${SYSCALL} -e inject=${SYSCALL}:retval="
+
+test_rval()
+{
+ local rval
+ rval="$1"; shift
+
+ run_strace $fault_args$rval $prog $rval > "$EXP"
+ match_diff "$LOG" "$EXP"
+}
+
+test_rval 0
+test_rval 1
+test_rval 0x7fffffff
+test_rval 0x80000000
+test_rval 0xfffff000
+test_rval 0xfffffffe
+test_rval 0xffffffff
+
+case "$SIZEOF_KERNEL_LONG_T" in
+8)
+ test_rval 0x80000000
+ test_rval 0xfffff000
+ test_rval 0xfffffffe
+ test_rval 0xffffffff
+ test_rval 0x100000000
+ test_rval 0x7fffffffffffffff
+ test_rval 0x8000000000000000
+ test_rval 0xfffffffffffff000
+ test_rval 0xfffffffffffffffe
+ test_rval 0xffffffffffffffff
+ ;;
+esac
diff --git a/tests-mx32/ioctl.test b/tests-mx32/ioctl.test
index cbbadc83..b1b40d9e 100755
--- a/tests-mx32/ioctl.test
+++ b/tests-mx32/ioctl.test
@@ -7,5 +7,5 @@
check_prog grep
run_prog > /dev/null
run_strace -a16 -eioctl "$@" $args > "$EXP"
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"
diff --git a/tests-mx32/ioctl_dm.c b/tests-mx32/ioctl_dm.c
index bbdc00c6..3792291e 100644
--- a/tests-mx32/ioctl_dm.c
+++ b/tests-mx32/ioctl_dm.c
@@ -35,7 +35,6 @@
# include <errno.h>
# include <inttypes.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stddef.h>
# include <string.h>
diff --git a/tests-mx32/ioctl_loop.c b/tests-mx32/ioctl_loop.c
index 56ebd9e4..bafbd378 100644
--- a/tests-mx32/ioctl_loop.c
+++ b/tests-mx32/ioctl_loop.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2016 JingPiao Chen <chenjingpiao@gmail.com>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,6 @@
#include "tests.h"
#include <stdio.h>
-#include <stdbool.h>
#include <string.h>
#include <inttypes.h>
#include <sys/ioctl.h>
diff --git a/tests-mx32/ioctl_sock_gifconf.c b/tests-mx32/ioctl_sock_gifconf.c
index efa55a3a..65725294 100644
--- a/tests-mx32/ioctl_sock_gifconf.c
+++ b/tests-mx32/ioctl_sock_gifconf.c
@@ -2,7 +2,7 @@
* Check decoding of SIOCGIFCONF command of ioctl syscall.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -30,7 +30,6 @@
#include "tests.h"
-#include <stdbool.h>
#include <stdio.h>
#include <string.h>
diff --git a/tests-mx32/ioctl_v4l2.c b/tests-mx32/ioctl_v4l2.c
index 47a538e4..2736b392 100644
--- a/tests-mx32/ioctl_v4l2.c
+++ b/tests-mx32/ioctl_v4l2.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -27,35 +27,28 @@
*/
#include "tests.h"
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <linux/types.h>
#include <linux/videodev2.h>
-#if WORDS_BIGENDIAN
-# define cc0(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
-# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
-# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
-# define cc3(arg) ((unsigned int) (unsigned char) (arg))
-# define fourcc(a0, a1, a2, a3) \
- ((unsigned int)(a3) | \
- ((unsigned int)(a2) << 8) | \
- ((unsigned int)(a1) << 16) | \
- ((unsigned int)(a0) << 24))
-#else
-# define cc0(arg) ((unsigned int) (unsigned char) (arg))
-# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
-# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
-# define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
-# define fourcc(a0, a1, a2, a3) \
+#define cc0(arg) ((unsigned int) (unsigned char) (arg))
+#define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
+#define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
+#define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
+#define fourcc(a0, a1, a2, a3) \
((unsigned int)(a0) | \
((unsigned int)(a1) << 8) | \
((unsigned int)(a2) << 16) | \
((unsigned int)(a3) << 24))
-#endif
static const unsigned int magic = 0xdeadbeef;
+static const unsigned int pf_magic = fourcc('S', '5', '0', '8');
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+static const unsigned int sf_magic = fourcc('R', 'U', '1', '2');
+#endif
static void
init_v4l2_format(struct v4l2_format *const f,
@@ -68,7 +61,10 @@ init_v4l2_format(struct v4l2_format *const f,
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
f->fmt.pix.width = 0x657b8160;
f->fmt.pix.height = 0x951c0047;
- f->fmt.pix.pixelformat = magic;
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+ f->fmt.pix.pixelformat = magic;
+ else
+ f->fmt.pix.pixelformat = pf_magic;
f->fmt.pix.field = V4L2_FIELD_NONE;
f->fmt.pix.bytesperline = 0xdf20d185;
f->fmt.pix.sizeimage = 0x0cf7be41;
@@ -82,7 +78,10 @@ init_v4l2_format(struct v4l2_format *const f,
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
f->fmt.pix_mp.width = 0x1f3b774b;
f->fmt.pix_mp.height = 0xab96a8d6;
- f->fmt.pix_mp.pixelformat = magic;
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
+ f->fmt.pix_mp.pixelformat = magic;
+ else
+ f->fmt.pix_mp.pixelformat = pf_magic;
f->fmt.pix_mp.field = V4L2_FIELD_NONE;
f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
struct v4l2_plane_pix_format *cur_pix =
@@ -129,7 +128,10 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.vbi.sampling_rate = 0x3d9b5b79;
f->fmt.vbi.offset = 0x055b3a09;
f->fmt.vbi.samples_per_line = 0xf176d436;
- f->fmt.vbi.sample_format = magic;
+ if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE)
+ f->fmt.vbi.sample_format = magic;
+ else
+ f->fmt.vbi.sample_format = pf_magic;
f->fmt.vbi.start[0] = 0x9858e2eb;
f->fmt.vbi.start[1] = 0x8a4dc8c1;
f->fmt.vbi.count[0] = 0x4bcf36a3;
@@ -154,13 +156,18 @@ init_v4l2_format(struct v4l2_format *const f,
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
case V4L2_BUF_TYPE_SDR_OUTPUT:
+ f->fmt.sdr.pixelformat = sf_magic;
+# ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+ f->fmt.sdr.buffersize = 0x25afabfb;
+# endif
+ break;
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
f->fmt.sdr.pixelformat = magic;
-#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+# ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
f->fmt.sdr.buffersize = 0x25afabfb;
-#endif
+# endif
break;
#endif
}
@@ -171,18 +178,30 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
const char *request, const unsigned int buf_type,
const char *buf_type_string)
{
+ int saved_errno;
+
switch (buf_type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
- ", fmt.pix={width=%u, height=%u, pixelformat="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
- ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
+ ", fmt.pix={width=%u, height=%u, pixelformat=",
request,
buf_type_string,
- f->fmt.pix.width, f->fmt.pix.height,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+ f->fmt.pix.width, f->fmt.pix.height);
+
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ errno = saved_errno;
+ printf(", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
+ ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
f->fmt.pix.bytesperline,
f->fmt.pix.sizeimage);
break;
@@ -191,16 +210,25 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
unsigned int i;
+ saved_errno = errno;
printf("ioctl(-1, %s"
", {type=%s"
- ", fmt.pix_mp={width=%u, height=%u, pixelformat="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", field=V4L2_FIELD_NONE, colorspace="
- "V4L2_COLORSPACE_JPEG, plane_fmt=[",
+ ", fmt.pix_mp={width=%u, height=%u, pixelformat=",
request,
buf_type_string,
- f->fmt.pix_mp.width, f->fmt.pix_mp.height,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ f->fmt.pix_mp.width, f->fmt.pix_mp.height);
+
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ printf(", field=V4L2_FIELD_NONE, colorspace="
+ "V4L2_COLORSPACE_JPEG, plane_fmt=[");
for (i = 0;
i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
++i) {
@@ -210,6 +238,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
f->fmt.pix_mp.plane_fmt[i].sizeimage,
f->fmt.pix_mp.plane_fmt[i].bytesperline);
}
+ errno = saved_errno;
printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
f->fmt.pix_mp.num_planes);
break;
@@ -250,18 +279,28 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
break;
case V4L2_BUF_TYPE_VBI_CAPTURE:
case V4L2_BUF_TYPE_VBI_OUTPUT:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
", fmt.vbi={sampling_rate=%u, offset=%u"
- ", samples_per_line=%u, sample_format="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", start=[%u, %u], count=[%u, %u]"
- ", flags=V4L2_VBI_INTERLACED}})"
- " = -1 EBADF (%m)\n",
+ ", samples_per_line=%u, sample_format=",
request,
buf_type_string,
f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
- f->fmt.vbi.samples_per_line,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+ f->fmt.vbi.samples_per_line);
+
+ if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ errno = saved_errno;
+ printf(", start=[%u, %u], count=[%u, %u]"
+ ", flags=V4L2_VBI_INTERLACED}})"
+ " = -1 EBADF (%m)\n",
f->fmt.vbi.start[0], f->fmt.vbi.start[1],
f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
break;
@@ -301,16 +340,29 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
- ", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
- " '\\x%x', '\\x%x')"
+ ", fmt.sdr={pixelformat=",
+ request,
+ buf_type_string);
+
+ if (buf_type == V4L2_BUF_TYPE_SDR_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+# if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_SDR_FMT_RU12LE */",
+ cc0(sf_magic), cc1(sf_magic), cc2(sf_magic),
+ cc3(sf_magic));
+# endif
+
+ errno = saved_errno;
+ printf(
#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)
+ "}}) = -1 EBADF (%m)\n"
#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
, f->fmt.sdr.buffersize
#endif
diff --git a/tests-mx32/ipc_shm.c b/tests-mx32/ipc_shm.c
index c7931388..6586c8af 100644
--- a/tests-mx32/ipc_shm.c
+++ b/tests-mx32/ipc_shm.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/kern_features-fault.test b/tests-mx32/kern_features-fault.test
new file mode 100755
index 00000000..20c964bf
--- /dev/null
+++ b/tests-mx32/kern_features-fault.test
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# Check decoding of SPARC-specific kern_features syscall.
+
+. "${srcdir=.}/scno_tampering.sh"
+
+run_prog ../kern_features > /dev/null
+prog="$args"
+fault_args='-a16 -e trace=kern_features -e inject=kern_features:retval='
+
+test_run_rval()
+{
+ local run rval
+ run="$1"; shift
+ rval="$1"; shift
+
+ run_strace $fault_args$rval $prog $run > "$EXP"
+ match_diff "$LOG" "$EXP"
+}
+
+test_run_rval 0 0
+test_run_rval 1 1
+test_run_rval 2 2
+test_run_rval 3 2147483646 # 0x7ffffffe
+test_run_rval 4 2147483647 # 0x7fffffff
+
+exit 0 # injecting retval < 0 not supported yet
+
+case "$SIZEOF_KERNEL_LONG_T" in
+4)
+ test_run_rval 5 3735943886 # 0xdeadface
+ test_run_rval 6 4294967295 # 0xffffffff
+ ;;
+8)
+ test_run_rval 5 13464652301225294542 # 0xbadc0deddeadface
+ test_run_rval 6 18446744073709551615 # 0xffffffffffffffff
+ ;;
+esac
diff --git a/tests-mx32/kern_features.c b/tests-mx32/kern_features.c
new file mode 100644
index 00000000..87bc3f6f
--- /dev/null
+++ b/tests-mx32/kern_features.c
@@ -0,0 +1,120 @@
+/*
+ * Check decoding of SPARC-specific kern_features syscall.
+ *
+ * Copyright (c) 2018 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 <asm/unistd.h>
+
+#include "raw_syscall.h"
+#include "scno.h"
+
+#if defined __NR_kern_features && defined raw_syscall_0
+
+# include <errno.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
+
+static void
+test_kern_features(unsigned int num)
+{
+ /* The expected return codes, as enforced by fault injection */
+ static struct {
+ kernel_ulong_t ret;
+ const char *str;
+ } checks[] = {
+ { 0, NULL },
+ { 1, "KERN_FEATURE_MIXED_MODE_STACK" },
+ { 2, "0x2" },
+ { 0x7ffffffe, "0x7ffffffe" },
+ { 0x7fffffff, "KERN_FEATURE_MIXED_MODE_STACK|0x7ffffffe" },
+ { (kernel_ulong_t) 0xbadc0deddeadfaceULL,
+ sizeof(kernel_ulong_t) == 8 ?
+ "0xbadc0deddeadface" : "0xdeadface" },
+ { (kernel_ulong_t) -1ULL,
+ sizeof(kernel_ulong_t) == 8 ?
+ "KERN_FEATURE_MIXED_MODE_STACK|0xfffffffffffffffe" :
+ "KERN_FEATURE_MIXED_MODE_STACK|0xfffffffe" },
+ };
+
+ kernel_ulong_t err = 0;
+ kernel_ulong_t rc = raw_syscall_0(__NR_kern_features, &err);
+
+ if (err) {
+ errno = rc;
+ printf("kern_features() = %s\n", sprintrc(-1));
+ return;
+ }
+
+ printf("kern_features() = %#llx", (unsigned long long) rc);
+
+ if (num < ARRAY_SIZE(checks)) {
+ if (rc != checks[num].ret)
+ error_msg_and_fail("Expected return value (%llx) "
+ "doesn't match expected one (%#llx)",
+ (unsigned long long) rc,
+ (unsigned long long) checks[num].ret);
+
+ if (checks[num].str)
+ printf(" (%s)", checks[num].str);
+
+ printf(" (INJECTED)");
+ } else if (rc) {
+ printf(" (");
+
+ if (rc & 1)
+ printf("KERN_FEATURE_MIXED_MODE_STACK");
+
+ if (rc & ~1ULL) {
+ if (rc & 1)
+ printf("|");
+
+ printf("%#llx", rc & ~1ULL);
+ }
+
+ printf(")");
+ }
+
+ puts("");
+}
+
+int
+main(int ac, char **av)
+{
+ test_kern_features(ac > 1 ? atoi(av[1]) : -1);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_kern_features && raw_syscall_0");
+
+#endif
diff --git a/tests-mx32/kern_features.gen.test b/tests-mx32/kern_features.gen.test
new file mode 100755
index 00000000..317614a4
--- /dev/null
+++ b/tests-mx32/kern_features.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kern_features -a16 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-mx32/keyctl.c b/tests-mx32/keyctl.c
index 2d8b9ecc..5d46ab78 100644
--- a/tests-mx32/keyctl.c
+++ b/tests-mx32/keyctl.c
@@ -2,7 +2,7 @@
* Check decoding of keyctl syscall.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
# include <errno.h>
# include <inttypes.h>
# include <stdarg.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
diff --git a/tests-mx32/localtime.c b/tests-mx32/localtime.c
new file mode 100644
index 00000000..bae54867
--- /dev/null
+++ b/tests-mx32/localtime.c
@@ -0,0 +1,57 @@
+/*
+ * Check handling of localtime() returning NULL in printleader().
+ *
+ * Copyright (c) 2018 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 <assert.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+ struct timespec ts;
+ int pid;
+
+ assert(!clock_gettime(CLOCK_REALTIME, &ts));
+
+ pid = syscall(__NR_gettid);
+
+ /* We expect localtime to fail here */
+ printf("%lld.%06ld gettid() = %d\n",
+ (long long) ts.tv_sec, (long) (ts.tv_nsec / 1000), pid);
+
+ printf("%lld.%06ld +++ exited with 0 +++\n",
+ (long long) ts.tv_sec, (long) (ts.tv_nsec / 1000));
+
+ return 0;
+}
diff --git a/tests-mx32/localtime.test b/tests-mx32/localtime.test
new file mode 100755
index 00000000..d025b77f
--- /dev/null
+++ b/tests-mx32/localtime.test
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# Check handling of localtime() failure in printleader().
+#
+# Copyright (c) 2018 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"
+
+check_prog faketime
+faketime -f +1000000000000000000x0 ../$NAME | grep -q '^100000000' \
+ || framework_skip_ 'faketime failed to fake time'
+
+STRACE="faketime -f +1000000000000000000x0 $STRACE"
+
+run_strace_match_diff -tt -a10 -e trace=gettid
diff --git a/tests-mx32/mq_sendrecv.c b/tests-mx32/mq_sendrecv.c
index f6f6bd29..03c786cd 100644
--- a/tests-mx32/mq_sendrecv.c
+++ b/tests-mx32/mq_sendrecv.c
@@ -3,7 +3,7 @@
* mq_unlink syscalls.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
# include <fcntl.h>
# include <inttypes.h>
# include <signal.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
diff --git a/tests-mx32/net-yy-inet.c b/tests-mx32/net-yy-inet.c
index c69bb173..b32d547d 100644
--- a/tests-mx32/net-yy-inet.c
+++ b/tests-mx32/net-yy-inet.c
@@ -41,44 +41,60 @@
#include "accept_compat.h"
+#ifndef ADDR_FAMILY
+# define ADDR_FAMILY_FIELD sin_family
+# define ADDR_FAMILY AF_INET
+# define AF_STR "AF_INET"
+# define LOOPBACK_FIELD .sin_addr.s_addr = htonl(INADDR_LOOPBACK)
+# define LOOPBACK "127.0.0.1"
+# define SOCKADDR_TYPE sockaddr_in
+# define TCP_STR "TCP"
+# define INPORT sin_port
+# define INPORT_STR "sin_port"
+# define INADDR_STR "sin_addr=inet_addr(\"" LOOPBACK "\")"
+# define SA_FIELDS ""
+#endif
+
int
main(void)
{
skip_if_unavailable("/proc/self/fd/");
- const struct sockaddr_in addr = {
- .sin_family = AF_INET,
- .sin_addr.s_addr = htonl(INADDR_LOOPBACK)
+ const struct SOCKADDR_TYPE addr = {
+ .ADDR_FAMILY_FIELD = ADDR_FAMILY,
+ LOOPBACK_FIELD
};
struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
*len = sizeof(addr);
- const int listen_fd = socket(AF_INET, SOCK_STREAM, 0);
+ const int listen_fd = socket(ADDR_FAMILY, SOCK_STREAM, 0);
if (listen_fd < 0)
perror_msg_and_skip("socket");
const unsigned long listen_inode = inode_of_sockfd(listen_fd);
- printf("socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = %d<TCP:[%lu]>\n",
+ printf("socket(" AF_STR ", SOCK_STREAM, IPPROTO_IP) = %d<" TCP_STR
+ ":[%lu]>\n",
listen_fd, listen_inode);
if (bind(listen_fd, listen_sa, *len))
perror_msg_and_skip("bind");
- printf("bind(%d<TCP:[%lu]>, {sa_family=AF_INET, sin_port=htons(0)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, %u) = 0\n",
+ printf("bind(%d<" TCP_STR ":[%lu]>, {sa_family=" AF_STR ", " INPORT_STR
+ "=htons(0), " INADDR_STR SA_FIELDS "}, %u) = 0\n",
listen_fd, listen_inode, (unsigned) *len);
if (listen(listen_fd, 1))
perror_msg_and_skip("listen");
- printf("listen(%d<TCP:[%lu]>, 1) = 0\n", listen_fd, listen_inode);
+ printf("listen(%d<" TCP_STR ":[%lu]>, 1) = 0\n",
+ listen_fd, listen_inode);
memset(listen_sa, 0, sizeof(addr));
*len = sizeof(addr);
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);
- 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\")}"
+ ntohs(((struct SOCKADDR_TYPE *) listen_sa)->INPORT);
+ printf("getsockname(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family="
+ AF_STR ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
", [%u]) = 0\n",
listen_fd, listen_port, listen_port, (unsigned) *len);
@@ -86,22 +102,23 @@ main(void)
*len = sizeof(*optval);
if (getsockopt(listen_fd, SOL_TCP, TCP_MAXSEG, optval, len))
perror_msg_and_fail("getsockopt");
- printf("getsockopt(%d<TCP:[127.0.0.1:%u]>, SOL_TCP, TCP_MAXSEG"
- ", [%u], [%u]) = 0\n",
+ printf("getsockopt(%d<" TCP_STR ":[" LOOPBACK ":%u]>, SOL_TCP, "
+ "TCP_MAXSEG, [%u], [%u]) = 0\n",
listen_fd, listen_port, *optval, (unsigned) *len);
- const int connect_fd = socket(AF_INET, SOCK_STREAM, 0);
+ const int connect_fd = socket(ADDR_FAMILY, SOCK_STREAM, 0);
if (connect_fd < 0)
perror_msg_and_fail("socket");
const unsigned long connect_inode = inode_of_sockfd(connect_fd);
- printf("socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = %d<TCP:[%lu]>\n",
+ printf("socket(" AF_STR ", SOCK_STREAM, IPPROTO_IP) = %d<" TCP_STR
+ ":[%lu]>\n",
connect_fd, connect_inode);
*len = sizeof(addr);
if (connect(connect_fd, listen_sa, *len))
perror_msg_and_fail("connect");
- printf("connect(%d<TCP:[%lu]>, {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, %u) = 0\n",
+ printf("connect(%d<" TCP_STR ":[%lu]>, {sa_family=" AF_STR ", "
+ INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}, %u) = 0\n",
connect_fd, connect_inode, listen_port, (unsigned) *len);
struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
@@ -111,10 +128,10 @@ main(void)
if (accept_fd < 0)
perror_msg_and_fail("accept");
const unsigned int connect_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",
+ ntohs(((struct SOCKADDR_TYPE *) accept_sa)->INPORT);
+ printf("accept(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR
+ ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
+ ", [%u]) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>\n",
listen_fd, listen_port, connect_port, (unsigned) *len,
accept_fd, listen_port, connect_port);
@@ -122,9 +139,9 @@ main(void)
*len = sizeof(addr);
if (getpeername(accept_fd, accept_sa, len))
perror_msg_and_fail("getpeername");
- printf("getpeername(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
- ", {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, [%u]) = 0\n",
+ printf("getpeername(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
+ ", {sa_family=" AF_STR ", " INPORT_STR "=htons(%u)"
+ ", " INADDR_STR SA_FIELDS "}, [%u]) = 0\n",
accept_fd, listen_port, connect_port, connect_port,
(unsigned) *len);
@@ -132,16 +149,16 @@ main(void)
*len = sizeof(addr);
if (getpeername(connect_fd, listen_sa, len))
perror_msg_and_fail("getpeername");
- printf("getpeername(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
- ", {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, [%u]) = 0\n",
+ printf("getpeername(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
+ ", {sa_family=" AF_STR ", " INPORT_STR "=htons(%u)"
+ ", " INADDR_STR SA_FIELDS "}, [%u]) = 0\n",
connect_fd, connect_port, listen_port, listen_port,
(unsigned) *len);
*len = sizeof(*optval);
if (setsockopt(connect_fd, SOL_TCP, TCP_MAXSEG, optval, *len))
perror_msg_and_fail("setsockopt");
- printf("setsockopt(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
+ printf("setsockopt(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
", SOL_TCP, TCP_MAXSEG, [%u], %u) = 0\n",
connect_fd, connect_port, listen_port, *optval,
(unsigned) *len);
@@ -149,28 +166,30 @@ main(void)
char text[] = "text";
assert(sendto(connect_fd, text, sizeof(text) - 1,
MSG_DONTROUTE | MSG_DONTWAIT, NULL, 0) == sizeof(text) - 1);
- printf("sendto(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>, \"%s\", %u"
- ", MSG_DONTROUTE|MSG_DONTWAIT, NULL, 0) = %u\n",
+ printf("sendto(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>, "
+ "\"%s\", %u, MSG_DONTROUTE|MSG_DONTWAIT, NULL, 0) = %u\n",
connect_fd, connect_port, listen_port, text,
(unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
assert(close(connect_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>) = "
+ "0\n",
connect_fd, connect_port, listen_port);
assert(recvfrom(accept_fd, text, sizeof(text) - 1, MSG_WAITALL,
NULL, NULL) == sizeof(text) - 1);
- printf("recvfrom(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>, \"%s\", %u"
- ", MSG_WAITALL, NULL, NULL) = %u\n",
+ printf("recvfrom(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>, "
+ "\"%s\", %u, MSG_WAITALL, NULL, NULL) = %u\n",
accept_fd, listen_port, connect_port, text,
(unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
assert(close(accept_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>) = "
+ "0\n",
accept_fd, listen_port, connect_port);
assert(close(listen_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u]>) = 0\n",
listen_fd, listen_port);
puts("+++ exited with 0 +++");
diff --git a/tests-mx32/net-yy-inet6.c b/tests-mx32/net-yy-inet6.c
new file mode 100644
index 00000000..c97979f7
--- /dev/null
+++ b/tests-mx32/net-yy-inet6.c
@@ -0,0 +1,13 @@
+#define ADDR_FAMILY_FIELD sin6_family
+#define ADDR_FAMILY AF_INET6
+#define AF_STR "AF_INET6"
+#define LOOPBACK_FIELD .sin6_addr = IN6ADDR_LOOPBACK_INIT
+#define LOOPBACK "[::1]"
+#define SOCKADDR_TYPE sockaddr_in6
+#define TCP_STR "TCPv6"
+#define INPORT sin6_port
+#define INPORT_STR "sin6_port"
+#define INADDR_STR "inet_pton(AF_INET6, \"::1\", &sin6_addr)"
+#define SA_FIELDS ", sin6_flowinfo=htonl(0), sin6_scope_id=0"
+
+#include "net-yy-inet.c"
diff --git a/tests-mx32/net-yy-inet6.gen.test b/tests-mx32/net-yy-inet6.gen.test
new file mode 100755
index 00000000..afa38c6e
--- /dev/null
+++ b/tests-mx32/net-yy-inet6.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-yy-inet6 +net-yy-inet.test ); do not edit.
+set --
+. "${srcdir=.}/net-yy-inet.test"
diff --git a/tests-mx32/netlink_kobject_uevent.c b/tests-mx32/netlink_kobject_uevent.c
index cacab5fd..7edacd7d 100644
--- a/tests-mx32/netlink_kobject_uevent.c
+++ b/tests-mx32/netlink_kobject_uevent.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
- * Copyright (c) 2017 The strace developers.
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -31,12 +31,21 @@
#include <sys/socket.h>
#include "netlink.h"
+static const char *errstr;
+
+static ssize_t
+sys_send(const int fd, const void *const buf, const size_t len)
+{
+ const ssize_t rc = sendto(fd, buf, len, MSG_DONTWAIT, NULL, 0);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
int
main(void)
{
skip_if_unavailable("/proc/self/fd/");
- long rc;
int fd = create_nl_socket(NETLINK_KOBJECT_UEVENT);
/* test using data that looks like a zero-length C string */
@@ -44,17 +53,17 @@ main(void)
buf[0] = '=';
fill_memory_ex(buf + 1, DEFAULT_STRLEN, 0, DEFAULT_STRLEN);
- rc = sendto(fd, buf + 1, DEFAULT_STRLEN, MSG_DONTWAIT, NULL, 0);
+ sys_send(fd, buf + 1, DEFAULT_STRLEN);
printf("sendto(%d, ", fd);
print_quoted_memory(buf + 1, DEFAULT_STRLEN);
printf(", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- DEFAULT_STRLEN, sprintrc(rc));
+ DEFAULT_STRLEN, errstr);
- rc = sendto(fd, buf, DEFAULT_STRLEN + 1, MSG_DONTWAIT, NULL, 0);
+ sys_send(fd, buf, DEFAULT_STRLEN + 1);
printf("sendto(%d, ", fd);
print_quoted_memory(buf, DEFAULT_STRLEN);
printf("..., %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- DEFAULT_STRLEN + 1, sprintrc(rc));
+ DEFAULT_STRLEN + 1, errstr);
puts("+++ exited with 0 +++");
return 0;
diff --git a/tests-mx32/netlink_netfilter.c b/tests-mx32/netlink_netfilter.c
index db2622eb..57532f52 100644
--- a/tests-mx32/netlink_netfilter.c
+++ b/tests-mx32/netlink_netfilter.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017, 2018 Chen Jingpiao <chenjingpiao@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,9 +32,24 @@
# include <stdio.h>
# include <string.h>
# include <unistd.h>
+# include <netinet/in.h>
+# include <arpa/inet.h>
# include <sys/socket.h>
-# include "netlink.h"
+# include "test_netlink.h"
# include <linux/netfilter/nfnetlink.h>
+# ifdef HAVE_LINUX_NETFILTER_NF_TABLES_H
+# include <linux/netfilter/nf_tables.h>
+# endif
+
+# ifndef NFNETLINK_V0
+# define NFNETLINK_V0 0
+# endif
+# ifndef NFNL_SUBSYS_NFTABLES
+# define NFNL_SUBSYS_NFTABLES 10
+# endif
+# ifndef NFT_MSG_NEWTABLE
+# define NFT_MSG_NEWTABLE 0
+# endif
static void
test_nlmsg_type(const int fd)
@@ -70,6 +85,108 @@ test_nlmsg_type(const int fd)
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
+static void
+test_nlmsg_done(const int fd)
+{
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ const int num = 0xabcdefad;
+
+ TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST,
+ sizeof(num), &num, sizeof(num),
+ printf("%d", num));
+}
+
+static void
+test_nfgenmsg(const int fd)
+{
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+
+ struct nfgenmsg msg = {
+ .nfgen_family = AF_UNIX,
+ .version = NFNETLINK_V0,
+ .res_id = NFNL_SUBSYS_NFTABLES
+ };
+
+ TEST_NETLINK_OBJECT_EX_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ msg, print_quoted_hex,
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=");
+ if (htons(NFNL_SUBSYS_NFTABLES) == NFNL_SUBSYS_NFTABLES)
+ printf("htons(NFNL_SUBSYS_NFTABLES)");
+ else
+ printf("NFNL_SUBSYS_NFTABLES");
+ );
+
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)"));
+
+ msg.res_id = htons(0xabcd);
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)", 0xabcd));
+
+# ifdef NFNL_MSG_BATCH_BEGIN
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ TEST_NETLINK(fd, nlh0,
+ NFNL_MSG_BATCH_BEGIN, NLM_F_REQUEST,
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)", NFNL_SUBSYS_NFTABLES));
+
+ char str_buf[NLMSG_ALIGN(sizeof(msg)) + 4];
+
+ msg.res_id = htons(0xabcd);
+ memcpy(str_buf, &msg, sizeof(msg));
+ memcpy(str_buf + NLMSG_ALIGN(sizeof(msg)), "1234", 4);
+
+ TEST_NETLINK(fd, nlh0,
+ NFNL_MSG_BATCH_BEGIN, NLM_F_REQUEST,
+ sizeof(str_buf), str_buf, sizeof(str_buf),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)"
+ ", \"\\x31\\x32\\x33\\x34\"", 0xabcd));
+# endif /* NFNL_MSG_BATCH_BEGIN */
+
+ static const struct nlattr nla = {
+ .nla_len = sizeof(nla),
+ .nla_type = 0x0bcd
+ };
+ char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)];
+
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ memcpy(nla_buf, &msg, sizeof(msg));
+ memcpy(nla_buf + NLMSG_ALIGN(sizeof(msg)), &nla, sizeof(nla));
+
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | 0xff,
+ "NFNL_SUBSYS_NFTABLES<<8|0xff /* NFT_MSG_??? */",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(nla_buf), nla_buf, sizeof(nla_buf),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)"
+ ", {nla_len=%d, nla_type=%#x}",
+ nla.nla_len, nla.nla_type));
+}
+
int main(void)
{
skip_if_unavailable("/proc/self/fd/");
@@ -77,6 +194,8 @@ int main(void)
int fd = create_nl_socket(NETLINK_NETFILTER);
test_nlmsg_type(fd);
+ test_nlmsg_done(fd);
+ test_nfgenmsg(fd);
printf("+++ exited with 0 +++\n");
diff --git a/tests-mx32/options-syntax.test b/tests-mx32/options-syntax.test
index f81dd992..af7002b2 100755
--- a/tests-mx32/options-syntax.test
+++ b/tests-mx32/options-syntax.test
@@ -73,8 +73,9 @@ diff -u -- "$EXP" "$LOG" > /dev/null || {
"zeroargc $STRACE $args output mismatch"
}
-if [ -n "${UID-}" ]; then
- if [ "${UID-}" = 0 ]; then
+uid="${UID:-`id -u`}"
+if [ "$uid" -ge 0 ]; then
+ if [ "$uid" -eq 0 ]; then
umsg="Cannot find user ':nosuchuser:'"
else
umsg='You must be root to use the -u option'
@@ -92,9 +93,6 @@ $STRACE_EXE: -t has no effect with -c
$STRACE_EXE: -T has no effect with -c
$STRACE_EXE: -y has no effect with -c
$STRACE_EXE: $umsg" -u :nosuchuser: -cirtTy true
-
- check_e "-tt has no effect with -r
-$STRACE_EXE: $umsg" -u :nosuchuser: -r -tt true
fi
args='-p 2147483647'
diff --git a/tests-mx32/perf_event_open.c b/tests-mx32/perf_event_open.c
index 667c31f4..17d3f228 100644
--- a/tests-mx32/perf_event_open.c
+++ b/tests-mx32/perf_event_open.c
@@ -35,7 +35,6 @@
# include <inttypes.h>
# include <limits.h>
-# include <stdbool.h>
# include <stddef.h>
# include <stdio.h>
# include <stdlib.h>
diff --git a/tests-mx32/pread64-pwrite64.c b/tests-mx32/pread64-pwrite64.c
index e9d7a645..a182ab5d 100644
--- a/tests-mx32/pread64-pwrite64.c
+++ b/tests-mx32/pread64-pwrite64.c
@@ -2,7 +2,7 @@
* Check decoding of pread64 and pwrite64 syscalls.
*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -169,6 +169,7 @@ main(void)
if (rc != -1)
perror_msg_and_fail("pwrite64: expected -1, returned %ld", rc);
tprintf("pwrite64(1, \"\\0\", 1, -3) = -1 EINVAL (%m)\n");
+ dump_str(nil, 1);
rc = pwrite(1, w, w_len, 0);
if (rc != (int) w_len)
diff --git a/tests-mx32/print_quoted_string.c b/tests-mx32/print_quoted_string.c
index 2894e49b..3ca56318 100644
--- a/tests-mx32/print_quoted_string.c
+++ b/tests-mx32/print_quoted_string.c
@@ -10,6 +10,12 @@
*/
void
+print_quoted_string_ex(const char *instr, bool quote, const char *escape_chars)
+{
+ print_quoted_memory_ex(instr, strlen(instr), quote, escape_chars);
+}
+
+void
print_quoted_string(const char *instr)
{
print_quoted_memory(instr, strlen(instr));
@@ -27,13 +33,39 @@ print_quoted_cstring(const char *instr, const size_t size)
}
}
+static void
+print_octal(unsigned char c, char next)
+{
+ putchar('\\');
+
+ char c1 = '0' + (c & 0x7);
+ char c2 = '0' + ((c >> 3) & 0x7);
+ char c3 = '0' + (c >> 6);
+
+ if (next >= '0' && next <= '7') {
+ /* Print \octal */
+ putchar(c3);
+ putchar(c2);
+ } else {
+ /* Print \[[o]o]o */
+ if (c3 != '0')
+ putchar(c3);
+ if (c3 != '0' || c2 != '0')
+ putchar(c2);
+ }
+ putchar(c1);
+}
+
void
-print_quoted_memory(const void *const instr, const size_t len)
+print_quoted_memory_ex(const void *const instr, const size_t len,
+ bool quote, const char *escape_chars)
{
const unsigned char *str = (const unsigned char *) instr;
size_t i;
- putchar('"');
+ if (quote)
+ putchar('"');
+
for (i = 0; i < len; ++i) {
const int c = str[i];
switch (c) {
@@ -59,33 +91,26 @@ print_quoted_memory(const void *const instr, const size_t len)
printf("\\v");
break;
default:
- if (c >= ' ' && c <= 0x7e)
+ if (c >= ' ' && c <= 0x7e &&
+ !(escape_chars && strchr(escape_chars, c))) {
putchar(c);
- else {
- putchar('\\');
-
- char c1 = '0' + (c & 0x7);
- char c2 = '0' + ((c >> 3) & 0x7);
- char c3 = '0' + (c >> 6);
-
- if (*str >= '0' && *str <= '9') {
- /* Print \octal */
- putchar(c3);
- putchar(c2);
- } else {
- /* Print \[[o]o]o */
- if (c3 != '0')
- putchar(c3);
- if (c3 != '0' || c2 != '0')
- putchar(c2);
- }
- putchar(c1);
+ } else {
+ print_octal(c,
+ i < (len - 1) ? str[i + 1] : 0);
}
+
break;
}
}
- putchar('"');
+ if (quote)
+ putchar('"');
+}
+
+void
+print_quoted_memory(const void *const instr, const size_t len)
+{
+ print_quoted_memory_ex(instr, len, true, NULL);
}
void
diff --git a/tests-mx32/ptrace.c b/tests-mx32/ptrace.c
index c70d5689..5c09fa32 100644
--- a/tests-mx32/ptrace.c
+++ b/tests-mx32/ptrace.c
@@ -33,7 +33,9 @@
#include <errno.h>
#include "ptrace.h"
+#include <inttypes.h>
#include <signal.h>
+#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/wait.h>
@@ -177,6 +179,8 @@ main(void)
const unsigned long pid =
(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
+ uint64_t *filter_off = tail_alloc(sizeof(*filter_off));
+
const unsigned int sigset_size = get_sigset_size();
void *const k_set = tail_alloc(sigset_size);
@@ -246,6 +250,22 @@ main(void)
printf("ptrace(PTRACE_SECCOMP_GET_FILTER, %u, 42, NULL) = %s\n",
(unsigned) pid, errstr);
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, bad_data, 0);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, %lu, NULL) = %s\n",
+ (unsigned) pid, bad_data, errstr);
+
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, 7,
+ (unsigned long) filter_off);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, 7, %p) = %s\n",
+ (unsigned) pid, filter_off, errstr);
+
+ *filter_off = 0xfacefeeddeadc0deULL;
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, bad_data,
+ (unsigned long) filter_off);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, %lu, "
+ "{filter_off=%" PRIu64 "}) = %s\n",
+ (unsigned) pid, bad_data, *filter_off, errstr);
+
do_ptrace(PTRACE_GETEVENTMSG, pid, bad_request, bad_data);
printf("ptrace(PTRACE_GETEVENTMSG, %u, %#lx, %#lx) = %s\n",
(unsigned) pid, bad_request, bad_data, errstr);
diff --git a/tests-mx32/pure_executables.am b/tests-mx32/pure_executables.am
index 128028fe..bbb3ad9f 100644
--- a/tests-mx32/pure_executables.am
+++ b/tests-mx32/pure_executables.am
@@ -24,6 +24,7 @@ PURE_EXECUTABLES = \
copy_file_range \
creat \
delete_module \
+ dev-yy \
dup \
dup2 \
dup3 \
@@ -125,6 +126,7 @@ PURE_EXECUTABLES = \
ipc_shm \
kcmp \
kcmp-y \
+ kern_features \
kexec_file_load \
kexec_load \
keyctl \
@@ -170,6 +172,7 @@ PURE_EXECUTABLES = \
net-sockaddr \
net-y-unix \
net-yy-inet \
+ net-yy-inet6 \
net-yy-netlink \
net-yy-unix \
netlink_audit \
diff --git a/tests-mx32/pure_executables.list b/tests-mx32/pure_executables.list
index 2f602a93..d78bd4d5 100755
--- a/tests-mx32/pure_executables.list
+++ b/tests-mx32/pure_executables.list
@@ -23,6 +23,7 @@ clock_xettime
copy_file_range
creat
delete_module
+dev-yy
dup
dup2
dup3
@@ -124,6 +125,7 @@ ipc_sem
ipc_shm
kcmp
kcmp-y
+kern_features
kexec_file_load
kexec_load
keyctl
@@ -169,6 +171,7 @@ net-icmp_filter
net-sockaddr
net-y-unix
net-yy-inet
+net-yy-inet6
net-yy-netlink
net-yy-unix
netlink_audit
diff --git a/tests-mx32/qual_inject-syntax.test b/tests-mx32/qual_inject-syntax.test
index 46cead28..20bc0c3b 100755
--- a/tests-mx32/qual_inject-syntax.test
+++ b/tests-mx32/qual_inject-syntax.test
@@ -84,7 +84,9 @@ for arg in 42 chdir \
chdir:when=65536:error=30 \
chdir:when=1+65536 \
chdir:when=1+65536:error=31 \
- chdir:retval=-1 \
+ chdir:retval=a \
+ chdir:retval=0b \
+ chdir:retval=0x10000000000000000 \
chdir:signal=0 \
chdir:signal=129 \
chdir:signal=1:signal=2 \
@@ -94,6 +96,12 @@ for arg in 42 chdir \
chdir:retval=0:error=1 \
chdir:error=1:retval=0 \
chdir:retval=0:signal=1:error=1 \
+ chdir:delay_enter=-1 \
+ chdir:delay_exit=-2 \
+ chdir:delay_enter=1:delay_enter=2 \
+ chdir:delay_exit=3:delay_exit=4 \
+ chdir:delay_enter=5:delay_exit=6:delay_enter=7 \
+ chdir:delay_exit=8:delay_enter=9:delay_exit=10 \
; do
$STRACE -e inject="$arg" true 2> "$LOG" &&
fail_with "$arg"
diff --git a/tests-mx32/read-write.c b/tests-mx32/read-write.c
index ed4c64d4..6a978b36 100644
--- a/tests-mx32/read-write.c
+++ b/tests-mx32/read-write.c
@@ -2,7 +2,7 @@
* Check decoding and dumping of read and write syscalls.
*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,15 @@
static void
dump_str(const char *str, const unsigned int len)
{
- static const char dots[16] = "................";
+ static const char chars[256] =
+ "................................"
+ " !\"#$%&'()*+,-./0123456789:;<=>?"
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
+ "`abcdefghijklmnopqrstuvwxyz{|}~."
+ "................................"
+ "................................"
+ "................................"
+ "................................";
unsigned int i;
for (i = 0; i < len; i += 16) {
@@ -47,7 +55,7 @@ dump_str(const char *str, const unsigned int len)
const char *dump = hexdump_memdup(str + i, n);
tprintf(" | %05x %-49s %-16.*s |\n",
- i, dump, n, dots);
+ i, dump, n, chars + i);
free((void *) dump);
}
@@ -59,9 +67,16 @@ print_hex(const char *str, const unsigned int len)
const unsigned char *ustr = (const unsigned char *) str;
unsigned int i;
+ tprintf("\"");
+
for (i = 0; i < len; ++i) {
unsigned int c = ustr[i];
+ if (i >= DEFAULT_STRLEN) {
+ tprintf("\"...");
+ return;
+ }
+
switch (c) {
case '\t':
tprintf("\\t"); break;
@@ -77,6 +92,8 @@ print_hex(const char *str, const unsigned int len)
tprintf("\\%o", ustr[i]);
}
}
+
+ tprintf("\"");
}
static long
@@ -94,9 +111,12 @@ k_write(unsigned int fd, const void *buf, size_t count)
}
static void
-test_dump(const unsigned int len)
+test_dump(const unsigned int len, bool err_desc)
{
static char *buf;
+ const char *rc_str;
+ int in_fd = err_desc ? 5 : 0;
+ int out_fd = err_desc ? 4 : 1;
if (buf) {
size_t ps1 = get_page_size() - 1;
@@ -105,28 +125,34 @@ test_dump(const unsigned int len)
buf = tail_alloc(len);
}
- long rc = k_read(0, buf, len);
- if (rc != (int) len)
+ long rc = k_read(in_fd, buf, len);
+ rc_str = sprintrc(rc);
+ if (err_desc ^ (rc != (int) len))
perror_msg_and_fail("read: expected %d, returned %ld",
- len, rc);
+ err_desc ? -1 : (int) len, rc);
- tprintf("%s(%d, \"", "read", 0);
- print_hex(buf, len);
- tprintf("\", %d) = %ld\n", len, rc);
- dump_str(buf, len);
+ tprintf("%s(%d, ", "read", in_fd);
+ if (!err_desc)
+ print_hex(buf, len);
+ else
+ tprintf("%p", buf);
+ tprintf(", %d) = %s\n", len, rc_str);
+ if (!err_desc)
+ dump_str(buf, len);
unsigned int i;
for (i = 0; i < len; ++i)
buf[i] = i;
- rc = k_write(1, buf, len);
- if (rc != (int) len)
+ rc = k_write(out_fd, buf, len);
+ rc_str = sprintrc(rc);
+ if (err_desc ^ (rc != (int) len))
perror_msg_and_fail("write: expected %d, returned %ld",
- len, rc);
+ err_desc ? -1 : (int) len, rc);
- tprintf("%s(%d, \"", "write", 1);
+ tprintf("%s(%d, ", "write", out_fd);
print_hex(buf, len);
- tprintf("\", %d) = %ld\n", len, rc);
+ tprintf(", %d) = %s\n", len, rc_str);
dump_str(buf, len);
if (!len)
@@ -218,9 +244,17 @@ main(void)
if (open("/dev/null", O_WRONLY) != 1)
perror_msg_and_fail("open");
+ if (open("/dev/zero", O_RDONLY) != 4)
+ perror_msg_and_fail("open");
+
+ if (open("/dev/null", O_WRONLY) != 5)
+ perror_msg_and_fail("open");
+
unsigned int i;
- for (i = 0; i <= 32; ++i)
- test_dump(i);
+ for (i = 0; i <= DEFAULT_STRLEN; ++i)
+ test_dump(i, false);
+
+ test_dump(256, true);
tprintf("+++ exited with 0 +++\n");
return 0;
diff --git a/tests-mx32/read-write.gen.test b/tests-mx32/read-write.gen.test
index df1b3fb3..c66628f2 100755
--- a/tests-mx32/read-write.gen.test
+++ b/tests-mx32/read-write.gen.test
@@ -1,4 +1,4 @@
#!/bin/sh -efu
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+run_strace_match_diff -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests-mx32/remap_file_pages.c b/tests-mx32/remap_file_pages.c
index 4e409630..f861b306 100644
--- a/tests-mx32/remap_file_pages.c
+++ b/tests-mx32/remap_file_pages.c
@@ -2,6 +2,7 @@
* Check decoding of remap_file_pages syscall.
*
* Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -81,13 +82,21 @@ main(void)
k_remap_file_pages(addr, size, prot, pgoff, flags);
printf("remap_file_pages(%#jx, %ju, %s, %ju"
- ", %#x /* MAP_??? */"
+/*
+ * HP PA-RISC is the only architecture that has MAP_TYPE defined to 0x3, which
+ * is also used for MAP_SHARED_VALIDATE since Linux commit v4.15-rc1~71^2^2~23.
+ */
+# ifdef __hppa__
+ ", MAP_SHARED_VALIDATE"
+# else
+ ", 0xf /* MAP_??? */"
+# endif
"|MAP_FIXED|MAP_NORESERVE|MAP_HUGETLB|21<<MAP_HUGE_SHIFT)"
" = %s\n",
(uintmax_t) addr, (uintmax_t) size,
prot == PROT_NONE ? "PROT_NONE" :
"0xdefaced00000000 /* PROT_??? */",
- (uintmax_t) pgoff, MAP_TYPE, errstr);
+ (uintmax_t) pgoff, errstr);
#endif /* MAP_HUGETLB */
puts("+++ exited with 0 +++");
diff --git a/tests-mx32/s390_guarded_storage.c b/tests-mx32/s390_guarded_storage.c
index ab67c158..69ac166d 100644
--- a/tests-mx32/s390_guarded_storage.c
+++ b/tests-mx32/s390_guarded_storage.c
@@ -33,7 +33,6 @@
#if defined __NR_s390_guarded_storage && defined HAVE_ASM_GUARDED_STORAGE_H
# include <inttypes.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
diff --git a/tests-mx32/s390_pci_mmio_read_write.c b/tests-mx32/s390_pci_mmio_read_write.c
index b493948d..9383d6ed 100644
--- a/tests-mx32/s390_pci_mmio_read_write.c
+++ b/tests-mx32/s390_pci_mmio_read_write.c
@@ -33,7 +33,6 @@
#if defined __NR_s390_pci_mmio_read && defined __NR_s390_pci_mmio_write
# include <errno.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
diff --git a/tests-mx32/s390_sthyi.c b/tests-mx32/s390_sthyi.c
index 8b241dd2..8f6bbfb1 100644
--- a/tests-mx32/s390_sthyi.c
+++ b/tests-mx32/s390_sthyi.c
@@ -35,7 +35,6 @@
# include <errno.h>
# include <iconv.h>
# include <inttypes.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
@@ -48,7 +47,7 @@
# define VERBOSE 0
# endif
-static bool
+static inline bool
print_0x8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
if (!zero && !buf[offs])
@@ -59,7 +58,7 @@ print_0x8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
if (!zero && !buf[offs])
@@ -70,7 +69,7 @@ print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_u16(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
uint16_t val = *(uint16_t *) (buf + offs);
@@ -83,7 +82,7 @@ print_u16(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_x32(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
uint32_t val = *(uint32_t *) (buf + offs);
@@ -96,7 +95,7 @@ print_x32(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_weight(const char *prefix, unsigned char *buf, unsigned int offs,
bool zero)
{
@@ -115,7 +114,7 @@ print_weight(const char *prefix, unsigned char *buf, unsigned int offs,
return false;
}
-static char *
+static inline char *
ebcdic2ascii(unsigned char *ebcdic, size_t size)
{
static char ascii_buf[EBCDIC_MAX_LEN];
@@ -169,8 +168,7 @@ ebcdic2ascii_end:
return ascii_buf;
}
-# if VERBOSE
-static bool
+static inline bool
is_empty(unsigned char *ptr, size_t size)
{
size_t i;
@@ -180,9 +178,8 @@ is_empty(unsigned char *ptr, size_t size)
return i == size;
}
-# endif /* !VERBOSE */
-static bool
+static inline bool
print_ebcdic(const char *prefix, unsigned char *addr, unsigned int offs,
size_t size, bool zero, bool blank)
{
@@ -768,7 +765,7 @@ main(void)
rc = syscall(__NR_s390_sthyi, 0, buf, ret, 0);
if (rc)
- error_msg_and_fail("syscall(__NR_s390_sthyi, 0, buf, ret, 0) "
+ error_msg_and_skip("syscall(__NR_s390_sthyi, 0, buf, ret, 0) "
"returned unexpected value of %ld", rc);
printf("s390_sthyi(STHYI_FC_CP_IFL_CAP, ");
diff --git a/tests-mx32/sched_xetattr.c b/tests-mx32/sched_xetattr.c
index a9bd2baa..73cd5ecb 100644
--- a/tests-mx32/sched_xetattr.c
+++ b/tests-mx32/sched_xetattr.c
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -202,7 +203,7 @@ main(void)
attr->size = 0x90807060;
attr->sched_policy = 0xca7faced;
- attr->sched_flags = 0xbadc0ded1057da7aULL;
+ attr->sched_flags = 0xbadc0ded1057da78ULL;
attr->sched_nice = 0xafbfcfdf;
attr->sched_priority = 0xb8c8d8e8;
attr->sched_runtime = 0xbadcaffedeadf157ULL;
@@ -239,6 +240,46 @@ main(void)
(unsigned long long) ill, errstr);
}
+
+ attr->size = 0x90807060;
+ attr->sched_policy = 0xca7faced;
+ attr->sched_flags = 0xfULL;
+ attr->sched_nice = 0xafbfcfdf;
+ attr->sched_priority = 0xb8c8d8e8;
+ attr->sched_runtime = 0xbadcaffedeadf157ULL;
+ attr->sched_deadline = 0xc0de70a57badac75ULL;
+ attr->sched_period = 0xded1ca7edda7aca7ULL;
+
+ sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
+ printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
+ "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
+ "SCHED_FLAG_DL_OVERRUN|0x8, "
+ "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
+ "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 ", ...}, %u)"
+ " = %s\n",
+ (int) bogus_pid,
+ attr->size,
+ attr->sched_policy,
+ attr->sched_nice,
+ attr->sched_priority,
+ attr->sched_runtime,
+ attr->sched_deadline,
+ attr->sched_period,
+ (unsigned) bogus_flags, errstr);
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
+
+ sys_sched_getattr(0, ill, sizeof(*attr), 0);
+ printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
+ (unsigned long long) ill, (unsigned) sizeof(*attr),
+ errstr);
+
+ sys_sched_setattr(0, ill, 0);
+ printf("sched_setattr(0, %#llx, 0) = %s\n",
+ (unsigned long long) ill, errstr);
+ }
+
puts("+++ exited with 0 +++");
return 0;
}
diff --git a/tests-mx32/scno_tampering.sh b/tests-mx32/scno_tampering.sh
index 282f2f31..bae8a074 100755
--- a/tests-mx32/scno_tampering.sh
+++ b/tests-mx32/scno_tampering.sh
@@ -3,7 +3,7 @@
# Skip the test if arch+kernel combination is not supported.
#
# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2016-2017 The strace developers.
+# Copyright (c) 2016-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -50,7 +50,7 @@ case "$STRACE_ARCH" in
require_min_kernel_version_or_skip 4.5 ;;
mips)
# Only the native ABI is supported by the kernel properly, see
- # https://sourceforge.net/p/strace/mailman/message/35587571/
+ # https://lists.strace.io/pipermail/strace-devel/2017-January/005896.html
msg_prefix="mips $MIPS_ABI scno tampering does not work"
uname_m="$(uname -m)"
case "$MIPS_ABI:$uname_m" in
diff --git a/tests-mx32/test_printstrn.c b/tests-mx32/test_printstrn.c
index bc9c7752..7312971d 100644
--- a/tests-mx32/test_printstrn.c
+++ b/tests-mx32/test_printstrn.c
@@ -2,6 +2,7 @@
* Test printstrn/umoven.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -75,6 +76,15 @@ test_efault(const unsigned int test_max)
}
}
+static void
+test_print_memory(char *const p, const unsigned int test_max)
+{
+ add_key(p, test_max);
+ printf("add_key(NULL, NULL, ");
+ print_quoted_memory(p, test_max);
+ printf(", %u, KEY_SPEC_THREAD_KEYRING) = %s\n", test_max, errstr);
+}
+
void
test_printstrn(const unsigned int test_max)
{
@@ -99,4 +109,11 @@ test_printstrn(const unsigned int test_max)
for (i = 0; i < sizeof(long); ++i)
test_printstrn_at(p + page_size - i, test_max);
test_efault(test_max);
+
+ fill_memory_ex(p, test_max + page_size, 0x00, 0xFF);
+ /* Test corner cases when octal quoting goes before digit */
+ for (i = 0; i < 11; i++)
+ p[2 + 3 * i] = '0' + i - 1;
+
+ test_print_memory(p, test_max);
}
diff --git a/tests-mx32/tests.h b/tests-mx32/tests.h
index 1c66c265..3bf454dd 100644
--- a/tests-mx32/tests.h
+++ b/tests-mx32/tests.h
@@ -29,14 +29,25 @@
#ifndef STRACE_TESTS_H
#define STRACE_TESTS_H
-# ifdef HAVE_CONFIG_H
-# include "config.h"
-# endif
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef TESTS_SIZEOF_KERNEL_LONG_T
+# undef SIZEOF_KERNEL_LONG_T
+# define SIZEOF_KERNEL_LONG_T TESTS_SIZEOF_KERNEL_LONG_T
+#endif
+
+#ifdef TESTS_SIZEOF_LONG
+# undef SIZEOF_LONG
+# define SIZEOF_LONG TESTS_SIZEOF_LONG
+#endif
-# include <sys/types.h>
-# include "kernel_types.h"
-# include "gcc_compat.h"
-# include "macros.h"
+#include <stdbool.h>
+#include <sys/types.h>
+#include "kernel_types.h"
+#include "gcc_compat.h"
+#include "macros.h"
/*
* The printf-like function to use in header files
@@ -140,6 +151,9 @@ const char *hexquote_strndup(const char *, size_t);
/* Return inode number of socket descriptor. */
unsigned long inode_of_sockfd(int);
+/* Print string in a quoted form with optional escape characters. */
+void print_quoted_string_ex(const char *, bool quote, const char *escape_str);
+
/* Print string in a quoted form. */
void print_quoted_string(const char *);
@@ -149,6 +163,10 @@ void print_quoted_string(const char *);
*/
void print_quoted_cstring(const char *str, size_t size);
+/* Print memory in a quoted form with optional escape characters. */
+void print_quoted_memory_ex(const void *, size_t, bool quote,
+ const char *escape_chars);
+
/* Print memory in a quoted form. */
void print_quoted_memory(const void *, size_t);
@@ -249,19 +267,19 @@ f8ill_ptr_to_kulong(const void *const ptr)
sizeof(v) == sizeof(long) ? (long long) (long) (v) : \
(long long) (v))
-# define SKIP_MAIN_UNDEFINED(arg) \
+#define SKIP_MAIN_UNDEFINED(arg) \
int main(void) { error_msg_and_skip("undefined: %s", arg); }
-# if WORDS_BIGENDIAN
-# define LL_PAIR(HI, LO) (HI), (LO)
-# else
-# define LL_PAIR(HI, LO) (LO), (HI)
-# endif
-# define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
+#if WORDS_BIGENDIAN
+# define LL_PAIR(HI, LO) (HI), (LO)
+#else
+# define LL_PAIR(HI, LO) (LO), (HI)
+#endif
+#define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
-# define _STR(_arg) #_arg
-# define ARG_STR(_arg) (_arg), #_arg
-# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+#define _STR(_arg) #_arg
+#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
diff --git a/tests-mx32/xet_thread_area_x86.c b/tests-mx32/xet_thread_area_x86.c
index 68f495cb..36591ec6 100644
--- a/tests-mx32/xet_thread_area_x86.c
+++ b/tests-mx32/xet_thread_area_x86.c
@@ -37,7 +37,6 @@
# include <assert.h>
# include <errno.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdint.h>
# include <string.h>
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 00000000..3637df7b
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,8817 @@
+# 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-2018 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 = aarch64-unknown-linux-android
+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) _newselect-P$(EXEEXT) answer$(EXEEXT) \
+ attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
+ attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
+ block_reset_raise_run$(EXEEXT) caps-abbrev$(EXEEXT) \
+ check_sigblock$(EXEEXT) check_sigign$(EXEEXT) \
+ clone_parent$(EXEEXT) clone_ptrace$(EXEEXT) count-f$(EXEEXT) \
+ delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
+ getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \
+ inject-nf$(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) \
+ is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \
+ list_sigaction_signum$(EXEEXT) localtime$(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) \
+ nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
+ oldselect-efault-P$(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) \
+ run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
+ seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+ select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \
+ set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \
+ signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+ stack-fcall-mangled$(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) zeroargc$(EXEEXT)
+##am__append_1 = strace-k-demangle.test
+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/bpf_attr.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-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) \
+ libtests_a-hexdump_strdup.$(OBJEXT) \
+ libtests_a-hexquote_strndup.$(OBJEXT) \
+ libtests_a-ifindex.$(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-test_printpath.$(OBJEXT) \
+ libtests_a-test_printstrn.$(OBJEXT) \
+ libtests_a-test_ucopy.$(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) \
+ bpf-v$(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) dev-yy$(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) fflush$(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) group_req$(EXEEXT) inet-cmsg$(EXEEXT) \
+ init_module$(EXEEXT) inotify$(EXEEXT) inotify_init1$(EXEEXT) \
+ ioctl$(EXEEXT) ioctl_block$(EXEEXT) ioctl_dm$(EXEEXT) \
+ ioctl_evdev$(EXEEXT) ioctl_kvm_run$(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) kcmp-y$(EXEEXT) \
+ kern_features$(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) modify_ldt$(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-inet6$(EXEEXT) net-yy-netlink$(EXEEXT) \
+ net-yy-unix$(EXEEXT) netlink_audit$(EXEEXT) \
+ netlink_crypto$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_kobject_uevent$(EXEEXT) netlink_netfilter$(EXEEXT) \
+ netlink_protocol$(EXEEXT) netlink_route$(EXEEXT) \
+ netlink_selinux$(EXEEXT) netlink_sock_diag$(EXEEXT) \
+ netlink_xfrm$(EXEEXT) newfstatat$(EXEEXT) \
+ nfnetlink_acct$(EXEEXT) nfnetlink_cthelper$(EXEEXT) \
+ nfnetlink_ctnetlink$(EXEEXT) nfnetlink_ctnetlink_exp$(EXEEXT) \
+ nfnetlink_cttimeout$(EXEEXT) nfnetlink_nft_compat$(EXEEXT) \
+ nfnetlink_nftables$(EXEEXT) nfnetlink_ipset$(EXEEXT) \
+ nfnetlink_osf$(EXEEXT) nfnetlink_queue$(EXEEXT) \
+ nfnetlink_ulog$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_crypto_user_alg$(EXEEXT) nlattr_br_port_msg$(EXEEXT) \
+ nlattr_dcbmsg$(EXEEXT) nlattr_fib_rule_hdr$(EXEEXT) \
+ nlattr_ifaddrlblmsg$(EXEEXT) nlattr_ifaddrmsg$(EXEEXT) \
+ nlattr_ifinfomsg$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \
+ nlattr_ifla_port$(EXEEXT) nlattr_ifla_xdp$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) \
+ nlattr_inet_diag_req_compat$(EXEEXT) \
+ nlattr_inet_diag_req_v2$(EXEEXT) \
+ nlattr_mdba_mdb_entry$(EXEEXT) \
+ nlattr_mdba_router_port$(EXEEXT) nlattr_ndmsg$(EXEEXT) \
+ nlattr_ndtmsg$(EXEEXT) nlattr_netconfmsg$(EXEEXT) \
+ nlattr_netlink_diag_msg$(EXEEXT) nlattr_nlmsgerr$(EXEEXT) \
+ nlattr_packet_diag_msg$(EXEEXT) nlattr_rtgenmsg$(EXEEXT) \
+ nlattr_rtmsg$(EXEEXT) nlattr_smc_diag_msg$(EXEEXT) \
+ nlattr_tc_stats$(EXEEXT) nlattr_tca_stab$(EXEEXT) \
+ nlattr_tcamsg$(EXEEXT) nlattr_tcmsg$(EXEEXT) \
+ nlattr_unix_diag_msg$(EXEEXT) old_mmap$(EXEEXT) \
+ old_mmap-P$(EXEEXT) old_mmap-v-none$(EXEEXT) oldfstat$(EXEEXT) \
+ oldlstat$(EXEEXT) oldselect$(EXEEXT) oldselect-efault$(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) poll-P$(EXEEXT) ppoll$(EXEEXT) ppoll-P$(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) \
+ printpath-umovestr$(EXEEXT) \
+ printpath-umovestr-peekdata$(EXEEXT) \
+ printpath-umovestr-undumpable$(EXEEXT) printstr$(EXEEXT) \
+ printstrn-umoven$(EXEEXT) printstrn-umoven-peekdata$(EXEEXT) \
+ printstrn-umoven-undumpable$(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) \
+ riscv_flush_icache$(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) \
+ s390_guarded_storage$(EXEEXT) s390_guarded_storage-v$(EXEEXT) \
+ s390_pci_mmio_read_write$(EXEEXT) s390_runtime_instr$(EXEEXT) \
+ s390_sthyi$(EXEEXT) s390_sthyi-v$(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) \
+ seccomp_get_action_avail$(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) so_linger$(EXEEXT) \
+ so_peercred$(EXEEXT) sock_filter-v$(EXEEXT) \
+ socketcall$(EXEEXT) sockopt-sol_netlink$(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) \
+ xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
+ xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
+_newselect_SOURCES = _newselect.c
+_newselect_OBJECTS = _newselect.$(OBJEXT)
+_newselect_LDADD = $(LDADD)
+_newselect_DEPENDENCIES = libtests.a
+_newselect_P_SOURCES = _newselect-P.c
+_newselect_P_OBJECTS = _newselect-P.$(OBJEXT)
+_newselect_P_LDADD = $(LDADD)
+_newselect_P_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
+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)
+bpf_DEPENDENCIES = libtests.a
+bpf_v_SOURCES = bpf-v.c
+bpf_v_OBJECTS = bpf-v.$(OBJEXT)
+bpf_v_LDADD = $(LDADD)
+bpf_v_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
+check_sigblock_SOURCES = check_sigblock.c
+check_sigblock_OBJECTS = check_sigblock.$(OBJEXT)
+check_sigblock_LDADD = $(LDADD)
+check_sigblock_DEPENDENCIES = libtests.a
+check_sigign_SOURCES = check_sigign.c
+check_sigign_OBJECTS = check_sigign.$(OBJEXT)
+check_sigign_LDADD = $(LDADD)
+check_sigign_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_LDADD = $(LDADD)
+clock_xettime_DEPENDENCIES = libtests.a
+clone_parent_SOURCES = clone_parent.c
+clone_parent_OBJECTS = clone_parent.$(OBJEXT)
+clone_parent_LDADD = $(LDADD)
+clone_parent_DEPENDENCIES = libtests.a
+clone_ptrace_SOURCES = clone_ptrace.c
+clone_ptrace_OBJECTS = clone_ptrace.$(OBJEXT)
+clone_ptrace_LDADD = $(LDADD)
+clone_ptrace_DEPENDENCIES = libtests.a
+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
+delay_SOURCES = delay.c
+delay_OBJECTS = delay.$(OBJEXT)
+am__DEPENDENCIES_1 =
+delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+delete_module_SOURCES = delete_module.c
+delete_module_OBJECTS = delete_module.$(OBJEXT)
+delete_module_LDADD = $(LDADD)
+delete_module_DEPENDENCIES = libtests.a
+dev_yy_SOURCES = dev-yy.c
+dev_yy_OBJECTS = dev-yy.$(OBJEXT)
+dev_yy_LDADD = $(LDADD)
+dev_yy_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
+fflush_SOURCES = fflush.c
+fflush_OBJECTS = fflush.$(OBJEXT)
+fflush_LDADD = $(LDADD)
+fflush_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
+fsync_y_SOURCES = fsync-y.c
+fsync_y_OBJECTS = fsync-y.$(OBJEXT)
+fsync_y_LDADD = $(LDADD)
+fsync_y_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
+group_req_SOURCES = group_req.c
+group_req_OBJECTS = group_req.$(OBJEXT)
+group_req_LDADD = $(LDADD)
+group_req_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
+inject_nf_SOURCES = inject-nf.c
+inject_nf_OBJECTS = inject-nf.$(OBJEXT)
+inject_nf_LDADD = $(LDADD)
+inject_nf_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_kvm_run_SOURCES = ioctl_kvm_run.c
+ioctl_kvm_run_OBJECTS = ioctl_kvm_run.$(OBJEXT)
+ioctl_kvm_run_LDADD = $(LDADD)
+ioctl_kvm_run_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
+is_linux_mips_n64_SOURCES = is_linux_mips_n64.c
+is_linux_mips_n64_OBJECTS = is_linux_mips_n64.$(OBJEXT)
+is_linux_mips_n64_LDADD = $(LDADD)
+is_linux_mips_n64_DEPENDENCIES = libtests.a
+kcmp_SOURCES = kcmp.c
+kcmp_OBJECTS = kcmp.$(OBJEXT)
+kcmp_LDADD = $(LDADD)
+kcmp_DEPENDENCIES = libtests.a
+kcmp_y_SOURCES = kcmp-y.c
+kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
+kcmp_y_LDADD = $(LDADD)
+kcmp_y_DEPENDENCIES = libtests.a
+kern_features_SOURCES = kern_features.c
+kern_features_OBJECTS = kern_features.$(OBJEXT)
+kern_features_LDADD = $(LDADD)
+kern_features_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
+list_sigaction_signum_SOURCES = list_sigaction_signum.c
+list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
+list_sigaction_signum_LDADD = $(LDADD)
+list_sigaction_signum_DEPENDENCIES = libtests.a
+llseek_SOURCES = llseek.c
+llseek_OBJECTS = llseek.$(OBJEXT)
+llseek_LDADD = $(LDADD)
+llseek_DEPENDENCIES = libtests.a
+localtime_SOURCES = localtime.c
+localtime_OBJECTS = localtime.$(OBJEXT)
+localtime_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+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
+modify_ldt_SOURCES = modify_ldt.c
+modify_ldt_OBJECTS = modify_ldt.$(OBJEXT)
+modify_ldt_LDADD = $(LDADD)
+modify_ldt_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 = $(am__DEPENDENCIES_1) $(LDADD)
+mq_sendrecv_SOURCES = mq_sendrecv.c
+mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
+mq_sendrecv_LDADD = $(LDADD)
+mq_sendrecv_DEPENDENCIES = libtests.a
+mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
+mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
+mq_sendrecv_read_LDADD = $(LDADD)
+mq_sendrecv_read_DEPENDENCIES = libtests.a
+mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
+mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
+mq_sendrecv_write_LDADD = $(LDADD)
+mq_sendrecv_write_DEPENDENCIES = libtests.a
+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_inet6_SOURCES = net-yy-inet6.c
+net_yy_inet6_OBJECTS = net-yy-inet6.$(OBJEXT)
+net_yy_inet6_LDADD = $(LDADD)
+net_yy_inet6_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_audit_SOURCES = netlink_audit.c
+netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
+netlink_audit_LDADD = $(LDADD)
+netlink_audit_DEPENDENCIES = libtests.a
+netlink_crypto_SOURCES = netlink_crypto.c
+netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT)
+netlink_crypto_LDADD = $(LDADD)
+netlink_crypto_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_kobject_uevent_SOURCES = netlink_kobject_uevent.c
+netlink_kobject_uevent_OBJECTS = netlink_kobject_uevent.$(OBJEXT)
+netlink_kobject_uevent_LDADD = $(LDADD)
+netlink_kobject_uevent_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)
+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_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
+nfnetlink_acct_SOURCES = nfnetlink_acct.c
+nfnetlink_acct_OBJECTS = nfnetlink_acct.$(OBJEXT)
+nfnetlink_acct_LDADD = $(LDADD)
+nfnetlink_acct_DEPENDENCIES = libtests.a
+nfnetlink_cthelper_SOURCES = nfnetlink_cthelper.c
+nfnetlink_cthelper_OBJECTS = nfnetlink_cthelper.$(OBJEXT)
+nfnetlink_cthelper_LDADD = $(LDADD)
+nfnetlink_cthelper_DEPENDENCIES = libtests.a
+nfnetlink_ctnetlink_SOURCES = nfnetlink_ctnetlink.c
+nfnetlink_ctnetlink_OBJECTS = nfnetlink_ctnetlink.$(OBJEXT)
+nfnetlink_ctnetlink_LDADD = $(LDADD)
+nfnetlink_ctnetlink_DEPENDENCIES = libtests.a
+nfnetlink_ctnetlink_exp_SOURCES = nfnetlink_ctnetlink_exp.c
+nfnetlink_ctnetlink_exp_OBJECTS = nfnetlink_ctnetlink_exp.$(OBJEXT)
+nfnetlink_ctnetlink_exp_LDADD = $(LDADD)
+nfnetlink_ctnetlink_exp_DEPENDENCIES = libtests.a
+nfnetlink_cttimeout_SOURCES = nfnetlink_cttimeout.c
+nfnetlink_cttimeout_OBJECTS = nfnetlink_cttimeout.$(OBJEXT)
+nfnetlink_cttimeout_LDADD = $(LDADD)
+nfnetlink_cttimeout_DEPENDENCIES = libtests.a
+nfnetlink_ipset_SOURCES = nfnetlink_ipset.c
+nfnetlink_ipset_OBJECTS = nfnetlink_ipset.$(OBJEXT)
+nfnetlink_ipset_LDADD = $(LDADD)
+nfnetlink_ipset_DEPENDENCIES = libtests.a
+nfnetlink_nft_compat_SOURCES = nfnetlink_nft_compat.c
+nfnetlink_nft_compat_OBJECTS = nfnetlink_nft_compat.$(OBJEXT)
+nfnetlink_nft_compat_LDADD = $(LDADD)
+nfnetlink_nft_compat_DEPENDENCIES = libtests.a
+nfnetlink_nftables_SOURCES = nfnetlink_nftables.c
+nfnetlink_nftables_OBJECTS = nfnetlink_nftables.$(OBJEXT)
+nfnetlink_nftables_LDADD = $(LDADD)
+nfnetlink_nftables_DEPENDENCIES = libtests.a
+nfnetlink_osf_SOURCES = nfnetlink_osf.c
+nfnetlink_osf_OBJECTS = nfnetlink_osf.$(OBJEXT)
+nfnetlink_osf_LDADD = $(LDADD)
+nfnetlink_osf_DEPENDENCIES = libtests.a
+nfnetlink_queue_SOURCES = nfnetlink_queue.c
+nfnetlink_queue_OBJECTS = nfnetlink_queue.$(OBJEXT)
+nfnetlink_queue_LDADD = $(LDADD)
+nfnetlink_queue_DEPENDENCIES = libtests.a
+nfnetlink_ulog_SOURCES = nfnetlink_ulog.c
+nfnetlink_ulog_OBJECTS = nfnetlink_ulog.$(OBJEXT)
+nfnetlink_ulog_LDADD = $(LDADD)
+nfnetlink_ulog_DEPENDENCIES = libtests.a
+nlattr_SOURCES = nlattr.c
+nlattr_OBJECTS = nlattr.$(OBJEXT)
+nlattr_LDADD = $(LDADD)
+nlattr_DEPENDENCIES = libtests.a
+nlattr_br_port_msg_SOURCES = nlattr_br_port_msg.c
+nlattr_br_port_msg_OBJECTS = nlattr_br_port_msg.$(OBJEXT)
+nlattr_br_port_msg_LDADD = $(LDADD)
+nlattr_br_port_msg_DEPENDENCIES = libtests.a
+nlattr_crypto_user_alg_SOURCES = nlattr_crypto_user_alg.c
+nlattr_crypto_user_alg_OBJECTS = nlattr_crypto_user_alg.$(OBJEXT)
+nlattr_crypto_user_alg_LDADD = $(LDADD)
+nlattr_crypto_user_alg_DEPENDENCIES = libtests.a
+nlattr_dcbmsg_SOURCES = nlattr_dcbmsg.c
+nlattr_dcbmsg_OBJECTS = nlattr_dcbmsg.$(OBJEXT)
+nlattr_dcbmsg_LDADD = $(LDADD)
+nlattr_dcbmsg_DEPENDENCIES = libtests.a
+nlattr_fib_rule_hdr_SOURCES = nlattr_fib_rule_hdr.c
+nlattr_fib_rule_hdr_OBJECTS = nlattr_fib_rule_hdr.$(OBJEXT)
+nlattr_fib_rule_hdr_LDADD = $(LDADD)
+nlattr_fib_rule_hdr_DEPENDENCIES = libtests.a
+nlattr_ifaddrlblmsg_SOURCES = nlattr_ifaddrlblmsg.c
+nlattr_ifaddrlblmsg_OBJECTS = nlattr_ifaddrlblmsg.$(OBJEXT)
+nlattr_ifaddrlblmsg_LDADD = $(LDADD)
+nlattr_ifaddrlblmsg_DEPENDENCIES = libtests.a
+nlattr_ifaddrmsg_SOURCES = nlattr_ifaddrmsg.c
+nlattr_ifaddrmsg_OBJECTS = nlattr_ifaddrmsg.$(OBJEXT)
+nlattr_ifaddrmsg_LDADD = $(LDADD)
+nlattr_ifaddrmsg_DEPENDENCIES = libtests.a
+nlattr_ifinfomsg_SOURCES = nlattr_ifinfomsg.c
+nlattr_ifinfomsg_OBJECTS = nlattr_ifinfomsg.$(OBJEXT)
+nlattr_ifinfomsg_LDADD = $(LDADD)
+nlattr_ifinfomsg_DEPENDENCIES = libtests.a
+nlattr_ifla_brport_SOURCES = nlattr_ifla_brport.c
+nlattr_ifla_brport_OBJECTS = nlattr_ifla_brport.$(OBJEXT)
+nlattr_ifla_brport_LDADD = $(LDADD)
+nlattr_ifla_brport_DEPENDENCIES = libtests.a
+nlattr_ifla_port_SOURCES = nlattr_ifla_port.c
+nlattr_ifla_port_OBJECTS = nlattr_ifla_port.$(OBJEXT)
+nlattr_ifla_port_LDADD = $(LDADD)
+nlattr_ifla_port_DEPENDENCIES = libtests.a
+nlattr_ifla_xdp_SOURCES = nlattr_ifla_xdp.c
+nlattr_ifla_xdp_OBJECTS = nlattr_ifla_xdp.$(OBJEXT)
+nlattr_ifla_xdp_LDADD = $(LDADD)
+nlattr_ifla_xdp_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_inet_diag_req_compat_SOURCES = nlattr_inet_diag_req_compat.c
+nlattr_inet_diag_req_compat_OBJECTS = \
+ nlattr_inet_diag_req_compat.$(OBJEXT)
+nlattr_inet_diag_req_compat_LDADD = $(LDADD)
+nlattr_inet_diag_req_compat_DEPENDENCIES = libtests.a
+nlattr_inet_diag_req_v2_SOURCES = nlattr_inet_diag_req_v2.c
+nlattr_inet_diag_req_v2_OBJECTS = nlattr_inet_diag_req_v2.$(OBJEXT)
+nlattr_inet_diag_req_v2_LDADD = $(LDADD)
+nlattr_inet_diag_req_v2_DEPENDENCIES = libtests.a
+nlattr_mdba_mdb_entry_SOURCES = nlattr_mdba_mdb_entry.c
+nlattr_mdba_mdb_entry_OBJECTS = nlattr_mdba_mdb_entry.$(OBJEXT)
+nlattr_mdba_mdb_entry_LDADD = $(LDADD)
+nlattr_mdba_mdb_entry_DEPENDENCIES = libtests.a
+nlattr_mdba_router_port_SOURCES = nlattr_mdba_router_port.c
+nlattr_mdba_router_port_OBJECTS = nlattr_mdba_router_port.$(OBJEXT)
+nlattr_mdba_router_port_LDADD = $(LDADD)
+nlattr_mdba_router_port_DEPENDENCIES = libtests.a
+nlattr_ndmsg_SOURCES = nlattr_ndmsg.c
+nlattr_ndmsg_OBJECTS = nlattr_ndmsg.$(OBJEXT)
+nlattr_ndmsg_LDADD = $(LDADD)
+nlattr_ndmsg_DEPENDENCIES = libtests.a
+nlattr_ndtmsg_SOURCES = nlattr_ndtmsg.c
+nlattr_ndtmsg_OBJECTS = nlattr_ndtmsg.$(OBJEXT)
+nlattr_ndtmsg_LDADD = $(LDADD)
+nlattr_ndtmsg_DEPENDENCIES = libtests.a
+nlattr_netconfmsg_SOURCES = nlattr_netconfmsg.c
+nlattr_netconfmsg_OBJECTS = nlattr_netconfmsg.$(OBJEXT)
+nlattr_netconfmsg_LDADD = $(LDADD)
+nlattr_netconfmsg_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_nlmsgerr_SOURCES = nlattr_nlmsgerr.c
+nlattr_nlmsgerr_OBJECTS = nlattr_nlmsgerr.$(OBJEXT)
+nlattr_nlmsgerr_LDADD = $(LDADD)
+nlattr_nlmsgerr_DEPENDENCIES = libtests.a
+nlattr_packet_diag_msg_SOURCES = nlattr_packet_diag_msg.c
+nlattr_packet_diag_msg_OBJECTS = nlattr_packet_diag_msg.$(OBJEXT)
+nlattr_packet_diag_msg_LDADD = $(LDADD)
+nlattr_packet_diag_msg_DEPENDENCIES = libtests.a
+nlattr_rtgenmsg_SOURCES = nlattr_rtgenmsg.c
+nlattr_rtgenmsg_OBJECTS = nlattr_rtgenmsg.$(OBJEXT)
+nlattr_rtgenmsg_LDADD = $(LDADD)
+nlattr_rtgenmsg_DEPENDENCIES = libtests.a
+nlattr_rtmsg_SOURCES = nlattr_rtmsg.c
+nlattr_rtmsg_OBJECTS = nlattr_rtmsg.$(OBJEXT)
+nlattr_rtmsg_LDADD = $(LDADD)
+nlattr_rtmsg_DEPENDENCIES = libtests.a
+nlattr_smc_diag_msg_SOURCES = nlattr_smc_diag_msg.c
+nlattr_smc_diag_msg_OBJECTS = nlattr_smc_diag_msg.$(OBJEXT)
+nlattr_smc_diag_msg_LDADD = $(LDADD)
+nlattr_smc_diag_msg_DEPENDENCIES = libtests.a
+nlattr_tc_stats_SOURCES = nlattr_tc_stats.c
+nlattr_tc_stats_OBJECTS = nlattr_tc_stats.$(OBJEXT)
+nlattr_tc_stats_LDADD = $(LDADD)
+nlattr_tc_stats_DEPENDENCIES = libtests.a
+nlattr_tca_stab_SOURCES = nlattr_tca_stab.c
+nlattr_tca_stab_OBJECTS = nlattr_tca_stab.$(OBJEXT)
+nlattr_tca_stab_LDADD = $(LDADD)
+nlattr_tca_stab_DEPENDENCIES = libtests.a
+nlattr_tcamsg_SOURCES = nlattr_tcamsg.c
+nlattr_tcamsg_OBJECTS = nlattr_tcamsg.$(OBJEXT)
+nlattr_tcamsg_LDADD = $(LDADD)
+nlattr_tcamsg_DEPENDENCIES = libtests.a
+nlattr_tcmsg_SOURCES = nlattr_tcmsg.c
+nlattr_tcmsg_OBJECTS = nlattr_tcmsg.$(OBJEXT)
+nlattr_tcmsg_LDADD = $(LDADD)
+nlattr_tcmsg_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)
+nsyscalls_DEPENDENCIES = libtests.a
+nsyscalls_d_SOURCES = nsyscalls-d.c
+nsyscalls_d_OBJECTS = nsyscalls-d.$(OBJEXT)
+nsyscalls_d_LDADD = $(LDADD)
+nsyscalls_d_DEPENDENCIES = libtests.a
+old_mmap_SOURCES = old_mmap.c
+old_mmap_OBJECTS = old_mmap.$(OBJEXT)
+old_mmap_LDADD = $(LDADD)
+old_mmap_DEPENDENCIES = libtests.a
+old_mmap_P_SOURCES = old_mmap-P.c
+old_mmap_P_OBJECTS = old_mmap-P.$(OBJEXT)
+old_mmap_P_LDADD = $(LDADD)
+old_mmap_P_DEPENDENCIES = libtests.a
+old_mmap_v_none_SOURCES = old_mmap-v-none.c
+old_mmap_v_none_OBJECTS = old_mmap-v-none.$(OBJEXT)
+old_mmap_v_none_LDADD = $(LDADD)
+old_mmap_v_none_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
+oldselect_P_SOURCES = oldselect-P.c
+oldselect_P_OBJECTS = oldselect-P.$(OBJEXT)
+oldselect_P_LDADD = $(LDADD)
+oldselect_P_DEPENDENCIES = libtests.a
+oldselect_efault_SOURCES = oldselect-efault.c
+oldselect_efault_OBJECTS = oldselect-efault.$(OBJEXT)
+oldselect_efault_LDADD = $(LDADD)
+oldselect_efault_DEPENDENCIES = libtests.a
+oldselect_efault_P_SOURCES = oldselect-efault-P.c
+oldselect_efault_P_OBJECTS = oldselect-efault-P.$(OBJEXT)
+oldselect_efault_P_LDADD = $(LDADD)
+oldselect_efault_P_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)
+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
+poll_P_SOURCES = poll-P.c
+poll_P_OBJECTS = poll-P.$(OBJEXT)
+poll_P_LDADD = $(LDADD)
+poll_P_DEPENDENCIES = libtests.a
+ppoll_SOURCES = ppoll.c
+ppoll_OBJECTS = ppoll.$(OBJEXT)
+ppoll_LDADD = $(LDADD)
+ppoll_DEPENDENCIES = libtests.a
+ppoll_P_SOURCES = ppoll-P.c
+ppoll_P_OBJECTS = ppoll-P.$(OBJEXT)
+ppoll_P_LDADD = $(LDADD)
+ppoll_P_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
+printpath_umovestr_SOURCES = printpath-umovestr.c
+printpath_umovestr_OBJECTS = printpath-umovestr.$(OBJEXT)
+printpath_umovestr_LDADD = $(LDADD)
+printpath_umovestr_DEPENDENCIES = libtests.a
+printpath_umovestr_peekdata_SOURCES = printpath-umovestr-peekdata.c
+printpath_umovestr_peekdata_OBJECTS = \
+ printpath-umovestr-peekdata.$(OBJEXT)
+printpath_umovestr_peekdata_LDADD = $(LDADD)
+printpath_umovestr_peekdata_DEPENDENCIES = libtests.a
+printpath_umovestr_undumpable_SOURCES = \
+ printpath-umovestr-undumpable.c
+printpath_umovestr_undumpable_OBJECTS = \
+ printpath-umovestr-undumpable.$(OBJEXT)
+printpath_umovestr_undumpable_LDADD = $(LDADD)
+printpath_umovestr_undumpable_DEPENDENCIES = libtests.a
+printstr_SOURCES = printstr.c
+printstr_OBJECTS = printstr.$(OBJEXT)
+printstr_LDADD = $(LDADD)
+printstr_DEPENDENCIES = libtests.a
+printstrn_umoven_SOURCES = printstrn-umoven.c
+printstrn_umoven_OBJECTS = printstrn-umoven.$(OBJEXT)
+printstrn_umoven_LDADD = $(LDADD)
+printstrn_umoven_DEPENDENCIES = libtests.a
+printstrn_umoven_peekdata_SOURCES = printstrn-umoven-peekdata.c
+printstrn_umoven_peekdata_OBJECTS = \
+ printstrn-umoven-peekdata.$(OBJEXT)
+printstrn_umoven_peekdata_LDADD = $(LDADD)
+printstrn_umoven_peekdata_DEPENDENCIES = libtests.a
+printstrn_umoven_undumpable_SOURCES = printstrn-umoven-undumpable.c
+printstrn_umoven_undumpable_OBJECTS = \
+ printstrn-umoven-undumpable.$(OBJEXT)
+printstrn_umoven_undumpable_LDADD = $(LDADD)
+printstrn_umoven_undumpable_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
+riscv_flush_icache_SOURCES = riscv_flush_icache.c
+riscv_flush_icache_OBJECTS = riscv_flush_icache.$(OBJEXT)
+riscv_flush_icache_LDADD = $(LDADD)
+riscv_flush_icache_DEPENDENCIES = libtests.a
+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)
+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
+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
+s390_guarded_storage_SOURCES = s390_guarded_storage.c
+s390_guarded_storage_OBJECTS = s390_guarded_storage.$(OBJEXT)
+s390_guarded_storage_LDADD = $(LDADD)
+s390_guarded_storage_DEPENDENCIES = libtests.a
+s390_guarded_storage_v_SOURCES = s390_guarded_storage-v.c
+s390_guarded_storage_v_OBJECTS = s390_guarded_storage-v.$(OBJEXT)
+s390_guarded_storage_v_LDADD = $(LDADD)
+s390_guarded_storage_v_DEPENDENCIES = libtests.a
+s390_pci_mmio_read_write_SOURCES = s390_pci_mmio_read_write.c
+s390_pci_mmio_read_write_OBJECTS = s390_pci_mmio_read_write.$(OBJEXT)
+s390_pci_mmio_read_write_LDADD = $(LDADD)
+s390_pci_mmio_read_write_DEPENDENCIES = libtests.a
+s390_runtime_instr_SOURCES = s390_runtime_instr.c
+s390_runtime_instr_OBJECTS = s390_runtime_instr.$(OBJEXT)
+s390_runtime_instr_LDADD = $(LDADD)
+s390_runtime_instr_DEPENDENCIES = libtests.a
+s390_sthyi_SOURCES = s390_sthyi.c
+s390_sthyi_OBJECTS = s390_sthyi.$(OBJEXT)
+s390_sthyi_LDADD = $(LDADD)
+s390_sthyi_DEPENDENCIES = libtests.a
+s390_sthyi_v_SOURCES = s390_sthyi-v.c
+s390_sthyi_v_OBJECTS = s390_sthyi-v.$(OBJEXT)
+s390_sthyi_v_LDADD = $(LDADD)
+s390_sthyi_v_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
+seccomp_get_action_avail_SOURCES = seccomp_get_action_avail.c
+seccomp_get_action_avail_OBJECTS = seccomp_get_action_avail.$(OBJEXT)
+seccomp_get_action_avail_LDADD = $(LDADD)
+seccomp_get_action_avail_DEPENDENCIES = libtests.a
+select_SOURCES = select.c
+select_OBJECTS = select.$(OBJEXT)
+select_LDADD = $(LDADD)
+select_DEPENDENCIES = libtests.a
+select_P_SOURCES = select-P.c
+select_P_OBJECTS = select-P.$(OBJEXT)
+select_P_LDADD = $(LDADD)
+select_P_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
+set_sigblock_SOURCES = set_sigblock.c
+set_sigblock_OBJECTS = set_sigblock.$(OBJEXT)
+set_sigblock_LDADD = $(LDADD)
+set_sigblock_DEPENDENCIES = libtests.a
+set_sigign_SOURCES = set_sigign.c
+set_sigign_OBJECTS = set_sigign.$(OBJEXT)
+set_sigign_LDADD = $(LDADD)
+set_sigign_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_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)
+signal_receive_DEPENDENCIES = libtests.a
+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)
+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
+so_linger_SOURCES = so_linger.c
+so_linger_OBJECTS = so_linger.$(OBJEXT)
+so_linger_LDADD = $(LDADD)
+so_linger_DEPENDENCIES = libtests.a
+so_peercred_SOURCES = so_peercred.c
+so_peercred_OBJECTS = so_peercred.$(OBJEXT)
+so_peercred_LDADD = $(LDADD)
+so_peercred_DEPENDENCIES = libtests.a
+sock_filter_v_SOURCES = sock_filter-v.c
+sock_filter_v_OBJECTS = sock_filter-v.$(OBJEXT)
+sock_filter_v_LDADD = $(LDADD)
+sock_filter_v_DEPENDENCIES = libtests.a
+socketcall_SOURCES = socketcall.c
+socketcall_OBJECTS = socketcall.$(OBJEXT)
+socketcall_LDADD = $(LDADD)
+socketcall_DEPENDENCIES = libtests.a
+sockopt_sol_netlink_SOURCES = sockopt-sol_netlink.c
+sockopt_sol_netlink_OBJECTS = sockopt-sol_netlink.$(OBJEXT)
+sockopt_sol_netlink_LDADD = $(LDADD)
+sockopt_sol_netlink_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
+am_stack_fcall_mangled_OBJECTS = stack-fcall-mangled.$(OBJEXT) \
+ stack-fcall-mangled-0.$(OBJEXT) \
+ stack-fcall-mangled-1.$(OBJEXT) \
+ stack-fcall-mangled-2.$(OBJEXT) \
+ stack-fcall-mangled-3.$(OBJEXT)
+stack_fcall_mangled_OBJECTS = $(am_stack_fcall_mangled_OBJECTS)
+stack_fcall_mangled_LDADD = $(LDADD)
+stack_fcall_mangled_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 = $(am__DEPENDENCIES_1) $(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 = $(am__DEPENDENCIES_1) $(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
+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)
+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
+xet_thread_area_x86_SOURCES = xet_thread_area_x86.c
+xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT)
+xet_thread_area_x86_LDADD = $(LDADD)
+xet_thread_area_x86_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
+zeroargc_SOURCES = zeroargc.c
+zeroargc_OBJECTS = zeroargc.$(OBJEXT)
+zeroargc_LDADD = $(LDADD)
+zeroargc_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 _newselect-P.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 block_reset_raise_run.c bpf.c bpf-v.c brk.c \
+ btrfs.c caps.c caps-abbrev.c check_sigblock.c check_sigign.c \
+ chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+ clock_nanosleep.c clock_xettime.c clone_parent.c \
+ clone_ptrace.c copy_file_range.c count-f.c creat.c delay.c \
+ delete_module.c dev-yy.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 fflush.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 fsync-y.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 group_req.c inet-cmsg.c \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
+ nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
+ nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
+ nlattr_br_port_msg.c nlattr_crypto_user_alg.c nlattr_dcbmsg.c \
+ nlattr_fib_rule_hdr.c nlattr_ifaddrlblmsg.c nlattr_ifaddrmsg.c \
+ nlattr_ifinfomsg.c nlattr_ifla_brport.c nlattr_ifla_port.c \
+ nlattr_ifla_xdp.c nlattr_inet_diag_msg.c \
+ nlattr_inet_diag_req_compat.c nlattr_inet_diag_req_v2.c \
+ nlattr_mdba_mdb_entry.c nlattr_mdba_router_port.c \
+ nlattr_ndmsg.c nlattr_ndtmsg.c nlattr_netconfmsg.c \
+ nlattr_netlink_diag_msg.c nlattr_nlmsgerr.c \
+ nlattr_packet_diag_msg.c nlattr_rtgenmsg.c nlattr_rtmsg.c \
+ nlattr_smc_diag_msg.c nlattr_tc_stats.c nlattr_tca_stab.c \
+ nlattr_tcamsg.c nlattr_tcmsg.c nlattr_unix_diag_msg.c \
+ nsyscalls.c nsyscalls-d.c old_mmap.c old_mmap-P.c \
+ old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ oldselect-P.c oldselect-efault.c oldselect-efault-P.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 poll-P.c \
+ ppoll.c ppoll-P.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 printpath-umovestr.c \
+ printpath-umovestr-peekdata.c printpath-umovestr-undumpable.c \
+ printstr.c printstrn-umoven.c printstrn-umoven-peekdata.c \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.c rmdir.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 \
+ s390_guarded_storage.c s390_guarded_storage-v.c \
+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
+ s390_sthyi-v.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 seccomp_get_action_avail.c select.c \
+ select-P.c semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c set_sigblock.c set_sigign.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 so_linger.c \
+ so_peercred.c sock_filter-v.c socketcall.c \
+ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \
+ $(stack_fcall_mangled_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 \
+ 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 \
+ xet_thread_area_x86.c xetitimer.c xetpgid.c xetpriority.c \
+ xettimeofday.c zeroargc.c
+DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 block_reset_raise_run.c \
+ bpf.c bpf-v.c brk.c btrfs.c caps.c caps-abbrev.c \
+ check_sigblock.c check_sigign.c chmod.c chown.c chown32.c \
+ chroot.c clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ clone_parent.c clone_ptrace.c copy_file_range.c count-f.c \
+ creat.c delay.c delete_module.c dev-yy.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 fflush.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 fsync-y.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 group_req.c inet-cmsg.c \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
+ nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
+ nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
+ nlattr_br_port_msg.c nlattr_crypto_user_alg.c nlattr_dcbmsg.c \
+ nlattr_fib_rule_hdr.c nlattr_ifaddrlblmsg.c nlattr_ifaddrmsg.c \
+ nlattr_ifinfomsg.c nlattr_ifla_brport.c nlattr_ifla_port.c \
+ nlattr_ifla_xdp.c nlattr_inet_diag_msg.c \
+ nlattr_inet_diag_req_compat.c nlattr_inet_diag_req_v2.c \
+ nlattr_mdba_mdb_entry.c nlattr_mdba_router_port.c \
+ nlattr_ndmsg.c nlattr_ndtmsg.c nlattr_netconfmsg.c \
+ nlattr_netlink_diag_msg.c nlattr_nlmsgerr.c \
+ nlattr_packet_diag_msg.c nlattr_rtgenmsg.c nlattr_rtmsg.c \
+ nlattr_smc_diag_msg.c nlattr_tc_stats.c nlattr_tca_stab.c \
+ nlattr_tcamsg.c nlattr_tcmsg.c nlattr_unix_diag_msg.c \
+ nsyscalls.c nsyscalls-d.c old_mmap.c old_mmap-P.c \
+ old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ oldselect-P.c oldselect-efault.c oldselect-efault-P.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 poll-P.c \
+ ppoll.c ppoll-P.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 printpath-umovestr.c \
+ printpath-umovestr-peekdata.c printpath-umovestr-undumpable.c \
+ printstr.c printstrn-umoven.c printstrn-umoven-peekdata.c \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.c rmdir.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 \
+ s390_guarded_storage.c s390_guarded_storage-v.c \
+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
+ s390_sthyi-v.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 seccomp_get_action_avail.c select.c \
+ select-P.c semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c set_sigblock.c set_sigign.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 so_linger.c \
+ so_peercred.c sock_filter-v.c socketcall.c \
+ sockopt-sol_netlink.c splice.c $(stack_fcall_SOURCES) \
+ $(stack_fcall_mangled_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 \
+ 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 \
+ xet_thread_area_x86.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;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__extra_recursive_targets = check-valgrind-recursive \
+ check-valgrind-memcheck-recursive \
+ check-valgrind-helgrind-recursive check-valgrind-drd-recursive \
+ check-valgrind-sgcheck-recursive
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+#am__EXEEXT_2 = strace-k.test $(am__append_1)
+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} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing aclocal-1.14
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AUTOCONF = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoconf
+AUTOHEADER = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing autoheader
+AUTOMAKE = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing automake-1.14
+AWK = gawk
+BUILD_EXEEXT =
+BUILD_OBJEXT =
+CC = aarch64-linux-android-clang
+CCDEPMODE = depmode=gcc3
+CC_FOR_BUILD = gcc
+CFLAGS = -fPIE -fPIC
+CFLAGS_FOR_BUILD = -g -O2
+CODE_COVERAGE_CFLAGS =
+CODE_COVERAGE_CPPFLAGS =
+CODE_COVERAGE_CXXFLAGS =
+CODE_COVERAGE_ENABLED = no
+CODE_COVERAGE_LDFLAGS =
+CODE_COVERAGE_LIBS =
+COPYRIGHT_YEAR = 2018
+CPP = aarch64-linux-android-clang -E
+CPPFLAGS =
+CPPFLAGS_FOR_BUILD =
+CPP_FOR_BUILD = gcc -E
+CYGPATH_W = echo
+DEB_CHANGELOGTIME = Thu, 14 Jun 2018 16:29:09 -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 = -pie
+LDFLAGS_FOR_BUILD =
+LIBOBJS =
+LIBS =
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/missing makeinfo
+MANPAGE_DATE = 2018-04-04
+MIPS_ABI =
+MKDIR_P = /bin/mkdir -p
+OBJEXT = o
+PACKAGE = strace
+PACKAGE_BUGREPORT = strace-devel@lists.strace.io
+PACKAGE_NAME = strace
+PACKAGE_STRING = strace 4.22
+PACKAGE_TARNAME = strace
+PACKAGE_URL = https://strace.io
+PACKAGE_VERSION = 4.22
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+RANLIB = aarch64-linux-android-ranlib
+READELF = aarch64-linux-android-readelf
+RPM_CHANGELOGTIME = Thu Jun 14 2018
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+SIZEOF_KERNEL_LONG_T = 8
+SIZEOF_LONG = 8
+STRIP = aarch64-linux-android-strip
+VALGRIND = valgrind
+VALGRIND_ENABLED = yes
+VERSION = 4.22
+WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wnested-externs -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+abs_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22/tests
+abs_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22/tests
+abs_top_builddir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+abs_top_srcdir = /usr/local/google/ndkports/.out/strace/package/strace-4.22
+ac_ct_CC =
+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 = aarch64
+arch_m32 = arm
+arch_mx32 = aarch64
+arch_native = aarch64
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+cc_flags_m32 = -m32
+cc_flags_mx32 = -mx32
+clock_LIBS =
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dl_LIBS = -ldl
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = aarch64-unknown-linux-android
+host_alias = aarch64-linux-android
+host_cpu = aarch64
+host_os = linux-android
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /usr/local/google/ndkports/.out/strace/package/strace-4.22/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+libiberty_CPPFLAGS =
+libiberty_LDFLAGS =
+libiberty_LIBS =
+libunwind_CPPFLAGS =
+libunwind_LDFLAGS =
+libunwind_LIBS =
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+mq_LIBS =
+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 =
+timer_LIBS =
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+valgrind_enabled_tools = memcheck
+valgrind_tools = memcheck helgrind drd sgcheck
+OS = linux
+ARCH = aarch64
+NATIVE_ARCH = aarch64
+MPERS_NAME =
+MPERS_CC_FLAGS =
+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) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
+
+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 \
+ ifindex.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_netlink.h \
+ test_nlattr.h \
+ test_printpath.c \
+ test_printstrn.c \
+ test_ucopy.c \
+ test_ucopy.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
+
+# 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 \
+ bpf-v \
+ brk \
+ btrfs \
+ caps \
+ chmod \
+ chown \
+ chown32 \
+ chroot \
+ clock_adjtime \
+ clock_nanosleep \
+ clock_xettime \
+ copy_file_range \
+ creat \
+ delete_module \
+ dev-yy \
+ 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 \
+ fflush \
+ 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 \
+ group_req \
+ inet-cmsg \
+ init_module \
+ inotify \
+ inotify_init1 \
+ ioctl \
+ ioctl_block \
+ ioctl_dm \
+ ioctl_evdev \
+ ioctl_kvm_run \
+ 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 \
+ kcmp-y \
+ kern_features \
+ 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 \
+ modify_ldt \
+ 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-inet6 \
+ net-yy-netlink \
+ net-yy-unix \
+ netlink_audit \
+ netlink_crypto \
+ netlink_generic \
+ netlink_kobject_uevent \
+ netlink_netfilter \
+ netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
+ newfstatat \
+ nfnetlink_acct \
+ nfnetlink_cthelper \
+ nfnetlink_ctnetlink \
+ nfnetlink_ctnetlink_exp \
+ nfnetlink_cttimeout \
+ nfnetlink_nft_compat \
+ nfnetlink_nftables \
+ nfnetlink_ipset \
+ nfnetlink_osf \
+ nfnetlink_queue \
+ nfnetlink_ulog \
+ nlattr \
+ nlattr_crypto_user_alg \
+ nlattr_br_port_msg \
+ nlattr_dcbmsg \
+ nlattr_fib_rule_hdr \
+ nlattr_ifaddrlblmsg \
+ nlattr_ifaddrmsg \
+ nlattr_ifinfomsg \
+ nlattr_ifla_brport \
+ nlattr_ifla_port \
+ nlattr_ifla_xdp \
+ nlattr_inet_diag_msg \
+ nlattr_inet_diag_req_compat \
+ nlattr_inet_diag_req_v2 \
+ nlattr_mdba_mdb_entry \
+ nlattr_mdba_router_port \
+ nlattr_ndmsg \
+ nlattr_ndtmsg \
+ nlattr_netconfmsg \
+ nlattr_netlink_diag_msg \
+ nlattr_nlmsgerr \
+ nlattr_packet_diag_msg \
+ nlattr_rtgenmsg \
+ nlattr_rtmsg \
+ nlattr_smc_diag_msg \
+ nlattr_tc_stats \
+ nlattr_tca_stab \
+ nlattr_tcamsg \
+ nlattr_tcmsg \
+ nlattr_unix_diag_msg \
+ old_mmap \
+ old_mmap-P \
+ old_mmap-v-none \
+ oldfstat \
+ oldlstat \
+ oldselect \
+ oldselect-efault \
+ oldstat \
+ open \
+ openat \
+ osf_utimes \
+ pause \
+ perf_event_open \
+ personality \
+ pipe \
+ pipe2 \
+ pkey_alloc \
+ pkey_free \
+ pkey_mprotect \
+ poll \
+ poll-P \
+ ppoll \
+ ppoll-P \
+ 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 \
+ printpath-umovestr \
+ printpath-umovestr-peekdata \
+ printpath-umovestr-undumpable \
+ printstr \
+ printstrn-umoven \
+ printstrn-umoven-peekdata \
+ printstrn-umoven-undumpable \
+ 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 \
+ riscv_flush_icache \
+ rmdir \
+ rt_sigaction \
+ rt_sigpending \
+ rt_sigprocmask \
+ rt_sigqueueinfo \
+ rt_sigreturn \
+ rt_sigsuspend \
+ rt_sigtimedwait \
+ rt_tgsigqueueinfo \
+ s390_guarded_storage \
+ s390_guarded_storage-v \
+ s390_pci_mmio_read_write \
+ s390_runtime_instr \
+ s390_sthyi \
+ s390_sthyi-v \
+ sched_get_priority_mxx \
+ sched_rr_get_interval \
+ sched_xetaffinity \
+ sched_xetattr \
+ sched_xetparam \
+ sched_xetscheduler \
+ sched_yield \
+ seccomp-filter \
+ seccomp_get_action_avail \
+ 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 \
+ so_linger \
+ so_peercred \
+ sock_filter-v \
+ socketcall \
+ sockopt-sol_netlink \
+ 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 \
+ xet_thread_area_x86 \
+ xetitimer \
+ xetpgid \
+ xetpriority \
+ xettimeofday \
+ #
+
+attach_f_p_LDADD = -lpthread $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = $(mq_LIBS) $(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 = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(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
+
+stack_fcall_mangled_SOURCES = stack-fcall-mangled.c \
+ stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
+ stack-fcall-mangled-2.c stack-fcall-mangled-3.c
+
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 dev-yy.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 \
+ fsync-y.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 \
+ group_req.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_dm.gen.test ioctl_dm-v.gen.test \
+ ioctl_evdev.gen.test ioctl_evdev-v.gen.test \
+ ioctl_kvm_run.gen.test ioctl_loop.gen.test \
+ ioctl_loop-nv.gen.test ioctl_loop-v.gen.test \
+ ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 \
+ kcmp-y.gen.test kern_features.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 modify_ldt.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 net-yy-inet6.gen.test \
+ netlink_audit.gen.test netlink_crypto.gen.test \
+ netlink_generic.gen.test netlink_kobject_uevent.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 \
+ nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test \
+ nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test \
+ nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test \
+ nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test \
+ nfnetlink_osf.gen.test nfnetlink_queue.gen.test \
+ nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test \
+ nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test \
+ nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test \
+ nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test \
+ nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test \
+ nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test \
+ nlattr_inet_diag_req_compat.gen.test \
+ nlattr_inet_diag_req_v2.gen.test \
+ nlattr_mdba_mdb_entry.gen.test \
+ nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test \
+ nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test \
+ nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test \
+ nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test \
+ nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test \
+ nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test \
+ nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test \
+ nlattr_unix_diag_msg.gen.test old_mmap.gen.test \
+ old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test \
+ oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test \
+ oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test \
+ pread64-pwrite64.gen.test preadv.gen.test \
+ preadv-pwritev.gen.test preadv2-pwritev2.gen.test \
+ printstr.gen.test printpath-umovestr.gen.test \
+ printpath-umovestr-peekdata.gen.test \
+ printpath-umovestr-undumpable.gen.test \
+ printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \
+ printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test \
+ s390_guarded_storage-v.gen.test \
+ s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \
+ s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test \
+ select.gen.test select-P.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 \
+ so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test \
+ socketcall.gen.test sockopt-sol_netlink.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 $(am__append_1)
+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 \
+ ipc_msgbuf.test \
+ kern_features-fault.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 \
+ nsyscalls-d.test \
+ nsyscalls-nd.test \
+ personality.test \
+ pipe.test \
+ poll-P.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 \
+ xet_thread_area_x86.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 \
+ clone_parent.test \
+ clone_ptrace.test \
+ count-f.test \
+ count.test \
+ delay.test \
+ detach-running.test \
+ detach-sleeping.test \
+ detach-stopped.test \
+ filter-unavailable.test \
+ filtering_fd-syntax.test \
+ filtering_syscall-syntax.test \
+ fflush.test \
+ get_regs.test \
+ inject-nf.test \
+ interactive_block.test \
+ ksysent.test \
+ localtime.test \
+ opipe.test \
+ options-syntax.test \
+ pc.test \
+ printpath-umovestr-legacy.test \
+ printstrn-umoven-legacy.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 \
+ sigblock.test \
+ sigign.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
+
+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) STRACE_NATIVE_ARCH=$(NATIVE_ARCH) \
+ SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ SIZEOF_LONG=$(SIZEOF_LONG) \
+ MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(abs_srcdir)/strace.supp
+EXTRA_DIST = \
+ accept_compat.h \
+ attach-p-cmd.h \
+ 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 \
+ ipc.sh \
+ ipc_msgbuf.expected \
+ ksysent.sed \
+ lstatx.c \
+ match.awk \
+ net.expected \
+ netlink_sock_diag-v.sh \
+ pipe.expected \
+ print_user_desc.c \
+ 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 \
+ stack-fcall.h \
+ strace-C.expected \
+ strace-E.expected \
+ strace-T.expected \
+ strace-ff.expected \
+ strace-k-demangle.test \
+ strace-k.test \
+ strace-r.expected \
+ strace.supp \
+ struct_flock.c \
+ sun_path.expected \
+ syntax.sh \
+ 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)))
+BUILT_SOURCES = ksysent.h scno.h
+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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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)
+
+_newselect-P$(EXEEXT): $(_newselect_P_OBJECTS) $(_newselect_P_DEPENDENCIES) $(EXTRA__newselect_P_DEPENDENCIES)
+ @rm -f _newselect-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(_newselect_P_OBJECTS) $(_newselect_P_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)
+
+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)
+
+bpf-v$(EXEEXT): $(bpf_v_OBJECTS) $(bpf_v_DEPENDENCIES) $(EXTRA_bpf_v_DEPENDENCIES)
+ @rm -f bpf-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(bpf_v_OBJECTS) $(bpf_v_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)
+
+check_sigblock$(EXEEXT): $(check_sigblock_OBJECTS) $(check_sigblock_DEPENDENCIES) $(EXTRA_check_sigblock_DEPENDENCIES)
+ @rm -f check_sigblock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_sigblock_OBJECTS) $(check_sigblock_LDADD) $(LIBS)
+
+check_sigign$(EXEEXT): $(check_sigign_OBJECTS) $(check_sigign_DEPENDENCIES) $(EXTRA_check_sigign_DEPENDENCIES)
+ @rm -f check_sigign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(check_sigign_OBJECTS) $(check_sigign_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)
+
+clone_parent$(EXEEXT): $(clone_parent_OBJECTS) $(clone_parent_DEPENDENCIES) $(EXTRA_clone_parent_DEPENDENCIES)
+ @rm -f clone_parent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(clone_parent_OBJECTS) $(clone_parent_LDADD) $(LIBS)
+
+clone_ptrace$(EXEEXT): $(clone_ptrace_OBJECTS) $(clone_ptrace_DEPENDENCIES) $(EXTRA_clone_ptrace_DEPENDENCIES)
+ @rm -f clone_ptrace$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(clone_ptrace_OBJECTS) $(clone_ptrace_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)
+
+delay$(EXEEXT): $(delay_OBJECTS) $(delay_DEPENDENCIES) $(EXTRA_delay_DEPENDENCIES)
+ @rm -f delay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delay_OBJECTS) $(delay_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)
+
+dev-yy$(EXEEXT): $(dev_yy_OBJECTS) $(dev_yy_DEPENDENCIES) $(EXTRA_dev_yy_DEPENDENCIES)
+ @rm -f dev-yy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dev_yy_OBJECTS) $(dev_yy_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)
+
+fflush$(EXEEXT): $(fflush_OBJECTS) $(fflush_DEPENDENCIES) $(EXTRA_fflush_DEPENDENCIES)
+ @rm -f fflush$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fflush_OBJECTS) $(fflush_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)
+
+fsync-y$(EXEEXT): $(fsync_y_OBJECTS) $(fsync_y_DEPENDENCIES) $(EXTRA_fsync_y_DEPENDENCIES)
+ @rm -f fsync-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsync_y_OBJECTS) $(fsync_y_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)
+
+group_req$(EXEEXT): $(group_req_OBJECTS) $(group_req_DEPENDENCIES) $(EXTRA_group_req_DEPENDENCIES)
+ @rm -f group_req$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(group_req_OBJECTS) $(group_req_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)
+
+inject-nf$(EXEEXT): $(inject_nf_OBJECTS) $(inject_nf_DEPENDENCIES) $(EXTRA_inject_nf_DEPENDENCIES)
+ @rm -f inject-nf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(inject_nf_OBJECTS) $(inject_nf_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_kvm_run$(EXEEXT): $(ioctl_kvm_run_OBJECTS) $(ioctl_kvm_run_DEPENDENCIES) $(EXTRA_ioctl_kvm_run_DEPENDENCIES)
+ @rm -f ioctl_kvm_run$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ioctl_kvm_run_OBJECTS) $(ioctl_kvm_run_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)
+
+is_linux_mips_n64$(EXEEXT): $(is_linux_mips_n64_OBJECTS) $(is_linux_mips_n64_DEPENDENCIES) $(EXTRA_is_linux_mips_n64_DEPENDENCIES)
+ @rm -f is_linux_mips_n64$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(is_linux_mips_n64_OBJECTS) $(is_linux_mips_n64_LDADD) $(LIBS)
+
+kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES)
+ @rm -f kcmp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
+
+kcmp-y$(EXEEXT): $(kcmp_y_OBJECTS) $(kcmp_y_DEPENDENCIES) $(EXTRA_kcmp_y_DEPENDENCIES)
+ @rm -f kcmp-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
+
+kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES)
+ @rm -f kern_features$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_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)
+
+list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES)
+ @rm -f list_sigaction_signum$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
+
+llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES)
+ @rm -f llseek$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+
+localtime$(EXEEXT): $(localtime_OBJECTS) $(localtime_DEPENDENCIES) $(EXTRA_localtime_DEPENDENCIES)
+ @rm -f localtime$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(localtime_OBJECTS) $(localtime_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)
+
+modify_ldt$(EXEEXT): $(modify_ldt_OBJECTS) $(modify_ldt_DEPENDENCIES) $(EXTRA_modify_ldt_DEPENDENCIES)
+ @rm -f modify_ldt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(modify_ldt_OBJECTS) $(modify_ldt_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-inet6$(EXEEXT): $(net_yy_inet6_OBJECTS) $(net_yy_inet6_DEPENDENCIES) $(EXTRA_net_yy_inet6_DEPENDENCIES)
+ @rm -f net-yy-inet6$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(net_yy_inet6_OBJECTS) $(net_yy_inet6_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_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_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES)
+ @rm -f netlink_crypto$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_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_kobject_uevent$(EXEEXT): $(netlink_kobject_uevent_OBJECTS) $(netlink_kobject_uevent_DEPENDENCIES) $(EXTRA_netlink_kobject_uevent_DEPENDENCIES)
+ @rm -f netlink_kobject_uevent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_kobject_uevent_OBJECTS) $(netlink_kobject_uevent_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)
+
+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_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)
+
+nfnetlink_acct$(EXEEXT): $(nfnetlink_acct_OBJECTS) $(nfnetlink_acct_DEPENDENCIES) $(EXTRA_nfnetlink_acct_DEPENDENCIES)
+ @rm -f nfnetlink_acct$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_acct_OBJECTS) $(nfnetlink_acct_LDADD) $(LIBS)
+
+nfnetlink_cthelper$(EXEEXT): $(nfnetlink_cthelper_OBJECTS) $(nfnetlink_cthelper_DEPENDENCIES) $(EXTRA_nfnetlink_cthelper_DEPENDENCIES)
+ @rm -f nfnetlink_cthelper$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_cthelper_OBJECTS) $(nfnetlink_cthelper_LDADD) $(LIBS)
+
+nfnetlink_ctnetlink$(EXEEXT): $(nfnetlink_ctnetlink_OBJECTS) $(nfnetlink_ctnetlink_DEPENDENCIES) $(EXTRA_nfnetlink_ctnetlink_DEPENDENCIES)
+ @rm -f nfnetlink_ctnetlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ctnetlink_OBJECTS) $(nfnetlink_ctnetlink_LDADD) $(LIBS)
+
+nfnetlink_ctnetlink_exp$(EXEEXT): $(nfnetlink_ctnetlink_exp_OBJECTS) $(nfnetlink_ctnetlink_exp_DEPENDENCIES) $(EXTRA_nfnetlink_ctnetlink_exp_DEPENDENCIES)
+ @rm -f nfnetlink_ctnetlink_exp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ctnetlink_exp_OBJECTS) $(nfnetlink_ctnetlink_exp_LDADD) $(LIBS)
+
+nfnetlink_cttimeout$(EXEEXT): $(nfnetlink_cttimeout_OBJECTS) $(nfnetlink_cttimeout_DEPENDENCIES) $(EXTRA_nfnetlink_cttimeout_DEPENDENCIES)
+ @rm -f nfnetlink_cttimeout$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_cttimeout_OBJECTS) $(nfnetlink_cttimeout_LDADD) $(LIBS)
+
+nfnetlink_ipset$(EXEEXT): $(nfnetlink_ipset_OBJECTS) $(nfnetlink_ipset_DEPENDENCIES) $(EXTRA_nfnetlink_ipset_DEPENDENCIES)
+ @rm -f nfnetlink_ipset$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ipset_OBJECTS) $(nfnetlink_ipset_LDADD) $(LIBS)
+
+nfnetlink_nft_compat$(EXEEXT): $(nfnetlink_nft_compat_OBJECTS) $(nfnetlink_nft_compat_DEPENDENCIES) $(EXTRA_nfnetlink_nft_compat_DEPENDENCIES)
+ @rm -f nfnetlink_nft_compat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_nft_compat_OBJECTS) $(nfnetlink_nft_compat_LDADD) $(LIBS)
+
+nfnetlink_nftables$(EXEEXT): $(nfnetlink_nftables_OBJECTS) $(nfnetlink_nftables_DEPENDENCIES) $(EXTRA_nfnetlink_nftables_DEPENDENCIES)
+ @rm -f nfnetlink_nftables$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_nftables_OBJECTS) $(nfnetlink_nftables_LDADD) $(LIBS)
+
+nfnetlink_osf$(EXEEXT): $(nfnetlink_osf_OBJECTS) $(nfnetlink_osf_DEPENDENCIES) $(EXTRA_nfnetlink_osf_DEPENDENCIES)
+ @rm -f nfnetlink_osf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_osf_OBJECTS) $(nfnetlink_osf_LDADD) $(LIBS)
+
+nfnetlink_queue$(EXEEXT): $(nfnetlink_queue_OBJECTS) $(nfnetlink_queue_DEPENDENCIES) $(EXTRA_nfnetlink_queue_DEPENDENCIES)
+ @rm -f nfnetlink_queue$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_queue_OBJECTS) $(nfnetlink_queue_LDADD) $(LIBS)
+
+nfnetlink_ulog$(EXEEXT): $(nfnetlink_ulog_OBJECTS) $(nfnetlink_ulog_DEPENDENCIES) $(EXTRA_nfnetlink_ulog_DEPENDENCIES)
+ @rm -f nfnetlink_ulog$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nfnetlink_ulog_OBJECTS) $(nfnetlink_ulog_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_br_port_msg$(EXEEXT): $(nlattr_br_port_msg_OBJECTS) $(nlattr_br_port_msg_DEPENDENCIES) $(EXTRA_nlattr_br_port_msg_DEPENDENCIES)
+ @rm -f nlattr_br_port_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_br_port_msg_OBJECTS) $(nlattr_br_port_msg_LDADD) $(LIBS)
+
+nlattr_crypto_user_alg$(EXEEXT): $(nlattr_crypto_user_alg_OBJECTS) $(nlattr_crypto_user_alg_DEPENDENCIES) $(EXTRA_nlattr_crypto_user_alg_DEPENDENCIES)
+ @rm -f nlattr_crypto_user_alg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_crypto_user_alg_OBJECTS) $(nlattr_crypto_user_alg_LDADD) $(LIBS)
+
+nlattr_dcbmsg$(EXEEXT): $(nlattr_dcbmsg_OBJECTS) $(nlattr_dcbmsg_DEPENDENCIES) $(EXTRA_nlattr_dcbmsg_DEPENDENCIES)
+ @rm -f nlattr_dcbmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_dcbmsg_OBJECTS) $(nlattr_dcbmsg_LDADD) $(LIBS)
+
+nlattr_fib_rule_hdr$(EXEEXT): $(nlattr_fib_rule_hdr_OBJECTS) $(nlattr_fib_rule_hdr_DEPENDENCIES) $(EXTRA_nlattr_fib_rule_hdr_DEPENDENCIES)
+ @rm -f nlattr_fib_rule_hdr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_fib_rule_hdr_OBJECTS) $(nlattr_fib_rule_hdr_LDADD) $(LIBS)
+
+nlattr_ifaddrlblmsg$(EXEEXT): $(nlattr_ifaddrlblmsg_OBJECTS) $(nlattr_ifaddrlblmsg_DEPENDENCIES) $(EXTRA_nlattr_ifaddrlblmsg_DEPENDENCIES)
+ @rm -f nlattr_ifaddrlblmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifaddrlblmsg_OBJECTS) $(nlattr_ifaddrlblmsg_LDADD) $(LIBS)
+
+nlattr_ifaddrmsg$(EXEEXT): $(nlattr_ifaddrmsg_OBJECTS) $(nlattr_ifaddrmsg_DEPENDENCIES) $(EXTRA_nlattr_ifaddrmsg_DEPENDENCIES)
+ @rm -f nlattr_ifaddrmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifaddrmsg_OBJECTS) $(nlattr_ifaddrmsg_LDADD) $(LIBS)
+
+nlattr_ifinfomsg$(EXEEXT): $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_DEPENDENCIES) $(EXTRA_nlattr_ifinfomsg_DEPENDENCIES)
+ @rm -f nlattr_ifinfomsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifinfomsg_OBJECTS) $(nlattr_ifinfomsg_LDADD) $(LIBS)
+
+nlattr_ifla_brport$(EXEEXT): $(nlattr_ifla_brport_OBJECTS) $(nlattr_ifla_brport_DEPENDENCIES) $(EXTRA_nlattr_ifla_brport_DEPENDENCIES)
+ @rm -f nlattr_ifla_brport$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_brport_OBJECTS) $(nlattr_ifla_brport_LDADD) $(LIBS)
+
+nlattr_ifla_port$(EXEEXT): $(nlattr_ifla_port_OBJECTS) $(nlattr_ifla_port_DEPENDENCIES) $(EXTRA_nlattr_ifla_port_DEPENDENCIES)
+ @rm -f nlattr_ifla_port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_port_OBJECTS) $(nlattr_ifla_port_LDADD) $(LIBS)
+
+nlattr_ifla_xdp$(EXEEXT): $(nlattr_ifla_xdp_OBJECTS) $(nlattr_ifla_xdp_DEPENDENCIES) $(EXTRA_nlattr_ifla_xdp_DEPENDENCIES)
+ @rm -f nlattr_ifla_xdp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ifla_xdp_OBJECTS) $(nlattr_ifla_xdp_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_inet_diag_req_compat$(EXEEXT): $(nlattr_inet_diag_req_compat_OBJECTS) $(nlattr_inet_diag_req_compat_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_req_compat_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_req_compat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_req_compat_OBJECTS) $(nlattr_inet_diag_req_compat_LDADD) $(LIBS)
+
+nlattr_inet_diag_req_v2$(EXEEXT): $(nlattr_inet_diag_req_v2_OBJECTS) $(nlattr_inet_diag_req_v2_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_req_v2_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_req_v2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_req_v2_OBJECTS) $(nlattr_inet_diag_req_v2_LDADD) $(LIBS)
+
+nlattr_mdba_mdb_entry$(EXEEXT): $(nlattr_mdba_mdb_entry_OBJECTS) $(nlattr_mdba_mdb_entry_DEPENDENCIES) $(EXTRA_nlattr_mdba_mdb_entry_DEPENDENCIES)
+ @rm -f nlattr_mdba_mdb_entry$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_mdba_mdb_entry_OBJECTS) $(nlattr_mdba_mdb_entry_LDADD) $(LIBS)
+
+nlattr_mdba_router_port$(EXEEXT): $(nlattr_mdba_router_port_OBJECTS) $(nlattr_mdba_router_port_DEPENDENCIES) $(EXTRA_nlattr_mdba_router_port_DEPENDENCIES)
+ @rm -f nlattr_mdba_router_port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_mdba_router_port_OBJECTS) $(nlattr_mdba_router_port_LDADD) $(LIBS)
+
+nlattr_ndmsg$(EXEEXT): $(nlattr_ndmsg_OBJECTS) $(nlattr_ndmsg_DEPENDENCIES) $(EXTRA_nlattr_ndmsg_DEPENDENCIES)
+ @rm -f nlattr_ndmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ndmsg_OBJECTS) $(nlattr_ndmsg_LDADD) $(LIBS)
+
+nlattr_ndtmsg$(EXEEXT): $(nlattr_ndtmsg_OBJECTS) $(nlattr_ndtmsg_DEPENDENCIES) $(EXTRA_nlattr_ndtmsg_DEPENDENCIES)
+ @rm -f nlattr_ndtmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_ndtmsg_OBJECTS) $(nlattr_ndtmsg_LDADD) $(LIBS)
+
+nlattr_netconfmsg$(EXEEXT): $(nlattr_netconfmsg_OBJECTS) $(nlattr_netconfmsg_DEPENDENCIES) $(EXTRA_nlattr_netconfmsg_DEPENDENCIES)
+ @rm -f nlattr_netconfmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_netconfmsg_OBJECTS) $(nlattr_netconfmsg_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_nlmsgerr$(EXEEXT): $(nlattr_nlmsgerr_OBJECTS) $(nlattr_nlmsgerr_DEPENDENCIES) $(EXTRA_nlattr_nlmsgerr_DEPENDENCIES)
+ @rm -f nlattr_nlmsgerr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_nlmsgerr_OBJECTS) $(nlattr_nlmsgerr_LDADD) $(LIBS)
+
+nlattr_packet_diag_msg$(EXEEXT): $(nlattr_packet_diag_msg_OBJECTS) $(nlattr_packet_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_packet_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_packet_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_packet_diag_msg_OBJECTS) $(nlattr_packet_diag_msg_LDADD) $(LIBS)
+
+nlattr_rtgenmsg$(EXEEXT): $(nlattr_rtgenmsg_OBJECTS) $(nlattr_rtgenmsg_DEPENDENCIES) $(EXTRA_nlattr_rtgenmsg_DEPENDENCIES)
+ @rm -f nlattr_rtgenmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_rtgenmsg_OBJECTS) $(nlattr_rtgenmsg_LDADD) $(LIBS)
+
+nlattr_rtmsg$(EXEEXT): $(nlattr_rtmsg_OBJECTS) $(nlattr_rtmsg_DEPENDENCIES) $(EXTRA_nlattr_rtmsg_DEPENDENCIES)
+ @rm -f nlattr_rtmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_rtmsg_OBJECTS) $(nlattr_rtmsg_LDADD) $(LIBS)
+
+nlattr_smc_diag_msg$(EXEEXT): $(nlattr_smc_diag_msg_OBJECTS) $(nlattr_smc_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_smc_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_smc_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_smc_diag_msg_OBJECTS) $(nlattr_smc_diag_msg_LDADD) $(LIBS)
+
+nlattr_tc_stats$(EXEEXT): $(nlattr_tc_stats_OBJECTS) $(nlattr_tc_stats_DEPENDENCIES) $(EXTRA_nlattr_tc_stats_DEPENDENCIES)
+ @rm -f nlattr_tc_stats$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tc_stats_OBJECTS) $(nlattr_tc_stats_LDADD) $(LIBS)
+
+nlattr_tca_stab$(EXEEXT): $(nlattr_tca_stab_OBJECTS) $(nlattr_tca_stab_DEPENDENCIES) $(EXTRA_nlattr_tca_stab_DEPENDENCIES)
+ @rm -f nlattr_tca_stab$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tca_stab_OBJECTS) $(nlattr_tca_stab_LDADD) $(LIBS)
+
+nlattr_tcamsg$(EXEEXT): $(nlattr_tcamsg_OBJECTS) $(nlattr_tcamsg_DEPENDENCIES) $(EXTRA_nlattr_tcamsg_DEPENDENCIES)
+ @rm -f nlattr_tcamsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tcamsg_OBJECTS) $(nlattr_tcamsg_LDADD) $(LIBS)
+
+nlattr_tcmsg$(EXEEXT): $(nlattr_tcmsg_OBJECTS) $(nlattr_tcmsg_DEPENDENCIES) $(EXTRA_nlattr_tcmsg_DEPENDENCIES)
+ @rm -f nlattr_tcmsg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_tcmsg_OBJECTS) $(nlattr_tcmsg_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)
+
+nsyscalls-d$(EXEEXT): $(nsyscalls_d_OBJECTS) $(nsyscalls_d_DEPENDENCIES) $(EXTRA_nsyscalls_d_DEPENDENCIES)
+ @rm -f nsyscalls-d$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nsyscalls_d_OBJECTS) $(nsyscalls_d_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)
+
+old_mmap-P$(EXEEXT): $(old_mmap_P_OBJECTS) $(old_mmap_P_DEPENDENCIES) $(EXTRA_old_mmap_P_DEPENDENCIES)
+ @rm -f old_mmap-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(old_mmap_P_OBJECTS) $(old_mmap_P_LDADD) $(LIBS)
+
+old_mmap-v-none$(EXEEXT): $(old_mmap_v_none_OBJECTS) $(old_mmap_v_none_DEPENDENCIES) $(EXTRA_old_mmap_v_none_DEPENDENCIES)
+ @rm -f old_mmap-v-none$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(old_mmap_v_none_OBJECTS) $(old_mmap_v_none_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)
+
+oldselect-P$(EXEEXT): $(oldselect_P_OBJECTS) $(oldselect_P_DEPENDENCIES) $(EXTRA_oldselect_P_DEPENDENCIES)
+ @rm -f oldselect-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_P_OBJECTS) $(oldselect_P_LDADD) $(LIBS)
+
+oldselect-efault$(EXEEXT): $(oldselect_efault_OBJECTS) $(oldselect_efault_DEPENDENCIES) $(EXTRA_oldselect_efault_DEPENDENCIES)
+ @rm -f oldselect-efault$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_efault_OBJECTS) $(oldselect_efault_LDADD) $(LIBS)
+
+oldselect-efault-P$(EXEEXT): $(oldselect_efault_P_OBJECTS) $(oldselect_efault_P_DEPENDENCIES) $(EXTRA_oldselect_efault_P_DEPENDENCIES)
+ @rm -f oldselect-efault-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(oldselect_efault_P_OBJECTS) $(oldselect_efault_P_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)
+
+poll-P$(EXEEXT): $(poll_P_OBJECTS) $(poll_P_DEPENDENCIES) $(EXTRA_poll_P_DEPENDENCIES)
+ @rm -f poll-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(poll_P_OBJECTS) $(poll_P_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-P$(EXEEXT): $(ppoll_P_OBJECTS) $(ppoll_P_DEPENDENCIES) $(EXTRA_ppoll_P_DEPENDENCIES)
+ @rm -f ppoll-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ppoll_P_OBJECTS) $(ppoll_P_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)
+
+printpath-umovestr$(EXEEXT): $(printpath_umovestr_OBJECTS) $(printpath_umovestr_DEPENDENCIES) $(EXTRA_printpath_umovestr_DEPENDENCIES)
+ @rm -f printpath-umovestr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_OBJECTS) $(printpath_umovestr_LDADD) $(LIBS)
+
+printpath-umovestr-peekdata$(EXEEXT): $(printpath_umovestr_peekdata_OBJECTS) $(printpath_umovestr_peekdata_DEPENDENCIES) $(EXTRA_printpath_umovestr_peekdata_DEPENDENCIES)
+ @rm -f printpath-umovestr-peekdata$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_peekdata_OBJECTS) $(printpath_umovestr_peekdata_LDADD) $(LIBS)
+
+printpath-umovestr-undumpable$(EXEEXT): $(printpath_umovestr_undumpable_OBJECTS) $(printpath_umovestr_undumpable_DEPENDENCIES) $(EXTRA_printpath_umovestr_undumpable_DEPENDENCIES)
+ @rm -f printpath-umovestr-undumpable$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printpath_umovestr_undumpable_OBJECTS) $(printpath_umovestr_undumpable_LDADD) $(LIBS)
+
+printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES)
+ @rm -f printstr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
+
+printstrn-umoven$(EXEEXT): $(printstrn_umoven_OBJECTS) $(printstrn_umoven_DEPENDENCIES) $(EXTRA_printstrn_umoven_DEPENDENCIES)
+ @rm -f printstrn-umoven$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_OBJECTS) $(printstrn_umoven_LDADD) $(LIBS)
+
+printstrn-umoven-peekdata$(EXEEXT): $(printstrn_umoven_peekdata_OBJECTS) $(printstrn_umoven_peekdata_DEPENDENCIES) $(EXTRA_printstrn_umoven_peekdata_DEPENDENCIES)
+ @rm -f printstrn-umoven-peekdata$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_peekdata_OBJECTS) $(printstrn_umoven_peekdata_LDADD) $(LIBS)
+
+printstrn-umoven-undumpable$(EXEEXT): $(printstrn_umoven_undumpable_OBJECTS) $(printstrn_umoven_undumpable_DEPENDENCIES) $(EXTRA_printstrn_umoven_undumpable_DEPENDENCIES)
+ @rm -f printstrn-umoven-undumpable$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(printstrn_umoven_undumpable_OBJECTS) $(printstrn_umoven_undumpable_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)
+
+riscv_flush_icache$(EXEEXT): $(riscv_flush_icache_OBJECTS) $(riscv_flush_icache_DEPENDENCIES) $(EXTRA_riscv_flush_icache_DEPENDENCIES)
+ @rm -f riscv_flush_icache$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(riscv_flush_icache_OBJECTS) $(riscv_flush_icache_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_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)
+
+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)
+
+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)
+
+s390_guarded_storage$(EXEEXT): $(s390_guarded_storage_OBJECTS) $(s390_guarded_storage_DEPENDENCIES) $(EXTRA_s390_guarded_storage_DEPENDENCIES)
+ @rm -f s390_guarded_storage$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_guarded_storage_OBJECTS) $(s390_guarded_storage_LDADD) $(LIBS)
+
+s390_guarded_storage-v$(EXEEXT): $(s390_guarded_storage_v_OBJECTS) $(s390_guarded_storage_v_DEPENDENCIES) $(EXTRA_s390_guarded_storage_v_DEPENDENCIES)
+ @rm -f s390_guarded_storage-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_guarded_storage_v_OBJECTS) $(s390_guarded_storage_v_LDADD) $(LIBS)
+
+s390_pci_mmio_read_write$(EXEEXT): $(s390_pci_mmio_read_write_OBJECTS) $(s390_pci_mmio_read_write_DEPENDENCIES) $(EXTRA_s390_pci_mmio_read_write_DEPENDENCIES)
+ @rm -f s390_pci_mmio_read_write$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_pci_mmio_read_write_OBJECTS) $(s390_pci_mmio_read_write_LDADD) $(LIBS)
+
+s390_runtime_instr$(EXEEXT): $(s390_runtime_instr_OBJECTS) $(s390_runtime_instr_DEPENDENCIES) $(EXTRA_s390_runtime_instr_DEPENDENCIES)
+ @rm -f s390_runtime_instr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_runtime_instr_OBJECTS) $(s390_runtime_instr_LDADD) $(LIBS)
+
+s390_sthyi$(EXEEXT): $(s390_sthyi_OBJECTS) $(s390_sthyi_DEPENDENCIES) $(EXTRA_s390_sthyi_DEPENDENCIES)
+ @rm -f s390_sthyi$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_sthyi_OBJECTS) $(s390_sthyi_LDADD) $(LIBS)
+
+s390_sthyi-v$(EXEEXT): $(s390_sthyi_v_OBJECTS) $(s390_sthyi_v_DEPENDENCIES) $(EXTRA_s390_sthyi_v_DEPENDENCIES)
+ @rm -f s390_sthyi-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(s390_sthyi_v_OBJECTS) $(s390_sthyi_v_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)
+
+seccomp_get_action_avail$(EXEEXT): $(seccomp_get_action_avail_OBJECTS) $(seccomp_get_action_avail_DEPENDENCIES) $(EXTRA_seccomp_get_action_avail_DEPENDENCIES)
+ @rm -f seccomp_get_action_avail$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(seccomp_get_action_avail_OBJECTS) $(seccomp_get_action_avail_LDADD) $(LIBS)
+
+select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES)
+ @rm -f select$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
+
+select-P$(EXEEXT): $(select_P_OBJECTS) $(select_P_DEPENDENCIES) $(EXTRA_select_P_DEPENDENCIES)
+ @rm -f select-P$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(select_P_OBJECTS) $(select_P_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)
+
+set_sigblock$(EXEEXT): $(set_sigblock_OBJECTS) $(set_sigblock_DEPENDENCIES) $(EXTRA_set_sigblock_DEPENDENCIES)
+ @rm -f set_sigblock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(set_sigblock_OBJECTS) $(set_sigblock_LDADD) $(LIBS)
+
+set_sigign$(EXEEXT): $(set_sigign_OBJECTS) $(set_sigign_DEPENDENCIES) $(EXTRA_set_sigign_DEPENDENCIES)
+ @rm -f set_sigign$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(set_sigign_OBJECTS) $(set_sigign_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$(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)
+
+signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES)
+ @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)
+
+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)
+
+so_linger$(EXEEXT): $(so_linger_OBJECTS) $(so_linger_DEPENDENCIES) $(EXTRA_so_linger_DEPENDENCIES)
+ @rm -f so_linger$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(so_linger_OBJECTS) $(so_linger_LDADD) $(LIBS)
+
+so_peercred$(EXEEXT): $(so_peercred_OBJECTS) $(so_peercred_DEPENDENCIES) $(EXTRA_so_peercred_DEPENDENCIES)
+ @rm -f so_peercred$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS)
+
+sock_filter-v$(EXEEXT): $(sock_filter_v_OBJECTS) $(sock_filter_v_DEPENDENCIES) $(EXTRA_sock_filter_v_DEPENDENCIES)
+ @rm -f sock_filter-v$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sock_filter_v_OBJECTS) $(sock_filter_v_LDADD) $(LIBS)
+
+socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES)
+ @rm -f socketcall$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
+
+sockopt-sol_netlink$(EXEEXT): $(sockopt_sol_netlink_OBJECTS) $(sockopt_sol_netlink_DEPENDENCIES) $(EXTRA_sockopt_sol_netlink_DEPENDENCIES)
+ @rm -f sockopt-sol_netlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sockopt_sol_netlink_OBJECTS) $(sockopt_sol_netlink_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)
+
+stack-fcall-mangled$(EXEEXT): $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_DEPENDENCIES) $(EXTRA_stack_fcall_mangled_DEPENDENCIES)
+ @rm -f stack-fcall-mangled$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(stack_fcall_mangled_OBJECTS) $(stack_fcall_mangled_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)
+
+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)
+
+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)
+
+xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES)
+ @rm -f xet_thread_area_x86$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_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)
+
+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)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/_newselect-P.Po
+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)/block_reset_raise_run.Po
+include ./$(DEPDIR)/bpf-v.Po
+include ./$(DEPDIR)/bpf.Po
+include ./$(DEPDIR)/brk.Po
+include ./$(DEPDIR)/btrfs.Po
+include ./$(DEPDIR)/caps-abbrev.Po
+include ./$(DEPDIR)/caps.Po
+include ./$(DEPDIR)/check_sigblock.Po
+include ./$(DEPDIR)/check_sigign.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)/clone_parent.Po
+include ./$(DEPDIR)/clone_ptrace.Po
+include ./$(DEPDIR)/copy_file_range.Po
+include ./$(DEPDIR)/count-f.Po
+include ./$(DEPDIR)/creat.Po
+include ./$(DEPDIR)/delay.Po
+include ./$(DEPDIR)/delete_module.Po
+include ./$(DEPDIR)/dev-yy.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)/fflush.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-y.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)/group_req.Po
+include ./$(DEPDIR)/inet-cmsg.Po
+include ./$(DEPDIR)/init_module.Po
+include ./$(DEPDIR)/inject-nf.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_kvm_run.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)/is_linux_mips_n64.Po
+include ./$(DEPDIR)/kcmp-y.Po
+include ./$(DEPDIR)/kcmp.Po
+include ./$(DEPDIR)/kern_features.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-create_nl_socket.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-ifindex.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-test_printpath.Po
+include ./$(DEPDIR)/libtests_a-test_printstrn.Po
+include ./$(DEPDIR)/libtests_a-test_ucopy.Po
+include ./$(DEPDIR)/libtests_a-tprintf.Po
+include ./$(DEPDIR)/link.Po
+include ./$(DEPDIR)/linkat.Po
+include ./$(DEPDIR)/list_sigaction_signum.Po
+include ./$(DEPDIR)/llseek.Po
+include ./$(DEPDIR)/localtime.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)/modify_ldt.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-inet6.Po
+include ./$(DEPDIR)/net-yy-netlink.Po
+include ./$(DEPDIR)/net-yy-unix.Po
+include ./$(DEPDIR)/netlink_audit.Po
+include ./$(DEPDIR)/netlink_crypto.Po
+include ./$(DEPDIR)/netlink_generic.Po
+include ./$(DEPDIR)/netlink_inet_diag.Po
+include ./$(DEPDIR)/netlink_kobject_uevent.Po
+include ./$(DEPDIR)/netlink_netfilter.Po
+include ./$(DEPDIR)/netlink_netlink_diag.Po
+include ./$(DEPDIR)/netlink_protocol.Po
+include ./$(DEPDIR)/netlink_route.Po
+include ./$(DEPDIR)/netlink_selinux.Po
+include ./$(DEPDIR)/netlink_sock_diag.Po
+include ./$(DEPDIR)/netlink_unix_diag.Po
+include ./$(DEPDIR)/netlink_xfrm.Po
+include ./$(DEPDIR)/newfstatat-newfstatat.Po
+include ./$(DEPDIR)/nfnetlink_acct.Po
+include ./$(DEPDIR)/nfnetlink_cthelper.Po
+include ./$(DEPDIR)/nfnetlink_ctnetlink.Po
+include ./$(DEPDIR)/nfnetlink_ctnetlink_exp.Po
+include ./$(DEPDIR)/nfnetlink_cttimeout.Po
+include ./$(DEPDIR)/nfnetlink_ipset.Po
+include ./$(DEPDIR)/nfnetlink_nft_compat.Po
+include ./$(DEPDIR)/nfnetlink_nftables.Po
+include ./$(DEPDIR)/nfnetlink_osf.Po
+include ./$(DEPDIR)/nfnetlink_queue.Po
+include ./$(DEPDIR)/nfnetlink_ulog.Po
+include ./$(DEPDIR)/nlattr.Po
+include ./$(DEPDIR)/nlattr_br_port_msg.Po
+include ./$(DEPDIR)/nlattr_crypto_user_alg.Po
+include ./$(DEPDIR)/nlattr_dcbmsg.Po
+include ./$(DEPDIR)/nlattr_fib_rule_hdr.Po
+include ./$(DEPDIR)/nlattr_ifaddrlblmsg.Po
+include ./$(DEPDIR)/nlattr_ifaddrmsg.Po
+include ./$(DEPDIR)/nlattr_ifinfomsg.Po
+include ./$(DEPDIR)/nlattr_ifla_brport.Po
+include ./$(DEPDIR)/nlattr_ifla_port.Po
+include ./$(DEPDIR)/nlattr_ifla_xdp.Po
+include ./$(DEPDIR)/nlattr_inet_diag_msg.Po
+include ./$(DEPDIR)/nlattr_inet_diag_req_compat.Po
+include ./$(DEPDIR)/nlattr_inet_diag_req_v2.Po
+include ./$(DEPDIR)/nlattr_mdba_mdb_entry.Po
+include ./$(DEPDIR)/nlattr_mdba_router_port.Po
+include ./$(DEPDIR)/nlattr_ndmsg.Po
+include ./$(DEPDIR)/nlattr_ndtmsg.Po
+include ./$(DEPDIR)/nlattr_netconfmsg.Po
+include ./$(DEPDIR)/nlattr_netlink_diag_msg.Po
+include ./$(DEPDIR)/nlattr_nlmsgerr.Po
+include ./$(DEPDIR)/nlattr_packet_diag_msg.Po
+include ./$(DEPDIR)/nlattr_rtgenmsg.Po
+include ./$(DEPDIR)/nlattr_rtmsg.Po
+include ./$(DEPDIR)/nlattr_smc_diag_msg.Po
+include ./$(DEPDIR)/nlattr_tc_stats.Po
+include ./$(DEPDIR)/nlattr_tca_stab.Po
+include ./$(DEPDIR)/nlattr_tcamsg.Po
+include ./$(DEPDIR)/nlattr_tcmsg.Po
+include ./$(DEPDIR)/nlattr_unix_diag_msg.Po
+include ./$(DEPDIR)/nsyscalls-d.Po
+include ./$(DEPDIR)/nsyscalls.Po
+include ./$(DEPDIR)/old_mmap-P.Po
+include ./$(DEPDIR)/old_mmap-v-none.Po
+include ./$(DEPDIR)/old_mmap.Po
+include ./$(DEPDIR)/oldfstat.Po
+include ./$(DEPDIR)/oldlstat.Po
+include ./$(DEPDIR)/oldselect-P.Po
+include ./$(DEPDIR)/oldselect-efault-P.Po
+include ./$(DEPDIR)/oldselect-efault.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-P.Po
+include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll-P.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)/printpath-umovestr-peekdata.Po
+include ./$(DEPDIR)/printpath-umovestr-undumpable.Po
+include ./$(DEPDIR)/printpath-umovestr.Po
+include ./$(DEPDIR)/printstr.Po
+include ./$(DEPDIR)/printstrn-umoven-peekdata.Po
+include ./$(DEPDIR)/printstrn-umoven-undumpable.Po
+include ./$(DEPDIR)/printstrn-umoven.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)/riscv_flush_icache.Po
+include ./$(DEPDIR)/rmdir.Po
+include ./$(DEPDIR)/rt_sigaction.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)/run_expect_termsig.Po
+include ./$(DEPDIR)/s390_guarded_storage-v.Po
+include ./$(DEPDIR)/s390_guarded_storage.Po
+include ./$(DEPDIR)/s390_pci_mmio_read_write.Po
+include ./$(DEPDIR)/s390_runtime_instr.Po
+include ./$(DEPDIR)/s390_sthyi-v.Po
+include ./$(DEPDIR)/s390_sthyi.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)/seccomp_get_action_avail.Po
+include ./$(DEPDIR)/select-P.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)/set_sigblock.Po
+include ./$(DEPDIR)/set_sigign.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.Po
+include ./$(DEPDIR)/signal_receive.Po
+include ./$(DEPDIR)/signalfd4.Po
+include ./$(DEPDIR)/sigpending.Po
+include ./$(DEPDIR)/sigprocmask.Po
+include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sigsuspend.Po
+include ./$(DEPDIR)/sleep.Po
+include ./$(DEPDIR)/so_linger.Po
+include ./$(DEPDIR)/so_peercred.Po
+include ./$(DEPDIR)/sock_filter-v.Po
+include ./$(DEPDIR)/socketcall.Po
+include ./$(DEPDIR)/sockopt-sol_netlink.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-mangled-0.Po
+include ./$(DEPDIR)/stack-fcall-mangled-1.Po
+include ./$(DEPDIR)/stack-fcall-mangled-2.Po
+include ./$(DEPDIR)/stack-fcall-mangled-3.Po
+include ./$(DEPDIR)/stack-fcall-mangled.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)/unblock_reset_raise.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)/xet_thread_area_x86.Po
+include ./$(DEPDIR)/xetitimer.Po
+include ./$(DEPDIR)/xetpgid.Po
+include ./$(DEPDIR)/xetpriority.Po
+include ./$(DEPDIR)/xettimeofday.Po
+include ./$(DEPDIR)/zeroargc.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-create_nl_socket.o: create_nl_socket.c
+ $(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_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+# $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.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-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_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_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+# $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.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-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_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-ifindex.o: ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-ifindex.o -MD -MP -MF $(DEPDIR)/libtests_a-ifindex.Tpo -c -o libtests_a-ifindex.o `test -f 'ifindex.c' || echo '$(srcdir)/'`ifindex.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-ifindex.Tpo $(DEPDIR)/libtests_a-ifindex.Po
+# $(AM_V_CC)source='ifindex.c' object='libtests_a-ifindex.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-ifindex.o `test -f 'ifindex.c' || echo '$(srcdir)/'`ifindex.c
+
+libtests_a-ifindex.obj: ifindex.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-ifindex.obj -MD -MP -MF $(DEPDIR)/libtests_a-ifindex.Tpo -c -o libtests_a-ifindex.obj `if test -f 'ifindex.c'; then $(CYGPATH_W) 'ifindex.c'; else $(CYGPATH_W) '$(srcdir)/ifindex.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-ifindex.Tpo $(DEPDIR)/libtests_a-ifindex.Po
+# $(AM_V_CC)source='ifindex.c' object='libtests_a-ifindex.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-ifindex.obj `if test -f 'ifindex.c'; then $(CYGPATH_W) 'ifindex.c'; else $(CYGPATH_W) '$(srcdir)/ifindex.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-test_printpath.o: test_printpath.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printpath.o -MD -MP -MF $(DEPDIR)/libtests_a-test_printpath.Tpo -c -o libtests_a-test_printpath.o `test -f 'test_printpath.c' || echo '$(srcdir)/'`test_printpath.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printpath.Tpo $(DEPDIR)/libtests_a-test_printpath.Po
+# $(AM_V_CC)source='test_printpath.c' object='libtests_a-test_printpath.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-test_printpath.o `test -f 'test_printpath.c' || echo '$(srcdir)/'`test_printpath.c
+
+libtests_a-test_printpath.obj: test_printpath.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printpath.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_printpath.Tpo -c -o libtests_a-test_printpath.obj `if test -f 'test_printpath.c'; then $(CYGPATH_W) 'test_printpath.c'; else $(CYGPATH_W) '$(srcdir)/test_printpath.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printpath.Tpo $(DEPDIR)/libtests_a-test_printpath.Po
+# $(AM_V_CC)source='test_printpath.c' object='libtests_a-test_printpath.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-test_printpath.obj `if test -f 'test_printpath.c'; then $(CYGPATH_W) 'test_printpath.c'; else $(CYGPATH_W) '$(srcdir)/test_printpath.c'; fi`
+
+libtests_a-test_printstrn.o: test_printstrn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printstrn.o -MD -MP -MF $(DEPDIR)/libtests_a-test_printstrn.Tpo -c -o libtests_a-test_printstrn.o `test -f 'test_printstrn.c' || echo '$(srcdir)/'`test_printstrn.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printstrn.Tpo $(DEPDIR)/libtests_a-test_printstrn.Po
+# $(AM_V_CC)source='test_printstrn.c' object='libtests_a-test_printstrn.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-test_printstrn.o `test -f 'test_printstrn.c' || echo '$(srcdir)/'`test_printstrn.c
+
+libtests_a-test_printstrn.obj: test_printstrn.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_printstrn.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_printstrn.Tpo -c -o libtests_a-test_printstrn.obj `if test -f 'test_printstrn.c'; then $(CYGPATH_W) 'test_printstrn.c'; else $(CYGPATH_W) '$(srcdir)/test_printstrn.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_printstrn.Tpo $(DEPDIR)/libtests_a-test_printstrn.Po
+# $(AM_V_CC)source='test_printstrn.c' object='libtests_a-test_printstrn.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-test_printstrn.obj `if test -f 'test_printstrn.c'; then $(CYGPATH_W) 'test_printstrn.c'; else $(CYGPATH_W) '$(srcdir)/test_printstrn.c'; fi`
+
+libtests_a-test_ucopy.o: test_ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_ucopy.o -MD -MP -MF $(DEPDIR)/libtests_a-test_ucopy.Tpo -c -o libtests_a-test_ucopy.o `test -f 'test_ucopy.c' || echo '$(srcdir)/'`test_ucopy.c
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_ucopy.Tpo $(DEPDIR)/libtests_a-test_ucopy.Po
+# $(AM_V_CC)source='test_ucopy.c' object='libtests_a-test_ucopy.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-test_ucopy.o `test -f 'test_ucopy.c' || echo '$(srcdir)/'`test_ucopy.c
+
+libtests_a-test_ucopy.obj: test_ucopy.c
+ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-test_ucopy.obj -MD -MP -MF $(DEPDIR)/libtests_a-test_ucopy.Tpo -c -o libtests_a-test_ucopy.obj `if test -f 'test_ucopy.c'; then $(CYGPATH_W) 'test_ucopy.c'; else $(CYGPATH_W) '$(srcdir)/test_ucopy.c'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-test_ucopy.Tpo $(DEPDIR)/libtests_a-test_ucopy.Po
+# $(AM_V_CC)source='test_ucopy.c' object='libtests_a-test_ucopy.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-test_ucopy.obj `if test -f 'test_ucopy.c'; then $(CYGPATH_W) 'test_ucopy.c'; else $(CYGPATH_W) '$(srcdir)/test_ucopy.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:
+check-valgrind-memcheck-local:
+check-valgrind-helgrind-local:
+check-valgrind-drd-local:
+check-valgrind-sgcheck-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: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) 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."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+check-valgrind: check-valgrind-am
+
+check-valgrind-am: check-valgrind-local
+
+check-valgrind-drd: check-valgrind-drd-am
+
+check-valgrind-drd-am: check-valgrind-drd-local
+
+check-valgrind-helgrind: check-valgrind-helgrind-am
+
+check-valgrind-helgrind-am: check-valgrind-helgrind-local
+
+check-valgrind-memcheck: check-valgrind-memcheck-am
+
+check-valgrind-memcheck-am: check-valgrind-memcheck-local
+
+check-valgrind-sgcheck: check-valgrind-sgcheck-am
+
+check-valgrind-sgcheck-am: check-valgrind-sgcheck-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: all check check-am install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
+ check-valgrind-am check-valgrind-drd-am \
+ check-valgrind-drd-local check-valgrind-helgrind-am \
+ check-valgrind-helgrind-local check-valgrind-local \
+ check-valgrind-memcheck-am check-valgrind-memcheck-local \
+ check-valgrind-sgcheck-am check-valgrind-sgcheck-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)/_newselect-P.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)/bpf-v.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)/dev-yy.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)/fsync-y.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)/group_req.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_dm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_dm-v.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_kvm_run.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-nv.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_nsfs.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_sock_gifconf.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)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kern_features.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)/modify_ldt.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)/net-yy-inet6.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_crypto.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_kobject_uevent.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)/nfnetlink_acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_cthelper.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ctnetlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ctnetlink_exp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_cttimeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ipset.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_nft_compat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_nftables.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_osf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_queue.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nfnetlink_ulog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_crypto_user_alg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_br_port_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_dcbmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_fib_rule_hdr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifaddrlblmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifaddrmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifinfomsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_brport.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_port.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ifla_xdp.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_inet_diag_req_compat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_req_v2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_mdba_mdb_entry.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_mdba_router_port.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ndmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_ndtmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netconfmsg.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_nlmsgerr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_packet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_rtgenmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_rtmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_smc_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tc_stats.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tca_stab.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tcamsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_tcmsg.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)/old_mmap-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap-v-none.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)/oldselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-efault.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldselect-efault-P.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-P.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)/printpath-umovestr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printpath-umovestr-peekdata.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printpath-umovestr-undumpable.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven-peekdata.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstrn-umoven-undumpable.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)/riscv_flush_icache.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)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_guarded_storage-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_pci_mmio_read_write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_runtime_instr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_sthyi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/s390_sthyi-v.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)/seccomp_get_action_avail.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)/select-P.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)/so_linger.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/so_peercred.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sock_filter-v.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)/sockopt-sol_netlink.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)$(MAKE) $(AM_MAKEFLAGS) -k \
+ $(foreach tool, $(valgrind_enabled_tools), 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)
+
+.PHONY: check-valgrind-local
+check-valgrind-local: $(check_LIBRARIES) $(check_PROGRAMS)
+
+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
+ 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
index 493a7f97..d88a09bc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -42,7 +42,9 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(top_builddir)/$(OS) \
-I$(top_srcdir)/$(OS) \
-I$(top_builddir) \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
@@ -97,13 +99,16 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
clone_parent \
clone_ptrace \
count-f \
+ delay \
execve-v \
execveat-v \
filter-unavailable \
fork-f \
+ fsync-y \
getpid \
getppid \
gettid \
+ inject-nf \
int_0x80 \
ioctl_dm-v \
ioctl_evdev-v \
@@ -114,6 +119,7 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
is_linux_mips_n64 \
ksysent \
list_sigaction_signum \
+ localtime \
mmsg-silent \
mmsg_name-v \
msg_control-v \
@@ -163,19 +169,17 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
zeroargc \
# end of check_PROGRAMS
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
+attach_f_p_LDADD = -lpthread $(LDADD)
count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
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)
+mq_LDADD = $(mq_LIBS) $(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
@@ -184,8 +188,8 @@ 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)
+threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(LDADD)
truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
@@ -222,6 +226,7 @@ DECODER_TESTS = \
getuid.test \
ioctl.test \
ipc_msgbuf.test \
+ kern_features-fault.test \
llseek.test \
lseek.test \
mmap.test \
@@ -274,6 +279,7 @@ MISC_TESTS = \
clone_ptrace.test \
count-f.test \
count.test \
+ delay.test \
detach-running.test \
detach-sleeping.test \
detach-stopped.test \
@@ -282,8 +288,10 @@ MISC_TESTS = \
filtering_syscall-syntax.test \
fflush.test \
get_regs.test \
+ inject-nf.test \
interactive_block.test \
ksysent.test \
+ localtime.test \
opipe.test \
options-syntax.test \
pc.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 52055108..01cf6f4f 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -142,18 +142,19 @@ check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
block_reset_raise_run$(EXEEXT) caps-abbrev$(EXEEXT) \
check_sigblock$(EXEEXT) check_sigign$(EXEEXT) \
clone_parent$(EXEEXT) clone_ptrace$(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) \
+ delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
+ getpid$(EXEEXT) getppid$(EXEEXT) gettid$(EXEEXT) \
+ inject-nf$(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) \
is_linux_mips_n64$(EXEEXT) ksysent$(EXEEXT) \
- list_sigaction_signum$(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) nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
+ list_sigaction_signum$(EXEEXT) localtime$(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) \
+ nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
oldselect-efault-P$(EXEEXT) pc$(EXEEXT) \
perf_event_open_nonverbose$(EXEEXT) \
perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
@@ -179,7 +180,7 @@ 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/bpf_attr.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
@@ -227,12 +228,12 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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) \
+ delete_module$(EXEEXT) dev-yy$(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) \
@@ -262,8 +263,9 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
iopl$(EXEEXT) ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) \
ipc_msg$(EXEEXT) ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) \
ipc_shm$(EXEEXT) kcmp$(EXEEXT) kcmp-y$(EXEEXT) \
- kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) keyctl$(EXEEXT) \
- kill$(EXEEXT) lchown$(EXEEXT) lchown32$(EXEEXT) link$(EXEEXT) \
+ kern_features$(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) \
@@ -277,24 +279,25 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(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_audit$(EXEEXT) netlink_crypto$(EXEEXT) \
- netlink_generic$(EXEEXT) netlink_kobject_uevent$(EXEEXT) \
- netlink_netfilter$(EXEEXT) netlink_protocol$(EXEEXT) \
- netlink_route$(EXEEXT) netlink_selinux$(EXEEXT) \
- netlink_sock_diag$(EXEEXT) netlink_xfrm$(EXEEXT) \
- newfstatat$(EXEEXT) nfnetlink_acct$(EXEEXT) \
- nfnetlink_cthelper$(EXEEXT) nfnetlink_ctnetlink$(EXEEXT) \
- nfnetlink_ctnetlink_exp$(EXEEXT) nfnetlink_cttimeout$(EXEEXT) \
- nfnetlink_nft_compat$(EXEEXT) nfnetlink_nftables$(EXEEXT) \
- nfnetlink_ipset$(EXEEXT) nfnetlink_osf$(EXEEXT) \
- nfnetlink_queue$(EXEEXT) nfnetlink_ulog$(EXEEXT) \
- nlattr$(EXEEXT) nlattr_crypto_user_alg$(EXEEXT) \
- nlattr_br_port_msg$(EXEEXT) nlattr_dcbmsg$(EXEEXT) \
- nlattr_fib_rule_hdr$(EXEEXT) nlattr_ifaddrlblmsg$(EXEEXT) \
- nlattr_ifaddrmsg$(EXEEXT) nlattr_ifinfomsg$(EXEEXT) \
- nlattr_ifla_brport$(EXEEXT) nlattr_ifla_port$(EXEEXT) \
- nlattr_ifla_xdp$(EXEEXT) nlattr_inet_diag_msg$(EXEEXT) \
+ net-yy-inet6$(EXEEXT) net-yy-netlink$(EXEEXT) \
+ net-yy-unix$(EXEEXT) netlink_audit$(EXEEXT) \
+ netlink_crypto$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_kobject_uevent$(EXEEXT) netlink_netfilter$(EXEEXT) \
+ netlink_protocol$(EXEEXT) netlink_route$(EXEEXT) \
+ netlink_selinux$(EXEEXT) netlink_sock_diag$(EXEEXT) \
+ netlink_xfrm$(EXEEXT) newfstatat$(EXEEXT) \
+ nfnetlink_acct$(EXEEXT) nfnetlink_cthelper$(EXEEXT) \
+ nfnetlink_ctnetlink$(EXEEXT) nfnetlink_ctnetlink_exp$(EXEEXT) \
+ nfnetlink_cttimeout$(EXEEXT) nfnetlink_nft_compat$(EXEEXT) \
+ nfnetlink_nftables$(EXEEXT) nfnetlink_ipset$(EXEEXT) \
+ nfnetlink_osf$(EXEEXT) nfnetlink_queue$(EXEEXT) \
+ nfnetlink_ulog$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_crypto_user_alg$(EXEEXT) nlattr_br_port_msg$(EXEEXT) \
+ nlattr_dcbmsg$(EXEEXT) nlattr_fib_rule_hdr$(EXEEXT) \
+ nlattr_ifaddrlblmsg$(EXEEXT) nlattr_ifaddrmsg$(EXEEXT) \
+ nlattr_ifinfomsg$(EXEEXT) nlattr_ifla_brport$(EXEEXT) \
+ nlattr_ifla_port$(EXEEXT) nlattr_ifla_xdp$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) \
nlattr_inet_diag_req_compat$(EXEEXT) \
nlattr_inet_diag_req_v2$(EXEEXT) \
nlattr_mdba_mdb_entry$(EXEEXT) \
@@ -500,7 +503,8 @@ 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)
+clock_xettime_LDADD = $(LDADD)
+clock_xettime_DEPENDENCIES = libtests.a
clone_parent_SOURCES = clone_parent.c
clone_parent_OBJECTS = clone_parent.$(OBJEXT)
clone_parent_LDADD = $(LDADD)
@@ -520,10 +524,18 @@ creat_SOURCES = creat.c
creat_OBJECTS = creat.$(OBJEXT)
creat_LDADD = $(LDADD)
creat_DEPENDENCIES = libtests.a
+delay_SOURCES = delay.c
+delay_OBJECTS = delay.$(OBJEXT)
+am__DEPENDENCIES_1 =
+delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
delete_module_SOURCES = delete_module.c
delete_module_OBJECTS = delete_module.$(OBJEXT)
delete_module_LDADD = $(LDADD)
delete_module_DEPENDENCIES = libtests.a
+dev_yy_SOURCES = dev-yy.c
+dev_yy_OBJECTS = dev-yy.$(OBJEXT)
+dev_yy_LDADD = $(LDADD)
+dev_yy_DEPENDENCIES = libtests.a
dup_SOURCES = dup.c
dup_OBJECTS = dup.$(OBJEXT)
dup_LDADD = $(LDADD)
@@ -691,6 +703,10 @@ fsync_SOURCES = fsync.c
fsync_OBJECTS = fsync.$(OBJEXT)
fsync_LDADD = $(LDADD)
fsync_DEPENDENCIES = libtests.a
+fsync_y_SOURCES = fsync-y.c
+fsync_y_OBJECTS = fsync-y.$(OBJEXT)
+fsync_y_LDADD = $(LDADD)
+fsync_y_DEPENDENCIES = libtests.a
ftruncate_SOURCES = ftruncate.c
ftruncate_OBJECTS = ftruncate.$(OBJEXT)
ftruncate_LDADD = $(LDADD)
@@ -839,6 +855,10 @@ init_module_SOURCES = init_module.c
init_module_OBJECTS = init_module.$(OBJEXT)
init_module_LDADD = $(LDADD)
init_module_DEPENDENCIES = libtests.a
+inject_nf_SOURCES = inject-nf.c
+inject_nf_OBJECTS = inject-nf.$(OBJEXT)
+inject_nf_LDADD = $(LDADD)
+inject_nf_DEPENDENCIES = libtests.a
inotify_SOURCES = inotify.c
inotify_OBJECTS = inotify.$(OBJEXT)
inotify_LDADD = $(LDADD)
@@ -979,6 +999,10 @@ kcmp_y_SOURCES = kcmp-y.c
kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
kcmp_y_LDADD = $(LDADD)
kcmp_y_DEPENDENCIES = libtests.a
+kern_features_SOURCES = kern_features.c
+kern_features_OBJECTS = kern_features.$(OBJEXT)
+kern_features_LDADD = $(LDADD)
+kern_features_DEPENDENCIES = libtests.a
kexec_file_load_SOURCES = kexec_file_load.c
kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
kexec_file_load_LDADD = $(LDADD)
@@ -1023,6 +1047,9 @@ llseek_SOURCES = llseek.c
llseek_OBJECTS = llseek.$(OBJEXT)
llseek_LDADD = $(LDADD)
llseek_DEPENDENCIES = libtests.a
+localtime_SOURCES = localtime.c
+localtime_OBJECTS = localtime.$(OBJEXT)
+localtime_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
lookup_dcookie_SOURCES = lookup_dcookie.c
lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
lookup_dcookie_LDADD = $(LDADD)
@@ -1129,16 +1156,19 @@ move_pages_LDADD = $(LDADD)
move_pages_DEPENDENCIES = libtests.a
mq_SOURCES = mq.c
mq_OBJECTS = mq.$(OBJEXT)
-mq_DEPENDENCIES = $(LDADD)
+mq_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
mq_sendrecv_SOURCES = mq_sendrecv.c
mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
-mq_sendrecv_DEPENDENCIES = $(LDADD)
+mq_sendrecv_LDADD = $(LDADD)
+mq_sendrecv_DEPENDENCIES = libtests.a
mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
-mq_sendrecv_read_DEPENDENCIES = $(LDADD)
+mq_sendrecv_read_LDADD = $(LDADD)
+mq_sendrecv_read_DEPENDENCIES = libtests.a
mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
-mq_sendrecv_write_DEPENDENCIES = $(LDADD)
+mq_sendrecv_write_LDADD = $(LDADD)
+mq_sendrecv_write_DEPENDENCIES = libtests.a
msg_control_SOURCES = msg_control.c
msg_control_OBJECTS = msg_control.$(OBJEXT)
msg_control_LDADD = $(LDADD)
@@ -1179,6 +1209,10 @@ 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_inet6_SOURCES = net-yy-inet6.c
+net_yy_inet6_OBJECTS = net-yy-inet6.$(OBJEXT)
+net_yy_inet6_LDADD = $(LDADD)
+net_yy_inet6_DEPENDENCIES = libtests.a
net_yy_netlink_SOURCES = net-yy-netlink.c
net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
net_yy_netlink_LDADD = $(LDADD)
@@ -1474,7 +1508,6 @@ 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)
@@ -2147,7 +2180,7 @@ tee_LDADD = $(LDADD)
tee_DEPENDENCIES = libtests.a
threads_execve_SOURCES = threads-execve.c
threads_execve_OBJECTS = threads-execve.$(OBJEXT)
-threads_execve_DEPENDENCIES = $(LDADD)
+threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
time_SOURCES = time.c
time_OBJECTS = time.$(OBJEXT)
time_LDADD = $(LDADD)
@@ -2166,7 +2199,7 @@ timerfd_xettime_LDADD = $(LDADD)
timerfd_xettime_DEPENDENCIES = libtests.a
times_SOURCES = times.c
times_OBJECTS = times.$(OBJEXT)
-times_DEPENDENCIES = $(LDADD)
+times_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
times_fail_SOURCES = times-fail.c
times_fail_OBJECTS = times-fail.$(OBJEXT)
times_fail_LDADD = $(LDADD)
@@ -2375,8 +2408,8 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
btrfs.c caps.c caps-abbrev.c check_sigblock.c check_sigign.c \
chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
clock_nanosleep.c clock_xettime.c clone_parent.c \
- clone_ptrace.c copy_file_range.c count-f.c creat.c \
- delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+ clone_ptrace.c copy_file_range.c count-f.c creat.c delay.c \
+ delete_module.c dev-yy.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 \
@@ -2384,7 +2417,7 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
fdatasync.c fflush.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 \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.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 \
@@ -2392,31 +2425,32 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.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 group_req.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 \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.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 modify_ldt.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_crypto.c \
- netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.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 \
- nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
@@ -2498,15 +2532,15 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
check_sigblock.c check_sigign.c chmod.c chown.c chown32.c \
chroot.c clock_adjtime.c clock_nanosleep.c clock_xettime.c \
clone_parent.c clone_ptrace.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 \
+ creat.c delay.c delete_module.c dev-yy.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 fflush.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 \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.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 \
@@ -2514,31 +2548,32 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.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 group_req.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 \
+ init_module.c inject-nf.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_kvm_run.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 is_linux_mips_n64.c kcmp.c kcmp-y.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.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 modify_ldt.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_crypto.c \
- netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.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 \
- nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
+ kern_features.c kexec_file_load.c kexec_load.c keyctl.c kill.c \
+ ksysent.c lchown.c lchown32.c link.c linkat.c \
+ list_sigaction_signum.c llseek.c localtime.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 modify_ldt.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-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
+ netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
+ netlink_kobject_uevent.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 nfnetlink_acct.c \
+ nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
@@ -2949,6 +2984,7 @@ build_vendor = @build_vendor@
builddir = @builddir@
cc_flags_m32 = @cc_flags_m32@
cc_flags_mx32 = @cc_flags_mx32@
+clock_LIBS = @clock_LIBS@
datadir = @datadir@
datarootdir = @datarootdir@
dl_LIBS = @dl_LIBS@
@@ -2976,6 +3012,7 @@ localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
+mq_LIBS = @mq_LIBS@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
@@ -2986,6 +3023,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+timer_LIBS = @timer_LIBS@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -3005,7 +3043,9 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(top_builddir)/$(OS) \
-I$(top_srcdir)/$(OS) \
-I$(top_builddir) \
- -I$(top_srcdir)
+ -I$(top_srcdir) \
+ -DTESTS_SIZEOF_KERNEL_LONG_T=$(SIZEOF_KERNEL_LONG_T) \
+ -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
@@ -3071,6 +3111,7 @@ PURE_EXECUTABLES = \
copy_file_range \
creat \
delete_module \
+ dev-yy \
dup \
dup2 \
dup3 \
@@ -3172,6 +3213,7 @@ PURE_EXECUTABLES = \
ipc_shm \
kcmp \
kcmp-y \
+ kern_features \
kexec_file_load \
kexec_load \
keyctl \
@@ -3217,6 +3259,7 @@ PURE_EXECUTABLES = \
net-sockaddr \
net-y-unix \
net-yy-inet \
+ net-yy-inet6 \
net-yy-netlink \
net-yy-unix \
netlink_audit \
@@ -3462,19 +3505,17 @@ PURE_EXECUTABLES = \
xettimeofday \
#
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
+attach_f_p_LDADD = -lpthread $(LDADD)
count_f_LDADD = -lpthread $(LDADD)
+delay_LDADD = $(clock_LIBS) $(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
+localtime_LDADD = $(clock_LIBS) $(LDADD)
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)
+mq_LDADD = $(mq_LIBS) $(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
@@ -3483,8 +3524,8 @@ 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)
+threads_execve_LDADD = -lpthread $(clock_LIBS) $(LDADD)
+times_LDADD = $(clock_LIBS) $(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 \
@@ -3503,19 +3544,20 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \
+ delete_module.gen.test dev-yy.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 \
+ fsync-y.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 \
@@ -3539,38 +3581,39 @@ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.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 \
- kcmp-y.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 \
- modify_ldt.gen.test mount.gen.test move_pages.gen.test \
- mq.gen.test mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+ kcmp-y.gen.test kern_features.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 modify_ldt.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_crypto.gen.test netlink_generic.gen.test \
- netlink_kobject_uevent.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 nfnetlink_acct.gen.test \
- nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test \
- nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test \
- nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test \
- nfnetlink_nftables.gen.test nfnetlink_osf.gen.test \
- nfnetlink_queue.gen.test nfnetlink_ulog.gen.test \
- nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test \
- nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test \
- nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test \
- nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test \
- nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test \
- nlattr_inet_diag_msg.gen.test \
+ net-sockaddr.gen.test net-yy-inet6.gen.test \
+ netlink_audit.gen.test netlink_crypto.gen.test \
+ netlink_generic.gen.test netlink_kobject_uevent.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 \
+ nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test \
+ nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test \
+ nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test \
+ nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test \
+ nfnetlink_osf.gen.test nfnetlink_queue.gen.test \
+ nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test \
+ nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test \
+ nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test \
+ nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test \
+ nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test \
+ nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test \
nlattr_inet_diag_req_compat.gen.test \
nlattr_inet_diag_req_v2.gen.test \
nlattr_mdba_mdb_entry.gen.test \
@@ -3674,6 +3717,7 @@ DECODER_TESTS = \
getuid.test \
ioctl.test \
ipc_msgbuf.test \
+ kern_features-fault.test \
llseek.test \
lseek.test \
mmap.test \
@@ -3726,6 +3770,7 @@ MISC_TESTS = \
clone_ptrace.test \
count-f.test \
count.test \
+ delay.test \
detach-running.test \
detach-sleeping.test \
detach-stopped.test \
@@ -3734,8 +3779,10 @@ MISC_TESTS = \
filtering_syscall-syntax.test \
fflush.test \
get_regs.test \
+ inject-nf.test \
interactive_block.test \
ksysent.test \
+ localtime.test \
opipe.test \
options-syntax.test \
pc.test \
@@ -4062,10 +4109,18 @@ creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIE
@rm -f creat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
+delay$(EXEEXT): $(delay_OBJECTS) $(delay_DEPENDENCIES) $(EXTRA_delay_DEPENDENCIES)
+ @rm -f delay$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(delay_OBJECTS) $(delay_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)
+dev-yy$(EXEEXT): $(dev_yy_OBJECTS) $(dev_yy_DEPENDENCIES) $(EXTRA_dev_yy_DEPENDENCIES)
+ @rm -f dev-yy$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(dev_yy_OBJECTS) $(dev_yy_LDADD) $(LIBS)
+
dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES)
@rm -f dup$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
@@ -4234,6 +4289,10 @@ fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIE
@rm -f fsync$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
+fsync-y$(EXEEXT): $(fsync_y_OBJECTS) $(fsync_y_DEPENDENCIES) $(EXTRA_fsync_y_DEPENDENCIES)
+ @rm -f fsync-y$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fsync_y_OBJECTS) $(fsync_y_LDADD) $(LIBS)
+
ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES)
@rm -f ftruncate$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
@@ -4382,6 +4441,10 @@ init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA
@rm -f init_module$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
+inject-nf$(EXEEXT): $(inject_nf_OBJECTS) $(inject_nf_DEPENDENCIES) $(EXTRA_inject_nf_DEPENDENCIES)
+ @rm -f inject-nf$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(inject_nf_OBJECTS) $(inject_nf_LDADD) $(LIBS)
+
inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES)
@rm -f inotify$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
@@ -4522,6 +4585,10 @@ kcmp-y$(EXEEXT): $(kcmp_y_OBJECTS) $(kcmp_y_DEPENDENCIES) $(EXTRA_kcmp_y_DEPENDE
@rm -f kcmp-y$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
+kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES)
+ @rm -f kern_features$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_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)
@@ -4566,6 +4633,10 @@ llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDE
@rm -f llseek$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+localtime$(EXEEXT): $(localtime_OBJECTS) $(localtime_DEPENDENCIES) $(EXTRA_localtime_DEPENDENCIES)
+ @rm -f localtime$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(localtime_OBJECTS) $(localtime_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)
@@ -4726,6 +4797,10 @@ net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA
@rm -f net-yy-inet$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
+net-yy-inet6$(EXEEXT): $(net_yy_inet6_OBJECTS) $(net_yy_inet6_DEPENDENCIES) $(EXTRA_net_yy_inet6_DEPENDENCIES)
+ @rm -f net-yy-inet6$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(net_yy_inet6_OBJECTS) $(net_yy_inet6_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)
@@ -5912,7 +5987,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy_file_range.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/count-f.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dev-yy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup3.Po@am__quote@
@@ -5954,6 +6031,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat64-fstatat64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync-y.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate64-ftruncate64.Po@am__quote@
@@ -5992,6 +6070,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group_req.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet-cmsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inject-nf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify_init1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int_0x80.Po@am__quote@
@@ -6027,6 +6106,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_file_load.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_load.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@
@@ -6064,6 +6144,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
@@ -6104,6 +6185,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-y-unix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.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@
@@ -7443,6 +7525,9 @@ $(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/dev-yy.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) $^ $@
@@ -7551,6 +7636,9 @@ $(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/fsync-y.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) $^ $@
@@ -7752,6 +7840,9 @@ $(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/kern_features.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) $^ $@
@@ -7881,6 +7972,9 @@ $(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)/net-yy-inet6.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) $^ $@
diff --git a/tests/bpf.c b/tests/bpf.c
index 3f963fa3..72d7e8e5 100644
--- a/tests/bpf.c
+++ b/tests/bpf.c
@@ -2,6 +2,7 @@
* Check bpf syscall decoding.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -28,29 +29,75 @@
*/
#include "tests.h"
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+
#include <asm/unistd.h>
+#include "scno.h"
-#if defined __NR_bpf \
- && (defined HAVE_UNION_BPF_ATTR_ATTACH_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_BPF_FD \
- || defined HAVE_UNION_BPF_ATTR_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_INFO_INFO \
- || defined HAVE_UNION_BPF_ATTR_NEXT_ID \
- || defined HAVE_UNION_BPF_ATTR_NUMA_NODE \
- || defined HAVE_UNION_BPF_ATTR_PROG_FLAGS \
- || defined HAVE_UNION_BPF_ATTR_TEST_DURATION)
-
-# include <stddef.h>
-# include <stdio.h>
-# include <stdint.h>
-# include <string.h>
-# include <unistd.h>
+#ifdef HAVE_LINUX_BPF_H
# include <linux/bpf.h>
-# include "print_fields.h"
+#endif
+
+#include "bpf_attr.h"
+#include "print_fields.h"
+
+#include "xlat.h"
+#include "xlat/bpf_commands.h"
+
+#ifndef HAVE_STRUCT_BPF_INSN
+struct bpf_insn {
+ uint8_t code;
+ uint8_t dst_reg:4;
+ uint8_t src_reg:4;
+ int16_t off;
+ int32_t imm;
+};
+#endif
+
+#define BPF_ATTR_DATA_FIELD(cmd_) struct cmd_ ## _struct cmd_ ## _data
+
+union bpf_attr_data {
+ BPF_ATTR_DATA_FIELD(BPF_MAP_CREATE);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_LOOKUP_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_UPDATE_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_DELETE_ELEM);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_GET_NEXT_KEY);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_LOAD);
+ BPF_ATTR_DATA_FIELD(BPF_OBJ_PIN);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_ATTACH);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_DETACH);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_TEST_RUN);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_GET_NEXT_ID);
+ BPF_ATTR_DATA_FIELD(BPF_PROG_GET_FD_BY_ID);
+ BPF_ATTR_DATA_FIELD(BPF_MAP_GET_FD_BY_ID);
+ BPF_ATTR_DATA_FIELD(BPF_OBJ_GET_INFO_BY_FD);
+ char char_data[256];
+};
+
+struct bpf_attr_check {
+ union bpf_attr_data data;
+ size_t size;
+ const char *str;
+ void (*init_fn)(struct bpf_attr_check *check);
+ void (*print_fn)(const struct bpf_attr_check *check,
+ unsigned long addr);
+};
+
+struct bpf_check {
+ kernel_ulong_t cmd;
+ const char *cmd_str;
+ const struct bpf_attr_check *checks;
+ size_t count;
+};
static const kernel_ulong_t long_bits = (kernel_ulong_t) 0xfacefeed00000000ULL;
static const char *errstr;
-static unsigned int sizeof_attr = sizeof(union bpf_attr);
+static unsigned int sizeof_attr = sizeof(union bpf_attr_data);
static unsigned int page_size;
static unsigned long end_of_page;
@@ -62,680 +109,543 @@ sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size)
return rc;
}
-# if VERBOSE
-# define print_extra_data(addr_, size_) print_quoted_hex((addr_), (size_))
-# else
-# define print_extra_data(addr_, size_) printf("...")
+#if VERBOSE
+# define print_extra_data(addr_, offs_, size_) \
+ do { \
+ printf("/* bytes %u..%u */ ", (offs_), (size_) + (offs_) - 1); \
+ print_quoted_hex((addr_) + (offs_), (size_)); \
+ } while (0)
+#else
+# define print_extra_data(addr_, offs_, size_) printf("...")
#endif
-# define TEST_BPF_(cmd_, cmd_str_, \
- init_first_, print_first_, \
- init_attr_, print_attr_) \
- do { \
- /* zero addr */ \
- sys_bpf(cmd_, 0, long_bits | sizeof(union bpf_attr)); \
- printf("bpf(%s, NULL, %u) = %s\n", \
- cmd_str_, sizeof_attr, errstr); \
- \
- /* zero size */ \
- unsigned long addr = end_of_page - sizeof_attr; \
- sys_bpf(cmd_, addr, long_bits); \
- printf("bpf(%s, %#lx, 0) = %s\n", \
- cmd_str_, addr, errstr); \
- \
- /* the first field only */ \
- unsigned int offset = init_first_(end_of_page); \
- addr = end_of_page - offset; \
- sys_bpf(cmd_, addr, offset); \
- printf("bpf(%s, {", cmd_str_); \
- print_first_(addr); \
- printf("}, %u) = %s\n", offset, errstr); \
- \
- /* efault after the first field */ \
- sys_bpf(cmd_, addr, offset + 1); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, offset + 1, errstr); \
- \
- /* the relevant part of union bpf_attr */ \
- offset = init_attr_(end_of_page); \
- addr = end_of_page - offset; \
- sys_bpf(cmd_, addr, offset); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", offset, errstr); \
- \
- /* short read of the relevant part of union bpf_attr */ \
- sys_bpf(cmd_, addr + 1, offset); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr + 1, offset, errstr); \
- \
- if (offset < sizeof_attr) { \
- /* short read of the whole union bpf_attr */ \
- memmove((void *) end_of_page - sizeof_attr + 1, \
- (void *) addr, offset); \
- addr = end_of_page - sizeof_attr + 1; \
- memset((void *) addr + offset, 0, \
- sizeof_attr - offset - 1); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, sizeof_attr, errstr); \
- \
- /* the whole union bpf_attr */ \
- memmove((void *) end_of_page - sizeof_attr, \
- (void *) addr, offset); \
- addr = end_of_page - sizeof_attr; \
- memset((void *) addr + offset, 0, \
- sizeof_attr - offset); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", sizeof_attr, errstr); \
- \
- /* non-zero bytes after the relevant part */ \
- fill_memory_ex((void *) addr + offset, \
- sizeof_attr - offset, '0', 10); \
- sys_bpf(cmd_, addr, sizeof_attr); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf(", "); \
- print_extra_data((void *) addr + offset, \
- sizeof_attr - offset); \
- printf("}, %u) = %s\n", sizeof_attr, errstr); \
- } \
- \
- /* short read of the whole page */ \
- memmove((void *) end_of_page - page_size + 1, \
- (void *) addr, offset); \
- addr = end_of_page - page_size + 1; \
- memset((void *) addr + offset, 0, \
- page_size - offset - 1); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, page_size, errstr); \
- \
- /* the whole page */ \
- memmove((void *) end_of_page - page_size, \
- (void *) addr, offset); \
- addr = end_of_page - page_size; \
- memset((void *) addr + offset, 0, page_size - offset); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf("}, %u) = %s\n", page_size, errstr); \
- \
- /* non-zero bytes after the whole union bpf_attr */ \
- fill_memory_ex((void *) addr + offset, \
- page_size - offset, '0', 10); \
- sys_bpf(cmd_, addr, page_size); \
- printf("bpf(%s, {", cmd_str_); \
- print_attr_(addr); \
- printf(", "); \
- print_extra_data((void *) addr + offset, \
- page_size - offset); \
- printf("}, %u) = %s\n", page_size, errstr); \
- \
- /* more than a page */ \
- sys_bpf(cmd_, addr, page_size + 1); \
- printf("bpf(%s, %#lx, %u) = %s\n", \
- cmd_str_, addr, page_size + 1, errstr); \
- } while (0) \
- /* End of TEST_BPF_ definition. */
-
-# define TEST_BPF(cmd_) \
- TEST_BPF_((cmd_), #cmd_, \
- init_ ## cmd_ ## _first, print_ ## cmd_ ## _first, \
- init_ ## cmd_ ## _attr, print_ ## cmd_ ## _attr) \
- /* End of TEST_BPF definition. */
-
-#define DEF_BPF_INIT_FIRST(cmd_, field_, value_) \
- static unsigned int \
- init_ ## cmd_ ## _first(const unsigned long eop) \
- { \
- static const union bpf_attr attr = { .field_ = value_ };\
- static const unsigned int offset = sizeof(attr.field_); \
- const unsigned long addr = eop - offset; \
- \
- memcpy((void *) addr, &attr.field_, offset); \
- return offset; \
- } \
- /* End of DEF_INIT_FIRST definition. */
-
-# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
-
-DEF_BPF_INIT_FIRST(BPF_MAP_CREATE, map_type, 2)
-
-static void
-print_BPF_MAP_CREATE_first(const unsigned long addr)
-{
- printf("map_type=BPF_MAP_TYPE_ARRAY, key_size=0, value_size=0"
- ", max_entries=0, map_flags=0, inner_map_fd=0");
-}
-
-static unsigned int
-init_BPF_MAP_CREATE_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_type = 1,
- .key_size = 4,
- .value_size = 8,
- .max_entries = 256,
- .map_flags = 7,
- .inner_map_fd = -1,
- .numa_node = 42
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, numa_node);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_CREATE_attr(const unsigned long addr)
-{
- printf("map_type=BPF_MAP_TYPE_HASH, key_size=4"
- ", value_size=8, max_entries=256"
- ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NO_COMMON_LRU"
- "|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=42");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_NUMA_NODE */
-
-# ifdef HAVE_UNION_BPF_ATTR_FLAGS
-
-DEF_BPF_INIT_FIRST(BPF_MAP_LOOKUP_ELEM, map_fd, -1)
-
-static void
-print_BPF_MAP_LOOKUP_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, value=0");
-}
-
-static unsigned int
-init_BPF_MAP_LOOKUP_ELEM_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .value = 0xbadc0ded
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, value);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_LOOKUP_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, value=0xbadc0ded");
-}
-
-# define init_BPF_MAP_UPDATE_ELEM_first init_BPF_MAP_LOOKUP_ELEM_first
-
-static void
-print_BPF_MAP_UPDATE_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, value=0, flags=BPF_ANY");
-}
-
-static unsigned int
-init_BPF_MAP_UPDATE_ELEM_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .value = 0xbadc0ded,
- .flags = 2
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_MAP_UPDATE_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, value=0xbadc0ded, flags=BPF_EXIST");
-}
-
-# define init_BPF_MAP_DELETE_ELEM_first init_BPF_MAP_LOOKUP_ELEM_first
-
static void
-print_BPF_MAP_DELETE_ELEM_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0");
-}
-
-static unsigned int
-init_BPF_MAP_DELETE_ELEM_attr(const unsigned long eop)
+print_bpf_attr(const struct bpf_attr_check *check, unsigned long addr)
{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, key);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
+ if (check->print_fn)
+ check->print_fn(check, addr);
+ else
+ printf("%s", check->str);
}
static void
-print_BPF_MAP_DELETE_ELEM_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef");
-}
-
-# define init_BPF_MAP_GET_NEXT_KEY_first init_BPF_MAP_LOOKUP_ELEM_first
-
-static void
-print_BPF_MAP_GET_NEXT_KEY_first(const unsigned long addr)
-{
- printf("map_fd=-1, key=0, next_key=0");
-}
-
-static unsigned int
-init_BPF_MAP_GET_NEXT_KEY_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .map_fd = -1,
- .key = 0xdeadbeef,
- .next_key = 0xbadc0ded
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, next_key);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
+test_bpf(const struct bpf_check *cmd_check)
+{
+ const struct bpf_attr_check *check = 0;
+ const union bpf_attr_data *data = 0;
+ unsigned int offset = 0;
+
+ /* zero addr */
+ sys_bpf(cmd_check->cmd, 0, long_bits | sizeof(union bpf_attr_data));
+ printf("bpf(%s, NULL, %u) = %s\n",
+ cmd_check->cmd_str, sizeof_attr, errstr);
+
+ /* zero size */
+ unsigned long addr = end_of_page - sizeof_attr;
+ sys_bpf(cmd_check->cmd, addr, long_bits);
+ printf("bpf(%s, %#lx, 0) = %s\n",
+ cmd_check->cmd_str, addr, errstr);
+
+ for (size_t i = 0; i < cmd_check->count; i++) {
+ check = &cmd_check->checks[i];
+ if (check->init_fn)
+ check->init_fn((struct bpf_attr_check *) check);
+ data = &check->data;
+ offset = check->size;
+
+ addr = end_of_page - offset;
+ memcpy((void *) addr, data, offset);
+
+ /* starting piece of bpf_attr_data */
+ sys_bpf(cmd_check->cmd, addr, offset);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", offset, errstr);
+
+ /* short read of the starting piece */
+ sys_bpf(cmd_check->cmd, addr + 1, offset);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr + 1, offset, errstr);
+ }
-static void
-print_BPF_MAP_GET_NEXT_KEY_attr(const unsigned long addr)
-{
- printf("map_fd=-1, key=0xdeadbeef, next_key=0xbadc0ded");
-}
+ if (offset < sizeof_attr) {
+ /* short read of the whole bpf_attr_data */
+ memcpy((void *) end_of_page - sizeof_attr + 1, data, offset);
+ addr = end_of_page - sizeof_attr + 1;
+ memset((void *) addr + offset, 0, sizeof_attr - offset - 1);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, sizeof_attr, errstr);
+
+ /* the whole bpf_attr_data */
+ memcpy((void *) end_of_page - sizeof_attr, data, offset);
+ addr = end_of_page - sizeof_attr;
+ memset((void *) addr + offset, 0, sizeof_attr - offset);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", sizeof_attr, errstr);
+
+ /* non-zero bytes after the relevant part */
+ fill_memory_ex((void *) addr + offset,
+ sizeof_attr - offset, '0', 10);
+ sys_bpf(cmd_check->cmd, addr, sizeof_attr);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf(", ");
+ print_extra_data((char *) addr, offset,
+ sizeof_attr - offset);
+ printf("}, %u) = %s\n", sizeof_attr, errstr);
+ }
-# endif /* HAVE_UNION_BPF_ATTR_FLAGS */
+ /* short read of the whole page */
+ memcpy((void *) end_of_page - page_size + 1, data, offset);
+ addr = end_of_page - page_size + 1;
+ memset((void *) addr + offset, 0, page_size - offset - 1);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, page_size, errstr);
+
+ /* the whole page */
+ memcpy((void *) end_of_page - page_size, data, offset);
+ addr = end_of_page - page_size;
+ memset((void *) addr + offset, 0, page_size - offset);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf("}, %u) = %s\n", page_size, errstr);
+
+ /* non-zero bytes after the whole bpf_attr_data */
+ fill_memory_ex((void *) addr + offset,
+ page_size - offset, '0', 10);
+ sys_bpf(cmd_check->cmd, addr, page_size);
+ printf("bpf(%s, {", cmd_check->cmd_str);
+ print_bpf_attr(check, addr);
+ printf(", ");
+ print_extra_data((char *) addr, offset,
+ page_size - offset);
+ printf("}, %u) = %s\n", page_size, errstr);
+
+ /* more than a page */
+ sys_bpf(cmd_check->cmd, addr, page_size + 1);
+ printf("bpf(%s, %#lx, %u) = %s\n",
+ cmd_check->cmd_str, addr, page_size + 1, errstr);
+}
+
+static const struct bpf_attr_check BPF_MAP_CREATE_checks[] = {
+ {
+ .data = { .BPF_MAP_CREATE_data = { .map_type = 2 } },
+ .size = offsetofend(struct BPF_MAP_CREATE_struct, map_type),
+ .str = "map_type=BPF_MAP_TYPE_ARRAY, key_size=0, value_size=0"
+ ", max_entries=0, map_flags=0, inner_map_fd=0"
+ },
+ {
+ .data = { .BPF_MAP_CREATE_data = {
+ .map_type = 1,
+ .key_size = 4,
+ .value_size = 8,
+ .max_entries = 256,
+ .map_flags = 7,
+ .inner_map_fd = -1,
+ .numa_node = 42
+ } },
+ .size = offsetofend(struct BPF_MAP_CREATE_struct, numa_node),
+ .str = "map_type=BPF_MAP_TYPE_HASH, key_size=4"
+ ", value_size=8, max_entries=256"
+ ", map_flags=BPF_F_NO_PREALLOC|BPF_F_NO_COMMON_LRU"
+ "|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=42"
+ }
+};
-# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
+static const struct bpf_attr_check BPF_MAP_LOOKUP_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_LOOKUP_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_LOOKUP_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0, value=0"
+ },
+ {
+ .data = { .BPF_MAP_LOOKUP_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .value = 0xbadc0ded
+ } },
+ .size = offsetofend(struct BPF_MAP_LOOKUP_ELEM_struct, value),
+ .str = "map_fd=-1, key=0xdeadbeef, value=0xbadc0ded"
+ }
+};
-DEF_BPF_INIT_FIRST(BPF_PROG_LOAD, prog_type, 1)
+static const struct bpf_attr_check BPF_MAP_UPDATE_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_UPDATE_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_UPDATE_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0, value=0, flags=BPF_ANY"
+ },
+ {
+ .data = { .BPF_MAP_UPDATE_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .value = 0xbadc0ded,
+ .flags = 2
+ } },
+ .size = offsetofend(struct BPF_MAP_UPDATE_ELEM_struct, flags),
+ .str = "map_fd=-1, key=0xdeadbeef, value=0xbadc0ded"
+ ", flags=BPF_EXIST"
+ }
+};
-static void
-print_BPF_PROG_LOAD_first(const unsigned long addr)
-{
+static const struct bpf_attr_check BPF_MAP_DELETE_ELEM_checks[] = {
+ {
+ .data = { .BPF_MAP_DELETE_ELEM_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_DELETE_ELEM_struct, map_fd),
+ .str = "map_fd=-1, key=0"
+ },
+ {
+ .data = { .BPF_MAP_DELETE_ELEM_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_MAP_DELETE_ELEM_struct, key),
+ .str = "map_fd=-1, key=0xdeadbeef"
+ }
+};
- printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=0, insns=0"
- ", license=NULL, log_level=0, log_size=0, log_buf=0"
- ", kern_version=0, prog_flags=0");
-}
+static const struct bpf_attr_check BPF_MAP_GET_NEXT_KEY_checks[] = {
+ {
+ .data = { .BPF_MAP_GET_NEXT_KEY_data = { .map_fd = -1 } },
+ .size = offsetofend(struct BPF_MAP_GET_NEXT_KEY_struct, map_fd),
+ .str = "map_fd=-1, key=0, next_key=0"
+ },
+ {
+ .data = { .BPF_MAP_GET_NEXT_KEY_data = {
+ .map_fd = -1,
+ .key = 0xdeadbeef,
+ .next_key = 0xbadc0ded
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_NEXT_KEY_struct, next_key),
+ .str = "map_fd=-1, key=0xdeadbeef, next_key=0xbadc0ded"
+ }
+};
static const struct bpf_insn insns[] = {
- { .code = BPF_JMP | BPF_EXIT }
+ { .code = 0x95 }
};
+static const char license[] = "GPL";
static char log_buf[4096];
+static const char pathname[] = "/sys/fs/bpf/foo/bar";
-static unsigned int
-init_BPF_PROG_LOAD_attr(const unsigned long eop)
+static void
+init_BPF_PROG_LOAD_attr(struct bpf_attr_check *check)
{
- const union bpf_attr attr = {
- .prog_type = 1,
- .insn_cnt = ARRAY_SIZE(insns),
- .insns = (uintptr_t) insns,
- .license = (uintptr_t) "GPL",
- .log_level = 42,
- .log_size = sizeof(log_buf),
- .log_buf = (uintptr_t) log_buf,
- .kern_version = 0xcafef00d,
- .prog_flags = 1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, prog_flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
+ struct BPF_PROG_LOAD_struct *attr = &check->data.BPF_PROG_LOAD_data;
+ attr->insns = (uintptr_t) insns;
+ attr->license = (uintptr_t) license;
+ attr->log_buf = (uintptr_t) log_buf;
}
static void
-print_BPF_PROG_LOAD_attr(const unsigned long addr)
+print_BPF_PROG_LOAD_attr(const struct bpf_attr_check *check, unsigned long addr)
{
printf("prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=%u, insns=%p"
- ", license=\"GPL\", log_level=42, log_size=4096, log_buf=%p"
- ", kern_version=%u, prog_flags=BPF_F_STRICT_ALIGNMENT",
+ ", license=\"%s\", log_level=42, log_size=4096, log_buf=%p"
+ ", kern_version=KERNEL_VERSION(51966, 240, 13)"
+ ", prog_flags=BPF_F_STRICT_ALIGNMENT",
(unsigned int) ARRAY_SIZE(insns), insns,
- log_buf, 0xcafef00d);
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_PROG_FLAGS */
-
-/*
- * bpf() syscall and its first six commands were introduced in Linux kernel
- * 3.18. Some additional commands were added afterwards, so we need to take
- * precautions to make sure the tests compile.
- *
- * BPF_OBJ_PIN and BPF_OBJ_GET commands appear in kernel 4.4.
- */
-# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
-
-DEF_BPF_INIT_FIRST(BPF_OBJ_PIN, pathname, 0)
-
-static void
-print_BPF_OBJ_PIN_first(const unsigned long addr)
-{
-
- printf("pathname=NULL, bpf_fd=0");
-}
-
-static unsigned int
-init_BPF_OBJ_PIN_attr(const unsigned long eop)
-{
- const union bpf_attr attr = {
- .pathname = (uintptr_t) "/sys/fs/bpf/foo/bar",
- .bpf_fd = -1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, bpf_fd);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_OBJ_PIN_attr(const unsigned long addr)
-{
- printf("pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1");
-}
-
-# define init_BPF_OBJ_GET_first init_BPF_OBJ_PIN_first
-# define print_BPF_OBJ_GET_first print_BPF_OBJ_PIN_first
-# define init_BPF_OBJ_GET_attr init_BPF_OBJ_PIN_attr
-# define print_BPF_OBJ_GET_attr print_BPF_OBJ_PIN_attr
-
-# endif /* HAVE_UNION_BPF_ATTR_BPF_FD */
-
-/* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
-
-DEF_BPF_INIT_FIRST(BPF_PROG_ATTACH, target_fd, -1)
-
-static void
-print_BPF_PROG_ATTACH_first(const unsigned long addr)
-{
- printf("target_fd=-1, attach_bpf_fd=0"
- ", attach_type=BPF_CGROUP_INET_INGRESS, attach_flags=0");
-}
-
-static unsigned int
-init_BPF_PROG_ATTACH_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .target_fd = -1,
- .attach_bpf_fd = -2,
- .attach_type = 2,
- .attach_flags = 1
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, attach_flags);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-static void
-print_BPF_PROG_ATTACH_attr(const unsigned long addr)
-{
- printf("target_fd=-1, attach_bpf_fd=-2"
- ", attach_type=BPF_CGROUP_INET_SOCK_CREATE"
- ", attach_flags=BPF_F_ALLOW_OVERRIDE");
-}
-
-# define init_BPF_PROG_DETACH_first init_BPF_PROG_ATTACH_first
-
-static unsigned int
-init_BPF_PROG_DETACH_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .target_fd = -1,
- .attach_type = 2
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, attach_type);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
-
-
-static void
-print_BPF_PROG_DETACH_first(const unsigned long addr)
-{
- printf("target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS");
-}
-
-static void
-print_BPF_PROG_DETACH_attr(const unsigned long addr)
-{
- printf("target_fd=-1, attach_type=BPF_CGROUP_INET_SOCK_CREATE");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_ATTACH_FLAGS */
-
-/* BPF_PROG_TEST_RUN command appears in kernel 4.12. */
-# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
-
-DEF_BPF_INIT_FIRST(BPF_PROG_TEST_RUN, test.prog_fd, -1)
-
-static void
-print_BPF_PROG_TEST_RUN_first(const unsigned long addr)
-{
- printf("test={prog_fd=-1, retval=0, data_size_in=0, data_size_out=0"
- ", data_in=0, data_out=0, repeat=0, duration=0}");
-}
-
-static const union bpf_attr sample_BPF_PROG_TEST_RUN_attr = {
- .test = {
- .prog_fd = -1,
- .retval = 0xfac1fed2,
- .data_size_in = 0xfac3fed4,
- .data_size_out = 0xfac5fed6,
- .data_in = (uint64_t) 0xfacef11dbadc2ded,
- .data_out = (uint64_t) 0xfacef33dbadc4ded,
- .repeat = 0xfac7fed8,
- .duration = 0xfac9feda
+ license, log_buf);
+}
+
+static struct bpf_attr_check BPF_PROG_LOAD_checks[] = {
+ {
+ .data = { .BPF_PROG_LOAD_data = { .prog_type = 1 } },
+ .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_type),
+ .str = "prog_type=BPF_PROG_TYPE_SOCKET_FILTER"
+ ", insn_cnt=0, insns=0, license=NULL"
+ },
+ {
+ .data = { .BPF_PROG_LOAD_data = {
+ .prog_type = 1,
+ .insn_cnt = ARRAY_SIZE(insns),
+ .log_level = 42,
+ .log_size = sizeof(log_buf),
+ .kern_version = 0xcafef00d,
+ .prog_flags = 1
+ } },
+ .size = offsetofend(struct BPF_PROG_LOAD_struct, prog_flags),
+ .init_fn = init_BPF_PROG_LOAD_attr,
+ .print_fn = print_BPF_PROG_LOAD_attr
}
};
-static unsigned int
-init_BPF_PROG_TEST_RUN_attr(const unsigned long eop)
-{
- static const unsigned int offset =
- offsetofend(union bpf_attr, test);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &sample_BPF_PROG_TEST_RUN_attr, offset);
- return offset;
-}
-
-static void
-print_BPF_PROG_TEST_RUN_attr(const unsigned long addr)
-{
- PRINT_FIELD_D("test={", sample_BPF_PROG_TEST_RUN_attr.test, prog_fd);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, retval);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_size_in);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_size_out);
- PRINT_FIELD_X(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_in);
- PRINT_FIELD_X(", ", sample_BPF_PROG_TEST_RUN_attr.test, data_out);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, repeat);
- PRINT_FIELD_U(", ", sample_BPF_PROG_TEST_RUN_attr.test, duration);
- printf("}");
-}
-
-# endif /* HAVE_UNION_BPF_ATTR_TEST_DURATION */
-
-# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
-
-DEF_BPF_INIT_FIRST(BPF_PROG_GET_NEXT_ID, start_id, 0xdeadbeef)
-
-static void
-print_BPF_PROG_GET_NEXT_ID_first(const unsigned long addr)
-{
- printf("start_id=%u, next_id=0", 0xdeadbeef);
-}
-
-static unsigned int
-init_BPF_PROG_GET_NEXT_ID_attr(const unsigned long eop)
-{
- static const union bpf_attr attr = {
- .start_id = 0xbadc0ded,
- .next_id = 0xcafef00d
- };
- static const unsigned int offset =
- offsetofend(union bpf_attr, next_id);
- const unsigned long addr = eop - offset;
-
- memcpy((void *) addr, &attr, offset);
- return offset;
-}
static void
-print_BPF_PROG_GET_NEXT_ID_attr(const unsigned long addr)
-{
- printf("start_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
-
-# define init_BPF_MAP_GET_NEXT_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define print_BPF_MAP_GET_NEXT_ID_first print_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_MAP_GET_NEXT_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-# define print_BPF_MAP_GET_NEXT_ID_attr print_BPF_PROG_GET_NEXT_ID_attr
-
-# define init_BPF_PROG_GET_FD_BY_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_PROG_GET_FD_BY_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-
-static void
-print_BPF_PROG_GET_FD_BY_ID_first(const unsigned long addr)
-{
- printf("prog_id=%u, next_id=0", 0xdeadbeef);
-}
-
-static void
-print_BPF_PROG_GET_FD_BY_ID_attr(const unsigned long addr)
-{
- printf("prog_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
-
-# define init_BPF_MAP_GET_FD_BY_ID_first init_BPF_PROG_GET_NEXT_ID_first
-# define init_BPF_MAP_GET_FD_BY_ID_attr init_BPF_PROG_GET_NEXT_ID_attr
-
-static void
-print_BPF_MAP_GET_FD_BY_ID_first(const unsigned long addr)
-{
- printf("map_id=%u, next_id=0", 0xdeadbeef);
-}
+init_BPF_OBJ_PIN_attr(struct bpf_attr_check *check)
+{
+ struct BPF_OBJ_PIN_struct *attr = &check->data.BPF_OBJ_PIN_data;
+ attr->pathname = (uintptr_t) pathname;
+}
+
+static struct bpf_attr_check BPF_OBJ_PIN_checks[] = {
+ {
+ .data = { .BPF_OBJ_PIN_data = { .pathname = 0 } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, pathname),
+ .str = "pathname=NULL, bpf_fd=0"
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = {
+ .pathname = 0xFFFFFFFFFFFFFFFFULL
+ } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, pathname),
+ .str = "pathname="
+#if defined MPERS_IS_m32 || SIZEOF_KERNEL_LONG_T > 4
+ "0xffffffffffffffff"
+#elif defined __arm__ || defined __i386__ || defined __mips__ || \
+ defined __powerpc__ || defined __riscv__ || defined __s390__ \
+ || defined __sparc__ || defined __tile__
+ "0xffffffffffffffff or 0xffffffff"
+#else
+ "0xffffffff"
+#endif
+ ", bpf_fd=0",
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = { .bpf_fd = -1 } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, bpf_fd),
+ .init_fn = init_BPF_OBJ_PIN_attr,
+ .str = "pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1"
+ },
+ {
+ .data = { .BPF_OBJ_PIN_data = {
+ .bpf_fd = -1,
+ .file_flags = 0x18
+ } },
+ .size = offsetofend(struct BPF_OBJ_PIN_struct, file_flags),
+ .init_fn = init_BPF_OBJ_PIN_attr,
+ .str = "pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1"
+ ", file_flags=BPF_F_RDONLY|BPF_F_WRONLY"
+ }
+};
-static void
-print_BPF_MAP_GET_FD_BY_ID_attr(const unsigned long addr)
-{
- printf("map_id=%u, next_id=%u", 0xbadc0ded, 0xcafef00d);
-}
+#define BPF_OBJ_GET_checks BPF_OBJ_PIN_checks
+
+static const struct bpf_attr_check BPF_PROG_ATTACH_checks[] = {
+ {
+ .data = { .BPF_PROG_ATTACH_data = { .target_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_ATTACH_struct, target_fd),
+ .str = "target_fd=-1, attach_bpf_fd=0"
+ ", attach_type=BPF_CGROUP_INET_INGRESS, attach_flags=0"
+ },
+ {
+ .data = { .BPF_PROG_ATTACH_data = {
+ .target_fd = -1,
+ .attach_bpf_fd = -2,
+ .attach_type = 2,
+ .attach_flags = 1
+ } },
+ .size = offsetofend(struct BPF_PROG_ATTACH_struct, attach_flags),
+ .str = "target_fd=-1, attach_bpf_fd=-2"
+ ", attach_type=BPF_CGROUP_INET_SOCK_CREATE"
+ ", attach_flags=BPF_F_ALLOW_OVERRIDE"
+ }
+};
-# endif /* HAVE_UNION_BPF_ATTR_NEXT_ID */
-# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
+static const struct bpf_attr_check BPF_PROG_DETACH_checks[] = {
+ {
+ .data = { .BPF_PROG_DETACH_data = { .target_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_DETACH_struct, target_fd),
+ .str = "target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS"
+ },
+ {
+ .data = { .BPF_PROG_DETACH_data = {
+ .target_fd = -1,
+ .attach_type = 2
+ } },
+ .size = offsetofend(struct BPF_PROG_DETACH_struct, attach_type),
+ .str = "target_fd=-1, attach_type=BPF_CGROUP_INET_SOCK_CREATE"
+ }
+};
-DEF_BPF_INIT_FIRST(BPF_OBJ_GET_INFO_BY_FD, info.bpf_fd, -1)
+static const struct bpf_attr_check BPF_PROG_TEST_RUN_checks[] = {
+ {
+ .data = { .BPF_PROG_TEST_RUN_data = { .prog_fd = -1 } },
+ .size = offsetofend(struct BPF_PROG_TEST_RUN_struct, prog_fd),
+ .str = "test={prog_fd=-1, retval=0, data_size_in=0"
+ ", data_size_out=0, data_in=0, data_out=0"
+ ", repeat=0, duration=0}"
+ },
+ {
+ .data = { .BPF_PROG_TEST_RUN_data = {
+ .prog_fd = -1,
+ .retval = 0xfac1fed2,
+ .data_size_in = 0xfac3fed4,
+ .data_size_out = 0xfac5fed6,
+ .data_in = (uint64_t) 0xfacef11dbadc2dedULL,
+ .data_out = (uint64_t) 0xfacef33dbadc4dedULL,
+ .repeat = 0xfac7fed8,
+ .duration = 0xfac9feda
+ } },
+ .size = offsetofend(struct BPF_PROG_TEST_RUN_struct, duration),
+ .str = "test={prog_fd=-1, retval=4207017682"
+ ", data_size_in=4207148756, data_size_out=4207279830"
+ ", data_in=0xfacef11dbadc2ded"
+ ", data_out=0xfacef33dbadc4ded"
+ ", repeat=4207410904, duration=4207541978}"
+ }
+};
-static void
-print_BPF_OBJ_GET_INFO_BY_FD_first(const unsigned long addr)
-{
- printf("info={bpf_fd=-1, info_len=0, info=0}");
-}
+static const struct bpf_attr_check BPF_PROG_GET_NEXT_ID_checks[] = {
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, start_id),
+ .str = "start_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xdeadbeef
+ } },
+ .size = 1,
+ .str = "start_id="
+#if WORDS_BIGENDIAN
+ "3724541952" /* 0xde000000 */
+#else
+ "239" /* 0x000000ef */
+#endif
+ ", next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, next_id),
+ .str = "start_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_PROG_GET_NEXT_ID_data = {
+ .start_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_NEXT_ID_struct, open_flags),
+ .str = "start_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
+ }
+};
-static const union bpf_attr sample_BPF_OBJ_GET_INFO_BY_FD_attr = {
- .info = {
- .bpf_fd = -1,
- .info_len = 0xdeadbeef,
- .info = (uint64_t) 0xfacefeedbadc0ded
+#define BPF_MAP_GET_NEXT_ID_checks BPF_PROG_GET_NEXT_ID_checks
+
+static const struct bpf_attr_check BPF_PROG_GET_FD_BY_ID_checks[] = {
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, prog_id),
+ .str = "prog_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, next_id),
+ .str = "prog_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_PROG_GET_FD_BY_ID_data = {
+ .prog_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_PROG_GET_FD_BY_ID_struct, open_flags),
+ .str = "prog_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
}
};
-static unsigned int
-init_BPF_OBJ_GET_INFO_BY_FD_attr(const unsigned long eop)
-{
- static const unsigned int offset =
- offsetofend(union bpf_attr, info);
- const unsigned long addr = eop - offset;
- memcpy((void *) addr, &sample_BPF_OBJ_GET_INFO_BY_FD_attr, offset);
- return offset;
-}
+static const struct bpf_attr_check BPF_MAP_GET_FD_BY_ID_checks[] = {
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xdeadbeef
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, map_id),
+ .str = "map_id=3735928559, next_id=0"
+ },
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xbadc0ded,
+ .next_id = 0xcafef00d
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, next_id),
+ .str = "map_id=3134983661, next_id=3405705229"
+ },
+ {
+ .data = { .BPF_MAP_GET_FD_BY_ID_data = {
+ .map_id = 0xbadc0ded,
+ .next_id = 0xcafef00d,
+ .open_flags = 0xffffff27
+ } },
+ .size = offsetofend(struct BPF_MAP_GET_FD_BY_ID_struct, open_flags),
+ .str = "map_id=3134983661, next_id=3405705229"
+ ", open_flags=0xffffff27 /* BPF_F_??? */"
+ }
+};
-static void
-print_BPF_OBJ_GET_INFO_BY_FD_attr(const unsigned long addr)
-{
- PRINT_FIELD_D("info={", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, bpf_fd);
- PRINT_FIELD_U(", ", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, info_len);
- PRINT_FIELD_X(", ", sample_BPF_OBJ_GET_INFO_BY_FD_attr.info, info);
- printf("}");
-}
+static const struct bpf_attr_check BPF_OBJ_GET_INFO_BY_FD_checks[] = {
+ {
+ .data = { .BPF_OBJ_GET_INFO_BY_FD_data = { .bpf_fd = -1 } },
+ .size = offsetofend(struct BPF_OBJ_GET_INFO_BY_FD_struct, bpf_fd),
+ .str = "info={bpf_fd=-1, info_len=0, info=0}"
+ },
+ {
+ .data = { .BPF_OBJ_GET_INFO_BY_FD_data = {
+ .bpf_fd = -1,
+ .info_len = 0xdeadbeef,
+ .info = (uint64_t) 0xfacefeedbadc0dedULL
+ } },
+ .size = offsetofend(struct BPF_OBJ_GET_INFO_BY_FD_struct, info),
+ .str = "info={bpf_fd=-1, info_len=3735928559"
+ ", info=0xfacefeedbadc0ded}"
+ }
+};
-# endif /* HAVE_UNION_BPF_ATTR_INFO_INFO */
+#define CHK(cmd_) \
+ { \
+ cmd_, #cmd_, \
+ cmd_##_checks, ARRAY_SIZE(cmd_##_checks), \
+ } \
+ /* End of CHK definition */
int
main(void)
{
+ static const struct bpf_check checks[] = {
+ CHK(BPF_MAP_CREATE),
+ CHK(BPF_MAP_LOOKUP_ELEM),
+ CHK(BPF_MAP_UPDATE_ELEM),
+ CHK(BPF_MAP_DELETE_ELEM),
+ CHK(BPF_MAP_GET_NEXT_KEY),
+ CHK(BPF_PROG_LOAD),
+ CHK(BPF_OBJ_PIN),
+ CHK(BPF_OBJ_GET),
+ CHK(BPF_PROG_ATTACH),
+ CHK(BPF_PROG_DETACH),
+ CHK(BPF_PROG_TEST_RUN),
+ CHK(BPF_PROG_GET_NEXT_ID),
+ CHK(BPF_MAP_GET_NEXT_ID),
+ CHK(BPF_PROG_GET_FD_BY_ID),
+ CHK(BPF_MAP_GET_FD_BY_ID),
+ CHK(BPF_OBJ_GET_INFO_BY_FD),
+ };
+
page_size = get_page_size();
end_of_page = (unsigned long) tail_alloc(1) + 1;
-# ifdef HAVE_UNION_BPF_ATTR_NUMA_NODE
- TEST_BPF(BPF_MAP_CREATE);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_FLAGS
- TEST_BPF(BPF_MAP_LOOKUP_ELEM);
- TEST_BPF(BPF_MAP_UPDATE_ELEM);
- TEST_BPF(BPF_MAP_DELETE_ELEM);
- TEST_BPF(BPF_MAP_GET_NEXT_KEY);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_PROG_FLAGS
- TEST_BPF(BPF_PROG_LOAD);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
- TEST_BPF(BPF_OBJ_PIN);
- TEST_BPF(BPF_OBJ_GET);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
- TEST_BPF(BPF_PROG_ATTACH);
- TEST_BPF(BPF_PROG_DETACH);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_TEST_DURATION
- TEST_BPF(BPF_PROG_TEST_RUN);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_NEXT_ID
- TEST_BPF(BPF_PROG_GET_NEXT_ID);
- TEST_BPF(BPF_MAP_GET_NEXT_ID);
- TEST_BPF(BPF_PROG_GET_FD_BY_ID);
- TEST_BPF(BPF_MAP_GET_FD_BY_ID);
-# endif
-
-# ifdef HAVE_UNION_BPF_ATTR_INFO_INFO
- TEST_BPF(BPF_OBJ_GET_INFO_BY_FD);
-# endif
+ for (size_t i = 0; i < ARRAY_SIZE(checks); i++)
+ test_bpf(checks + i);
+
+ sys_bpf(0xfacefeed, 0, (kernel_ulong_t) 0xfacefeedbadc0dedULL);
+ printf("bpf(0xfacefeed /* BPF_??? */, NULL, %u) = %s\n",
+ 0xbadc0dedu, errstr);
sys_bpf(0xfacefeed, end_of_page, 40);
printf("bpf(0xfacefeed /* BPF_??? */, %#lx, 40) = %s\n",
@@ -744,9 +654,3 @@ main(void)
puts("+++ exited with 0 +++");
return 0;
}
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_bpf && HAVE_UNION_BPF_ATTR_*")
-
-#endif
diff --git a/tests/btrfs.c b/tests/btrfs.c
index 710d7630..415f6928 100644
--- a/tests/btrfs.c
+++ b/tests/btrfs.c
@@ -6,7 +6,6 @@
#include <fcntl.h>
#include <inttypes.h>
#include <limits.h>
-#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
@@ -225,7 +224,7 @@ btrfs_print_qgroup_inherit(struct btrfs_qgroup_inherit *inherit)
"BTRFS_QGROUP_INHERIT_???");
printf(", num_qgroups=%" PRI__u64
", num_ref_copies=%" PRI__u64
- ", num_excl_copies=%" PRI__u64", lim={flags=",
+ ", num_excl_copies=%" PRI__u64 ", lim={flags=",
inherit->num_qgroups, inherit->num_ref_copies,
inherit->num_excl_copies);
printflags(btrfs_qgroup_limit_flags,
@@ -438,7 +437,7 @@ btrfs_test_subvol_ioctls(void)
btrfs_print_vol_args_v2(&vol_args_v2, 1);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_SUBVOL_CREATE_V2,
&args_passed);
- printf(" => {transid=%" PRI__u64"}) = 0\n",
+ printf(" => {transid=%" PRI__u64 "}) = 0\n",
args_passed.transid);
subvolfd = openat(btrfs_test_dir_fd, subvol_name,
@@ -454,7 +453,7 @@ btrfs_test_subvol_ioctls(void)
btrfs_print_vol_args_v2(&args_passed, 1);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_SNAP_CREATE_V2,
&args_passed);
- printf(" => {transid=%" PRI__u64"}) = 0\n",
+ printf(" => {transid=%" PRI__u64 "}) = 0\n",
args_passed.transid);
/* This only works when mounted w/ -ouser_subvol_rm_allowed */
@@ -689,7 +688,7 @@ btrfs_test_clone_ioctls(void)
static void
btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args)
{
- printf("{start=%" PRIu64", len=%" PRIu64 "%s, flags=",
+ printf("{start=%" PRIu64 ", len=%" PRIu64 "%s, flags=",
(uint64_t) args->start, (uint64_t) args->len,
maybe_print_uint64max(args->len));
@@ -796,10 +795,10 @@ btrfs_print_search_key(struct btrfs_ioctl_search_key *key)
printf(", max_offset=%" PRI__u64 "%s",
key->max_offset, maybe_print_uint64max(key->max_offset));
if (key->min_transid)
- printf(", min_transid=%" PRI__u64"%s", key->min_transid,
+ printf(", min_transid=%" PRI__u64 "%s", key->min_transid,
maybe_print_uint64max(key->min_transid));
if (key->max_transid)
- printf(", max_transid=%" PRI__u64"%s", key->max_transid,
+ printf(", max_transid=%" PRI__u64 "%s", key->max_transid,
maybe_print_uint64max(key->max_transid));
printf(", min_type=");
btrfs_print_key_type(key->min_type);
@@ -1113,7 +1112,7 @@ btrfs_test_scrub_ioctls(void)
printf("ioctl(-1, BTRFS_IOC_SCRUB_CANCEL) = -1 EBADF (%m)\n");
printf("ioctl(-1, BTRFS_IOC_SCRUB, {devid=%" PRI__u64 ", start=%"
- PRI__u64 "%s, end=%" PRI__u64"%s, flags=",
+ PRI__u64 "%s, end=%" PRI__u64 "%s, flags=",
args.devid, args.start, maybe_print_uint64max(args.start),
args.end, maybe_print_uint64max(args.end));
printflags(btrfs_scrub_flags, args.flags, "BTRFS_SCRUB_???");
@@ -1145,7 +1144,7 @@ btrfs_test_dev_info_ioctl(void)
ioctl(-1, BTRFS_IOC_DEV_INFO, &args);
printf("ioctl(-1, BTRFS_IOC_DEV_INFO, "
- "{devid=%" PRI__u64", uuid=%s}) = -1 EBADF (%m)\n",
+ "{devid=%" PRI__u64 ", uuid=%s}) = -1 EBADF (%m)\n",
args.devid, uuid_reference_string);
}
@@ -1161,9 +1160,22 @@ btrfs_test_ino_path_ioctls(void)
struct btrfs_ioctl_ino_path_args args = {
.inum = 256,
.size = sizeof(buf),
- .fspath = (unsigned long)buf,
+ .reserved = {
+ 0xdeadc0defacefeebULL,
+ 0xdeadc0defacefeecULL,
+ 0xdeadc0defacefeedULL,
+ },
+ .fspath = 0,
};
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 0xdeadc0defacefeeeULL;
+
+
ioctl(-1, BTRFS_IOC_INO_PATHS, NULL);
printf("ioctl(-1, BTRFS_IOC_INO_PATHS, NULL) = -1 EBADF (%m)\n");
@@ -1172,13 +1184,54 @@ btrfs_test_ino_path_ioctls(void)
ioctl(-1, BTRFS_IOC_INO_PATHS, &args);
printf("ioctl(-1, BTRFS_IOC_INO_PATHS, "
- "{inum=%" PRI__u64", size=%" PRI__u64
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
+ ", fspath=NULL}) = -1 EBADF (%m)\n",
+ args.inum, args.size);
+
+ args.fspath = (uintptr_t) buf;
+ ioctl(-1, BTRFS_IOC_INO_PATHS, &args);
+ printf("ioctl(-1, BTRFS_IOC_INO_PATHS, "
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
", fspath=0x%" PRI__x64 "}) = -1 EBADF (%m)\n",
args.inum, args.size, args.fspath);
+ args.fspath = 0;
+ ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
+ printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
+ ", size=%" PRI__u64 ", reserved=[0xdeadc0defacefeeb"
+ ", 0xdeadc0defacefeec, 0xdeadc0defacefeed]"
+ ", flags=0xdeadc0defacefeee /* BTRFS_LOGICAL_INO_ARGS_??? */"
+ ", inodes=NULL}) = -1 EBADF (%m)\n",
+ args.inum, args.size);
+
+ args.fspath = (uintptr_t) buf;
+ args.reserved[0] = 0;
+ args.reserved[2] = 0;
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 1;
+
+ ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
+ printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
+ ", size=%" PRI__u64 ", reserved=[0, 0xdeadc0defacefeec, 0]"
+ ", flags=BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET"
+ ", inodes=0x%" PRI__x64 "}) = -1 EBADF (%m)\n",
+ args.inum, args.size, args.fspath);
+
+ args.reserved[1] = 0;
+#ifdef HAVE_BTRFS_IOCTL_LOGICAL_INO_ARGS
+ args.flags =
+#else
+ args.reserved[3] =
+#endif
+ 0;
+
ioctl(-1, BTRFS_IOC_LOGICAL_INO, &args);
printf("ioctl(-1, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
- ", size=%" PRI__u64", inodes=0x%" PRI__x64
+ ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64
"}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath);
#ifdef HAVE_LINUX_FIEMAP_H
@@ -1196,8 +1249,8 @@ btrfs_test_ino_path_ioctls(void)
args.inum = si.st_ino;
printf("ioctl(%d, BTRFS_IOC_INO_PATHS, "
- "{inum=%" PRI__u64", size=%" PRI__u64
- ", fspath=0x%" PRI__x64"}",
+ "{inum=%" PRI__u64 ", size=%" PRI__u64
+ ", fspath=0x%" PRI__x64 "}",
btrfs_test_dir_fd, args.inum, args.size,
args.fspath);
ioctl(btrfs_test_dir_fd, BTRFS_IOC_INO_PATHS, &args);
@@ -1240,7 +1293,7 @@ btrfs_test_ino_path_ioctls(void)
/* This is also a live test for FIEMAP */
printf("ioctl(%d, FS_IOC_FIEMAP, {fm_start=%" PRI__u64
- ", fm_length=%" PRI__u64", fm_flags=",
+ ", fm_length=%" PRI__u64 ", fm_flags=",
fd, fiemap->fm_start, fiemap->fm_length);
printflags(fiemap_flags, fiemap->fm_flags, "FIEMAP_FLAG_???");
printf(", fm_extent_count=%u}", fiemap->fm_extent_count);
@@ -1274,7 +1327,7 @@ btrfs_test_ino_path_ioctls(void)
args.inum = fiemap->fm_extents[0].fe_physical;
printf("ioctl(%d, BTRFS_IOC_LOGICAL_INO, {logical=%" PRI__u64
- ", size=%" PRI__u64", inodes=0x%" PRI__x64"}",
+ ", size=%" PRI__u64 ", flags=0, inodes=0x%" PRI__x64 "}",
fd, args.inum, args.size, args.fspath);
ioctl(fd, BTRFS_IOC_LOGICAL_INO, &args);
printf(" => {inodes={bytes_left=%u, bytes_missing=%u, elem_cnt=%u, elem_missed=%u, val=",
@@ -1314,7 +1367,7 @@ btrfs_test_set_received_subvol_ioctl(void)
ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, &args);
printf("ioctl(-1, BTRFS_IOC_SET_RECEIVED_SUBVOL, "
- "{uuid=%s, stransid=%" PRI__u64", stime=%" PRI__u64
+ "{uuid=%s, stransid=%" PRI__u64 ", stime=%" PRI__u64
".%u, flags=0}) = -1 EBADF (%m)\n",
uuid_reference_string, args.stransid, args.stime.sec,
args.stime.nsec);
@@ -1427,7 +1480,7 @@ btrfs_test_qgroup_assign_ioctl(void)
ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, &args);
printf("ioctl(-1, BTRFS_IOC_QGROUP_ASSIGN, "
- "{assign=%" PRI__u64", src=%" PRI__u64", dst=%" PRI__u64
+ "{assign=%" PRI__u64 ", src=%" PRI__u64 ", dst=%" PRI__u64
"}) = -1 EBADF (%m)\n", args.assign, args.src, args.dst);
}
@@ -1448,7 +1501,7 @@ btrfs_test_qgroup_create_ioctl(void)
ioctl(-1, BTRFS_IOC_QGROUP_CREATE, &args);
printf("ioctl(-1, BTRFS_IOC_QGROUP_CREATE, "
- "{create=%" PRI__u64", qgroupid=%" PRI__u64
+ "{create=%" PRI__u64 ", qgroupid=%" PRI__u64
"}) = -1 EBADF (%m)\n", args.create, args.qgroupid);
}
@@ -1523,7 +1576,7 @@ btrfs_test_get_dev_stats_ioctl(void)
printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, NULL) = -1 EBADF (%m)\n");
printf("ioctl(-1, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64
- ", nr_items=%" PRI__u64", flags=",
+ ", nr_items=%" PRI__u64 ", flags=",
args.devid, args.nr_items);
printflags(btrfs_dev_stats_flags, args.flags,
"BTRFS_DEV_STATS_???");
@@ -1534,7 +1587,7 @@ btrfs_test_get_dev_stats_ioctl(void)
unsigned int i;
args.flags = BTRFS_DEV_STATS_RESET;
printf("ioctl(%d, BTRFS_IOC_GET_DEV_STATS, {devid=%" PRI__u64
- ", nr_items=%" PRI__u64", flags=",
+ ", nr_items=%" PRI__u64 ", flags=",
btrfs_test_dir_fd, args.devid, args.nr_items);
printflags(btrfs_dev_stats_flags, args.flags,
"BTRFS_DEV_STATS_???");
@@ -1579,7 +1632,7 @@ btrfs_test_dev_replace_ioctl(void)
ioctl(-1, BTRFS_IOC_DEV_REPLACE, &args);
printf("ioctl(-1, BTRFS_IOC_DEV_REPLACE, "
"{cmd=BTRFS_IOCTL_DEV_REPLACE_CMD_START, start={srcdevid=%"
- PRI__u64", cont_reading_from_srcdev_mode=%" PRI__u64
+ PRI__u64 ", cont_reading_from_srcdev_mode=%" PRI__u64
", srcdev_name=\"%s\", tgtdev_name=\"%s\"}}) = -1 EBADF (%m)\n",
args.start.srcdevid,
args.start.cont_reading_from_srcdev_mode,
diff --git a/tests/count.test b/tests/count.test
index a9752c09..a2ecc4fa 100755
--- a/tests/count.test
+++ b/tests/count.test
@@ -3,7 +3,7 @@
# Check whether -c and -w options work.
#
# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2014-2017 The strace developers.
+# Copyright (c) 2014-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -50,8 +50,12 @@ grep_log()
}
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -O1
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -enanosleep
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -O1 -enanosleep
grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw
+grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw -O1
grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -enanosleep
+grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -O1 -enanosleep
exit 0
diff --git a/tests/delay.c b/tests/delay.c
new file mode 100644
index 00000000..926c5abf
--- /dev/null
+++ b/tests/delay.c
@@ -0,0 +1,135 @@
+/*
+ * Check delay injection.
+ *
+ * Copyright (c) 2018 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 <limits.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+#include <asm/unistd.h>
+
+static int64_t
+usecs_from_tv(const struct timeval *const tv)
+{
+ return (int64_t) tv->tv_sec * 1000000 + tv->tv_usec;
+}
+
+static int64_t
+usecs_from_ts(const struct timespec *const ts)
+{
+ return (int64_t) ts->tv_sec * 1000000 + ts->tv_nsec / 1000;
+}
+
+static void
+check_delay(const struct timeval *const tv0,
+ const struct timespec *const ts,
+ const struct timeval *const tv1,
+ const int nproc,
+ const int64_t delay_enter,
+ const int64_t delay_exit)
+{
+ const int64_t us0 = usecs_from_tv(tv0);
+ const int64_t us = usecs_from_ts(ts);
+ const int64_t us1 = usecs_from_tv(tv1);
+
+ if (us - us0 < delay_exit * (nproc - 1) / nproc)
+ _exit(1);
+
+ if (us - us0 > delay_exit * (nproc + 1) / nproc)
+ _exit(2);
+
+ if (us1 - us < delay_enter * (nproc - 1) / nproc)
+ _exit(3);
+
+ if (us1 - us > delay_enter * (nproc + 1) / nproc)
+ _exit(4);
+}
+
+static void
+run(const int nproc, const int delay_enter, const int delay_exit)
+{
+ struct timeval prev = { 0, 0 }, now;
+
+ for (int i = 0; i < nproc; ++i, prev = now) {
+ struct timespec ts;
+
+ if (i && clock_gettime(CLOCK_REALTIME, &ts))
+ perror_msg_and_fail("clock_gettime");
+
+ if (syscall(__NR_gettimeofday, &now, NULL))
+ perror_msg_and_fail("gettimeofday");
+
+ if (!i)
+ continue;
+
+ check_delay(&prev, &ts, &now, nproc, delay_enter, delay_exit);
+ }
+
+ _exit(0);
+}
+
+int
+main(int ac, char *av[])
+{
+ if (ac != 4)
+ error_msg_and_fail("usage: delay <nproc> <delay_enter> <delay_exit>");
+
+ const int nproc = atoi(av[1]);
+ if (nproc <= 1)
+ perror_msg_and_fail("invalid nproc: %s", av[1]);
+
+ const int delay_enter = atoi(av[2]);
+ if (delay_enter <= 0)
+ perror_msg_and_fail("invalid delay_enter: %s", av[2]);
+
+ const int delay_exit = atoi(av[3]);
+ if (delay_exit <= 0)
+ perror_msg_and_fail("invalid delay_exit: %s", av[3]);
+
+ for (int i = 0; i < nproc; ++i) {
+ pid_t pid = fork();
+
+ if (pid)
+ usleep(MAX(delay_enter, delay_exit) / nproc);
+ else
+ run(nproc, delay_enter, delay_exit);
+ }
+
+ int status;
+ while (wait(&status) > 0) {
+ if (status)
+ perror_msg_and_fail("wait status %d", status);
+ }
+
+ return 0;
+}
diff --git a/tests/delay.test b/tests/delay.test
new file mode 100755
index 00000000..5fb2ad62
--- /dev/null
+++ b/tests/delay.test
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Check delay injection.
+
+. "${srcdir=.}/init.sh"
+
+delay_enter=800000
+delay_exit=1600000
+run_strace -f -r -egettimeofday \
+ -einject=gettimeofday:delay_enter=$delay_enter:delay_exit=$delay_exit \
+ ../delay 4 $delay_enter $delay_exit
diff --git a/tests/dev-yy.c b/tests/dev-yy.c
new file mode 100644
index 00000000..58a1e414
--- /dev/null
+++ b/tests/dev-yy.c
@@ -0,0 +1,101 @@
+/*
+ * Check printing of character/block device numbers in -yy mode.
+ *
+ * Copyright (c) 2018 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 <unistd.h>
+
+#include <asm/unistd.h>
+
+#include <linux/fcntl.h>
+
+#include <sys/sysmacros.h>
+
+#if defined __NR_openat && defined O_PATH
+
+int
+main(void)
+{
+ static const struct {
+ const char *path;
+ unsigned int major;
+ unsigned int minor;
+ bool blk;
+ bool optional;
+ } checks[] = {
+ { "/dev/zero", 1, 5, false, false },
+ { "/dev/full", 1, 7, false, false },
+ { "/dev/sda", 8, 0, true, true },
+ };
+
+ for (unsigned int i = 0; i < ARRAY_SIZE(checks); i++) {
+ /*
+ * We can't have nice things here and call openat() directly as
+ * some libcs (yes, musl, I'm looking at you now) are too
+ * frivolous in passing flags to the kernel.
+ */
+ long fd = syscall(__NR_openat, AT_FDCWD, checks[i].path,
+ O_RDONLY|O_PATH);
+
+ printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_PATH) = %s",
+ checks[i].path, sprintrc(fd));
+ if (fd >= 0)
+ printf("<%s<%s %u:%u>>",
+ checks[i].path,
+ checks[i].blk ? "block" : "char",
+ checks[i].major, checks[i].minor);
+ puts("");
+
+ if (fd < 0) {
+ if (checks[i].optional)
+ continue;
+ else
+ perror_msg_and_fail("openat(\"%s\")",
+ checks[i].path);
+ }
+
+ int rc = fsync(fd);
+
+ printf("fsync(%ld<%s<%s %u:%u>>) = %s\n",
+ fd, checks[i].path, checks[i].blk ? "block" : "char",
+ checks[i].major, checks[i].minor, sprintrc(rc));
+
+ close(fd);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_openat && O_PATH")
+
+#endif
diff --git a/tests/dev-yy.gen.test b/tests/dev-yy.gen.test
new file mode 100755
index 00000000..d83d2e10
--- /dev/null
+++ b/tests/dev-yy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
diff --git a/tests/file_handle.c b/tests/file_handle.c
index bbdf48b1..8559ba64 100644
--- a/tests/file_handle.c
+++ b/tests/file_handle.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,6 @@
# include <inttypes.h>
# include <fcntl.h>
# include <stdio.h>
-# include <stdbool.h>
# include <unistd.h>
enum assert_rc {
diff --git a/tests/fsync-y.c b/tests/fsync-y.c
new file mode 100644
index 00000000..34267b9c
--- /dev/null
+++ b/tests/fsync-y.c
@@ -0,0 +1,71 @@
+/*
+ * Check printing of file name in strace -y mode.
+ *
+ * Copyright (c) 2018 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 <fcntl.h>
+#include <limits.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int
+main(void)
+{
+ char dir[PATH_MAX + 1];
+
+ const struct {
+ const char *path;
+ const char *cstr;
+ const char *fdstr;
+ } checks[] = {
+ { ARG_STR("\1\0020\v\0047\f\58\t\79\n\10\0171\r\0167\218\37 \\\'\"<<0::0>>1~\177\200\377"),
+ "\\1\\0020\\v\\0047\\f\\58\\t\\79\\n\\10\\0171\\r\\0167"
+ "\\218\\37 \\\\\'\\\"\\74\\0740::0\\76\\0761~\\177\\200\\377" },
+ };
+
+ if (!getcwd(dir, sizeof(dir)))
+ perror_msg_and_fail("getcwd");
+
+ for (unsigned int i = 0; i < ARRAY_SIZE(checks); i++) {
+ long fd = open(checks[i].path, O_RDONLY|O_CREAT, 0600);
+ if (fd < 0)
+ perror_msg_and_fail("open(%s)", checks[i].cstr);
+
+ int rc = fsync(fd);
+
+ printf("fsync(%ld<", fd);
+ print_quoted_string_ex(dir, false, ">:");
+ printf("/%s>) = %s\n", checks[i].fdstr, sprintrc(rc));
+
+ close(fd);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests/fsync-y.gen.test b/tests/fsync-y.gen.test
new file mode 100755
index 00000000..055a580f
--- /dev/null
+++ b/tests/fsync-y.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fsync-y -y -e trace=fsync); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -y -e trace=fsync
diff --git a/tests/futex.c b/tests/futex.c
index 0c095b8f..174100f3 100644
--- a/tests/futex.c
+++ b/tests/futex.c
@@ -34,7 +34,6 @@
# include <errno.h>
# include <stdarg.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdint.h>
# include <unistd.h>
diff --git a/tests/gen_tests.am b/tests/gen_tests.am
index 29d8c643..2cd76bc2 100644
--- a/tests/gen_tests.am
+++ b/tests/gen_tests.am
@@ -1,5 +1,5 @@
# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
-GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 group_req.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_dm.gen.test ioctl_dm-v.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_kvm_run.gen.test ioctl_loop.gen.test ioctl_loop-nv.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 kcmp-y.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 modify_ldt.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_crypto.gen.test netlink_generic.gen.test netlink_kobject_uevent.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 nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test nfnetlink_osf.gen.test nfnetlink_queue.gen.test nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test nlattr_inet_diag_req_compat.gen.test nlattr_inet_diag_req_v2.gen.test nlattr_mdba_mdb_entry.gen.test nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test printpath-umovestr.gen.test printpath-umovestr-peekdata.gen.test printpath-umovestr-undumpable.gen.test printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test select.gen.test select-P.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 so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test socketcall.gen.test sockopt-sol_netlink.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
+GEN_TESTS = _newselect.gen.test _newselect-P.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 bpf-v.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 dev-yy.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 fsync-y.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 group_req.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_dm.gen.test ioctl_dm-v.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_kvm_run.gen.test ioctl_loop.gen.test ioctl_loop-nv.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_nsfs.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_sock_gifconf.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 kcmp-y.gen.test kern_features.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 modify_ldt.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 net-yy-inet6.gen.test netlink_audit.gen.test netlink_crypto.gen.test netlink_generic.gen.test netlink_kobject_uevent.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 nfnetlink_acct.gen.test nfnetlink_cthelper.gen.test nfnetlink_ctnetlink.gen.test nfnetlink_ctnetlink_exp.gen.test nfnetlink_cttimeout.gen.test nfnetlink_ipset.gen.test nfnetlink_nft_compat.gen.test nfnetlink_nftables.gen.test nfnetlink_osf.gen.test nfnetlink_queue.gen.test nfnetlink_ulog.gen.test nlattr_crypto_user_alg.gen.test nlattr_br_port_msg.gen.test nlattr_dcbmsg.gen.test nlattr_fib_rule_hdr.gen.test nlattr_ifaddrlblmsg.gen.test nlattr_ifaddrmsg.gen.test nlattr_ifinfomsg.gen.test nlattr_ifla_brport.gen.test nlattr_ifla_port.gen.test nlattr_ifla_xdp.gen.test nlattr_inet_diag_msg.gen.test nlattr_inet_diag_req_compat.gen.test nlattr_inet_diag_req_v2.gen.test nlattr_mdba_mdb_entry.gen.test nlattr_mdba_router_port.gen.test nlattr_ndmsg.gen.test nlattr_ndtmsg.gen.test nlattr_netconfmsg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_nlmsgerr.gen.test nlattr_packet_diag_msg.gen.test nlattr_rtgenmsg.gen.test nlattr_rtmsg.gen.test nlattr_smc_diag_msg.gen.test nlattr_tc_stats.gen.test nlattr_tca_stab.gen.test nlattr_tcamsg.gen.test nlattr_tcmsg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test old_mmap-P.gen.test old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test oldselect.gen.test oldselect-P.gen.test oldselect-efault.gen.test oldselect-efault-P.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-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test printpath-umovestr.gen.test printpath-umovestr-peekdata.gen.test printpath-umovestr-undumpable.gen.test printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test printstrn-umoven-undumpable.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 riscv_flush_icache.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 s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test s390_sthyi.gen.test s390_sthyi-v.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 seccomp_get_action_avail.gen.test select.gen.test select-P.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 so_linger.gen.test so_peercred.gen.test sock_filter-v.gen.test socketcall.gen.test sockopt-sol_netlink.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) $^ $@
@@ -73,6 +73,9 @@ $(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/dev-yy.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) $^ $@
@@ -181,6 +184,9 @@ $(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/fsync-y.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) $^ $@
@@ -382,6 +388,9 @@ $(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/kern_features.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) $^ $@
@@ -511,6 +520,9 @@ $(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)/net-yy-inet6.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) $^ $@
diff --git a/tests/gen_tests.in b/tests/gen_tests.in
index ea33892f..a95ff3e2 100644
--- a/tests/gen_tests.in
+++ b/tests/gen_tests.in
@@ -49,6 +49,7 @@ clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime
copy_file_range
creat -a20
delete_module -a23
+dev-yy -a30 -e trace=openat,fsync -P "/dev/full" -P "/dev/zero" -P "/dev/sda" -yy
dup -a8
dup2 -a13
dup3 -a24
@@ -85,6 +86,7 @@ fstatat64 -a32 -v -P stat.sample -P /dev/full
fstatfs -a18
fstatfs64 -a24
fsync -a10
+fsync-y -y -e trace=fsync
ftruncate -a24
ftruncate64 -a36
futimesat -a28
@@ -152,6 +154,7 @@ ipc_sem +ipc.sh
ipc_shm +ipc.sh
kcmp -a22
kcmp-y -a22 -y -e trace=kcmp
+kern_features -a16
kexec_file_load -s9
kexec_load -s9
keyctl -a31 -s10
@@ -195,6 +198,7 @@ munlockall -a13
nanosleep -a20
net-icmp_filter -e trace=getsockopt,setsockopt
net-sockaddr -a24 -e trace=connect
+net-yy-inet6 +net-yy-inet.test
netlink_audit +netlink_sock_diag.test
netlink_crypto +netlink_sock_diag.test
netlink_generic +netlink_sock_diag.test
@@ -291,7 +295,7 @@ quotactl
quotactl-v -v -e trace=quotactl
quotactl-xfs -e trace=quotactl
quotactl-xfs-v -v -e trace=quotactl
-read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
readahead -a1
readdir -a16
readlink -xx
diff --git a/tests/init.sh b/tests/init.sh
index 4cb8f1ab..dffbfceb 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -26,6 +26,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+export LC_ALL=C
ME_="${0##*/}"
LOG="log"
OUT="out"
@@ -236,7 +237,7 @@ kernel_version_code()
(
set -f
IFS=.
- set -- $1
+ set -- $1 0 0
v1="${1%%[!0-9]*}" && [ -n "$v1" ] || v1=0
v2="${2%%[!0-9]*}" && [ -n "$v2" ] || v2=0
v3="${3%%[!0-9]*}" && [ -n "$v3" ] || v3=0
diff --git a/tests/inject-nf.c b/tests/inject-nf.c
new file mode 100644
index 00000000..b0d8431b
--- /dev/null
+++ b/tests/inject-nf.c
@@ -0,0 +1,86 @@
+/*
+ * Check decoding of return values injected into a syscall that "never fails".
+ *
+ * Copyright (c) 2018 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 <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <asm/unistd.h>
+
+#include "raw_syscall.h"
+
+#ifdef __alpha__
+/* alpha has no getpid */
+# define SC_NR __NR_getpgrp
+# define SC_NAME "getpgrp"
+# define getpid getpgrp
+#else
+# define SC_NR __NR_getpid
+# define SC_NAME "getpid"
+#endif
+
+#ifdef raw_syscall_0
+# define INVOKE_SC(err) raw_syscall_0(SC_NR, &err)
+#else
+/* No raw_syscall_0, let's use getpid() and hope for the best. */
+# define INVOKE_SC(err) getpid()
+#endif
+
+/*
+ * This prototype is intentionally different
+ * from the prototype provided by <unistd.h>.
+ */
+extern kernel_ulong_t getpid(void);
+
+int
+main(int ac, char **av)
+{
+ assert(ac == 1 || ac == 2);
+
+ kernel_ulong_t expected =
+ (ac == 1) ? getpid() : strtoull(av[1], NULL, 0);
+ kernel_ulong_t err = 0;
+ kernel_ulong_t rc = INVOKE_SC(err);
+
+ if (err || rc != expected)
+ error_msg_and_fail("expected %#llx, got rval=%#llx err=%#llx",
+ (unsigned long long) expected,
+ (unsigned long long) rc,
+ (unsigned long long) err);
+
+ if (ac == 2) {
+ printf("%s() = %llu (INJECTED)\n",
+ SC_NAME, (unsigned long long) rc);
+
+ puts("+++ exited with 0 +++");
+ }
+
+ return 0;
+}
diff --git a/tests/inject-nf.test b/tests/inject-nf.test
new file mode 100755
index 00000000..fa82e442
--- /dev/null
+++ b/tests/inject-nf.test
@@ -0,0 +1,50 @@
+#!/bin/sh -efu
+
+# Check decoding of return values injected into a syscall that "never fails".
+
+. "${srcdir=.}/scno_tampering.sh"
+
+case "$STRACE_ARCH" in
+alpha)
+ SYSCALL=getpgrp
+ ;;
+*)
+ SYSCALL=getpid
+ ;;
+esac
+
+run_prog
+prog="$args"
+fault_args="-a9 -e trace=${SYSCALL} -e inject=${SYSCALL}:retval="
+
+test_rval()
+{
+ local rval
+ rval="$1"; shift
+
+ run_strace $fault_args$rval $prog $rval > "$EXP"
+ match_diff "$LOG" "$EXP"
+}
+
+test_rval 0
+test_rval 1
+test_rval 0x7fffffff
+test_rval 0x80000000
+test_rval 0xfffff000
+test_rval 0xfffffffe
+test_rval 0xffffffff
+
+case "$SIZEOF_KERNEL_LONG_T" in
+8)
+ test_rval 0x80000000
+ test_rval 0xfffff000
+ test_rval 0xfffffffe
+ test_rval 0xffffffff
+ test_rval 0x100000000
+ test_rval 0x7fffffffffffffff
+ test_rval 0x8000000000000000
+ test_rval 0xfffffffffffff000
+ test_rval 0xfffffffffffffffe
+ test_rval 0xffffffffffffffff
+ ;;
+esac
diff --git a/tests/ioctl.test b/tests/ioctl.test
index cbbadc83..b1b40d9e 100755
--- a/tests/ioctl.test
+++ b/tests/ioctl.test
@@ -7,5 +7,5 @@
check_prog grep
run_prog > /dev/null
run_strace -a16 -eioctl "$@" $args > "$EXP"
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT"
match_diff "$OUT" "$EXP"
diff --git a/tests/ioctl_dm.c b/tests/ioctl_dm.c
index bbdc00c6..3792291e 100644
--- a/tests/ioctl_dm.c
+++ b/tests/ioctl_dm.c
@@ -35,7 +35,6 @@
# include <errno.h>
# include <inttypes.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stddef.h>
# include <string.h>
diff --git a/tests/ioctl_loop.c b/tests/ioctl_loop.c
index 56ebd9e4..bafbd378 100644
--- a/tests/ioctl_loop.c
+++ b/tests/ioctl_loop.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2016 JingPiao Chen <chenjingpiao@gmail.com>
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,6 @@
#include "tests.h"
#include <stdio.h>
-#include <stdbool.h>
#include <string.h>
#include <inttypes.h>
#include <sys/ioctl.h>
diff --git a/tests/ioctl_sock_gifconf.c b/tests/ioctl_sock_gifconf.c
index efa55a3a..65725294 100644
--- a/tests/ioctl_sock_gifconf.c
+++ b/tests/ioctl_sock_gifconf.c
@@ -2,7 +2,7 @@
* Check decoding of SIOCGIFCONF command of ioctl syscall.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -30,7 +30,6 @@
#include "tests.h"
-#include <stdbool.h>
#include <stdio.h>
#include <string.h>
diff --git a/tests/ioctl_v4l2.c b/tests/ioctl_v4l2.c
index 47a538e4..2736b392 100644
--- a/tests/ioctl_v4l2.c
+++ b/tests/ioctl_v4l2.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -27,35 +27,28 @@
*/
#include "tests.h"
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <linux/types.h>
#include <linux/videodev2.h>
-#if WORDS_BIGENDIAN
-# define cc0(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
-# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
-# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
-# define cc3(arg) ((unsigned int) (unsigned char) (arg))
-# define fourcc(a0, a1, a2, a3) \
- ((unsigned int)(a3) | \
- ((unsigned int)(a2) << 8) | \
- ((unsigned int)(a1) << 16) | \
- ((unsigned int)(a0) << 24))
-#else
-# define cc0(arg) ((unsigned int) (unsigned char) (arg))
-# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
-# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
-# define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
-# define fourcc(a0, a1, a2, a3) \
+#define cc0(arg) ((unsigned int) (unsigned char) (arg))
+#define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
+#define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
+#define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
+#define fourcc(a0, a1, a2, a3) \
((unsigned int)(a0) | \
((unsigned int)(a1) << 8) | \
((unsigned int)(a2) << 16) | \
((unsigned int)(a3) << 24))
-#endif
static const unsigned int magic = 0xdeadbeef;
+static const unsigned int pf_magic = fourcc('S', '5', '0', '8');
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+static const unsigned int sf_magic = fourcc('R', 'U', '1', '2');
+#endif
static void
init_v4l2_format(struct v4l2_format *const f,
@@ -68,7 +61,10 @@ init_v4l2_format(struct v4l2_format *const f,
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
f->fmt.pix.width = 0x657b8160;
f->fmt.pix.height = 0x951c0047;
- f->fmt.pix.pixelformat = magic;
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+ f->fmt.pix.pixelformat = magic;
+ else
+ f->fmt.pix.pixelformat = pf_magic;
f->fmt.pix.field = V4L2_FIELD_NONE;
f->fmt.pix.bytesperline = 0xdf20d185;
f->fmt.pix.sizeimage = 0x0cf7be41;
@@ -82,7 +78,10 @@ init_v4l2_format(struct v4l2_format *const f,
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
f->fmt.pix_mp.width = 0x1f3b774b;
f->fmt.pix_mp.height = 0xab96a8d6;
- f->fmt.pix_mp.pixelformat = magic;
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
+ f->fmt.pix_mp.pixelformat = magic;
+ else
+ f->fmt.pix_mp.pixelformat = pf_magic;
f->fmt.pix_mp.field = V4L2_FIELD_NONE;
f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
struct v4l2_plane_pix_format *cur_pix =
@@ -129,7 +128,10 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.vbi.sampling_rate = 0x3d9b5b79;
f->fmt.vbi.offset = 0x055b3a09;
f->fmt.vbi.samples_per_line = 0xf176d436;
- f->fmt.vbi.sample_format = magic;
+ if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE)
+ f->fmt.vbi.sample_format = magic;
+ else
+ f->fmt.vbi.sample_format = pf_magic;
f->fmt.vbi.start[0] = 0x9858e2eb;
f->fmt.vbi.start[1] = 0x8a4dc8c1;
f->fmt.vbi.count[0] = 0x4bcf36a3;
@@ -154,13 +156,18 @@ init_v4l2_format(struct v4l2_format *const f,
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
case V4L2_BUF_TYPE_SDR_OUTPUT:
+ f->fmt.sdr.pixelformat = sf_magic;
+# ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+ f->fmt.sdr.buffersize = 0x25afabfb;
+# endif
+ break;
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
f->fmt.sdr.pixelformat = magic;
-#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+# ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
f->fmt.sdr.buffersize = 0x25afabfb;
-#endif
+# endif
break;
#endif
}
@@ -171,18 +178,30 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
const char *request, const unsigned int buf_type,
const char *buf_type_string)
{
+ int saved_errno;
+
switch (buf_type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
- ", fmt.pix={width=%u, height=%u, pixelformat="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
- ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
+ ", fmt.pix={width=%u, height=%u, pixelformat=",
request,
buf_type_string,
- f->fmt.pix.width, f->fmt.pix.height,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+ f->fmt.pix.width, f->fmt.pix.height);
+
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ errno = saved_errno;
+ printf(", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
+ ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
f->fmt.pix.bytesperline,
f->fmt.pix.sizeimage);
break;
@@ -191,16 +210,25 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
unsigned int i;
+ saved_errno = errno;
printf("ioctl(-1, %s"
", {type=%s"
- ", fmt.pix_mp={width=%u, height=%u, pixelformat="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", field=V4L2_FIELD_NONE, colorspace="
- "V4L2_COLORSPACE_JPEG, plane_fmt=[",
+ ", fmt.pix_mp={width=%u, height=%u, pixelformat=",
request,
buf_type_string,
- f->fmt.pix_mp.width, f->fmt.pix_mp.height,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ f->fmt.pix_mp.width, f->fmt.pix_mp.height);
+
+ if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ printf(", field=V4L2_FIELD_NONE, colorspace="
+ "V4L2_COLORSPACE_JPEG, plane_fmt=[");
for (i = 0;
i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
++i) {
@@ -210,6 +238,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
f->fmt.pix_mp.plane_fmt[i].sizeimage,
f->fmt.pix_mp.plane_fmt[i].bytesperline);
}
+ errno = saved_errno;
printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
f->fmt.pix_mp.num_planes);
break;
@@ -250,18 +279,28 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
break;
case V4L2_BUF_TYPE_VBI_CAPTURE:
case V4L2_BUF_TYPE_VBI_OUTPUT:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
", fmt.vbi={sampling_rate=%u, offset=%u"
- ", samples_per_line=%u, sample_format="
- "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
- ", start=[%u, %u], count=[%u, %u]"
- ", flags=V4L2_VBI_INTERLACED}})"
- " = -1 EBADF (%m)\n",
+ ", samples_per_line=%u, sample_format=",
request,
buf_type_string,
f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
- f->fmt.vbi.samples_per_line,
- cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+ f->fmt.vbi.samples_per_line);
+
+ if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_PIX_FMT_SPCA508 */",
+ cc0(pf_magic), cc1(pf_magic), cc2(pf_magic),
+ cc3(pf_magic));
+
+ errno = saved_errno;
+ printf(", start=[%u, %u], count=[%u, %u]"
+ ", flags=V4L2_VBI_INTERLACED}})"
+ " = -1 EBADF (%m)\n",
f->fmt.vbi.start[0], f->fmt.vbi.start[1],
f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
break;
@@ -301,16 +340,29 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
#endif
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
+ saved_errno = errno;
printf("ioctl(-1, %s, {type=%s"
- ", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
- " '\\x%x', '\\x%x')"
+ ", fmt.sdr={pixelformat=",
+ request,
+ buf_type_string);
+
+ if (buf_type == V4L2_BUF_TYPE_SDR_CAPTURE)
+ printf("v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')",
+ cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+# if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+ else
+ printf("v4l2_fourcc('%c', '%c', '%c', '%c') "
+ "/* V4L2_SDR_FMT_RU12LE */",
+ cc0(sf_magic), cc1(sf_magic), cc2(sf_magic),
+ cc3(sf_magic));
+# endif
+
+ errno = saved_errno;
+ printf(
#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)
+ "}}) = -1 EBADF (%m)\n"
#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
, f->fmt.sdr.buffersize
#endif
diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c
index c7931388..6586c8af 100644
--- a/tests/ipc_shm.c
+++ b/tests/ipc_shm.c
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
* Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/tests/kern_features-fault.test b/tests/kern_features-fault.test
new file mode 100755
index 00000000..20c964bf
--- /dev/null
+++ b/tests/kern_features-fault.test
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# Check decoding of SPARC-specific kern_features syscall.
+
+. "${srcdir=.}/scno_tampering.sh"
+
+run_prog ../kern_features > /dev/null
+prog="$args"
+fault_args='-a16 -e trace=kern_features -e inject=kern_features:retval='
+
+test_run_rval()
+{
+ local run rval
+ run="$1"; shift
+ rval="$1"; shift
+
+ run_strace $fault_args$rval $prog $run > "$EXP"
+ match_diff "$LOG" "$EXP"
+}
+
+test_run_rval 0 0
+test_run_rval 1 1
+test_run_rval 2 2
+test_run_rval 3 2147483646 # 0x7ffffffe
+test_run_rval 4 2147483647 # 0x7fffffff
+
+exit 0 # injecting retval < 0 not supported yet
+
+case "$SIZEOF_KERNEL_LONG_T" in
+4)
+ test_run_rval 5 3735943886 # 0xdeadface
+ test_run_rval 6 4294967295 # 0xffffffff
+ ;;
+8)
+ test_run_rval 5 13464652301225294542 # 0xbadc0deddeadface
+ test_run_rval 6 18446744073709551615 # 0xffffffffffffffff
+ ;;
+esac
diff --git a/tests/kern_features.c b/tests/kern_features.c
new file mode 100644
index 00000000..87bc3f6f
--- /dev/null
+++ b/tests/kern_features.c
@@ -0,0 +1,120 @@
+/*
+ * Check decoding of SPARC-specific kern_features syscall.
+ *
+ * Copyright (c) 2018 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 <asm/unistd.h>
+
+#include "raw_syscall.h"
+#include "scno.h"
+
+#if defined __NR_kern_features && defined raw_syscall_0
+
+# include <errno.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
+
+static void
+test_kern_features(unsigned int num)
+{
+ /* The expected return codes, as enforced by fault injection */
+ static struct {
+ kernel_ulong_t ret;
+ const char *str;
+ } checks[] = {
+ { 0, NULL },
+ { 1, "KERN_FEATURE_MIXED_MODE_STACK" },
+ { 2, "0x2" },
+ { 0x7ffffffe, "0x7ffffffe" },
+ { 0x7fffffff, "KERN_FEATURE_MIXED_MODE_STACK|0x7ffffffe" },
+ { (kernel_ulong_t) 0xbadc0deddeadfaceULL,
+ sizeof(kernel_ulong_t) == 8 ?
+ "0xbadc0deddeadface" : "0xdeadface" },
+ { (kernel_ulong_t) -1ULL,
+ sizeof(kernel_ulong_t) == 8 ?
+ "KERN_FEATURE_MIXED_MODE_STACK|0xfffffffffffffffe" :
+ "KERN_FEATURE_MIXED_MODE_STACK|0xfffffffe" },
+ };
+
+ kernel_ulong_t err = 0;
+ kernel_ulong_t rc = raw_syscall_0(__NR_kern_features, &err);
+
+ if (err) {
+ errno = rc;
+ printf("kern_features() = %s\n", sprintrc(-1));
+ return;
+ }
+
+ printf("kern_features() = %#llx", (unsigned long long) rc);
+
+ if (num < ARRAY_SIZE(checks)) {
+ if (rc != checks[num].ret)
+ error_msg_and_fail("Expected return value (%llx) "
+ "doesn't match expected one (%#llx)",
+ (unsigned long long) rc,
+ (unsigned long long) checks[num].ret);
+
+ if (checks[num].str)
+ printf(" (%s)", checks[num].str);
+
+ printf(" (INJECTED)");
+ } else if (rc) {
+ printf(" (");
+
+ if (rc & 1)
+ printf("KERN_FEATURE_MIXED_MODE_STACK");
+
+ if (rc & ~1ULL) {
+ if (rc & 1)
+ printf("|");
+
+ printf("%#llx", rc & ~1ULL);
+ }
+
+ printf(")");
+ }
+
+ puts("");
+}
+
+int
+main(int ac, char **av)
+{
+ test_kern_features(ac > 1 ? atoi(av[1]) : -1);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_kern_features && raw_syscall_0");
+
+#endif
diff --git a/tests/kern_features.gen.test b/tests/kern_features.gen.test
new file mode 100755
index 00000000..317614a4
--- /dev/null
+++ b/tests/kern_features.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kern_features -a16 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests/keyctl.c b/tests/keyctl.c
index 2d8b9ecc..5d46ab78 100644
--- a/tests/keyctl.c
+++ b/tests/keyctl.c
@@ -2,7 +2,7 @@
* Check decoding of keyctl syscall.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
# include <errno.h>
# include <inttypes.h>
# include <stdarg.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
diff --git a/tests/ksysent.h b/tests/ksysent.h
new file mode 100644
index 00000000..5eb831e5
--- /dev/null
+++ b/tests/ksysent.h
@@ -0,0 +1,828 @@
+#ifdef __NR_accept
+[__NR_accept & 0xffff] = "accept",
+#endif
+#ifdef __NR_accept4
+[__NR_accept4 & 0xffff] = "accept4",
+#endif
+#ifdef __NR_acct
+[__NR_acct & 0xffff] = "acct",
+#endif
+#ifdef __NR_add_key
+[__NR_add_key & 0xffff] = "add_key",
+#endif
+#ifdef __NR_adjtimex
+[__NR_adjtimex & 0xffff] = "adjtimex",
+#endif
+#ifdef __NR_bind
+[__NR_bind & 0xffff] = "bind",
+#endif
+#ifdef __NR_bpf
+[__NR_bpf & 0xffff] = "bpf",
+#endif
+#ifdef __NR_brk
+[__NR_brk & 0xffff] = "brk",
+#endif
+#ifdef __NR_capget
+[__NR_capget & 0xffff] = "capget",
+#endif
+#ifdef __NR_capset
+[__NR_capset & 0xffff] = "capset",
+#endif
+#ifdef __NR_chdir
+[__NR_chdir & 0xffff] = "chdir",
+#endif
+#ifdef __NR_chroot
+[__NR_chroot & 0xffff] = "chroot",
+#endif
+#ifdef __NR_clock_adjtime
+[__NR_clock_adjtime & 0xffff] = "clock_adjtime",
+#endif
+#ifdef __NR_clock_getres
+[__NR_clock_getres & 0xffff] = "clock_getres",
+#endif
+#ifdef __NR_clock_gettime
+[__NR_clock_gettime & 0xffff] = "clock_gettime",
+#endif
+#ifdef __NR_clock_nanosleep
+[__NR_clock_nanosleep & 0xffff] = "clock_nanosleep",
+#endif
+#ifdef __NR_clock_settime
+[__NR_clock_settime & 0xffff] = "clock_settime",
+#endif
+#ifdef __NR_clone
+[__NR_clone & 0xffff] = "clone",
+#endif
+#ifdef __NR_close
+[__NR_close & 0xffff] = "close",
+#endif
+#ifdef __NR_connect
+[__NR_connect & 0xffff] = "connect",
+#endif
+#ifdef __NR_copy_file_range
+[__NR_copy_file_range & 0xffff] = "copy_file_range",
+#endif
+#ifdef __NR_delete_module
+[__NR_delete_module & 0xffff] = "delete_module",
+#endif
+#ifdef __NR_dup
+[__NR_dup & 0xffff] = "dup",
+#endif
+#ifdef __NR_dup3
+[__NR_dup3 & 0xffff] = "dup3",
+#endif
+#ifdef __NR_epoll_create1
+[__NR_epoll_create1 & 0xffff] = "epoll_create1",
+#endif
+#ifdef __NR_epoll_ctl
+[__NR_epoll_ctl & 0xffff] = "epoll_ctl",
+#endif
+#ifdef __NR_epoll_pwait
+[__NR_epoll_pwait & 0xffff] = "epoll_pwait",
+#endif
+#ifdef __NR_eventfd2
+[__NR_eventfd2 & 0xffff] = "eventfd2",
+#endif
+#ifdef __NR_execve
+[__NR_execve & 0xffff] = "execve",
+#endif
+#ifdef __NR_execveat
+[__NR_execveat & 0xffff] = "execveat",
+#endif
+#ifdef __NR_exit
+[__NR_exit & 0xffff] = "exit",
+#endif
+#ifdef __NR_exit_group
+[__NR_exit_group & 0xffff] = "exit_group",
+#endif
+#ifdef __NR_faccessat
+[__NR_faccessat & 0xffff] = "faccessat",
+#endif
+#ifdef __NR_fadvise64
+[__NR_fadvise64 & 0xffff] = "fadvise64",
+#endif
+#ifdef __NR_fallocate
+[__NR_fallocate & 0xffff] = "fallocate",
+#endif
+#ifdef __NR_fanotify_init
+[__NR_fanotify_init & 0xffff] = "fanotify_init",
+#endif
+#ifdef __NR_fanotify_mark
+[__NR_fanotify_mark & 0xffff] = "fanotify_mark",
+#endif
+#ifdef __NR_fchdir
+[__NR_fchdir & 0xffff] = "fchdir",
+#endif
+#ifdef __NR_fchmod
+[__NR_fchmod & 0xffff] = "fchmod",
+#endif
+#ifdef __NR_fchmodat
+[__NR_fchmodat & 0xffff] = "fchmodat",
+#endif
+#ifdef __NR_fchown
+[__NR_fchown & 0xffff] = "fchown",
+#endif
+#ifdef __NR_fchownat
+[__NR_fchownat & 0xffff] = "fchownat",
+#endif
+#ifdef __NR_fcntl
+[__NR_fcntl & 0xffff] = "fcntl",
+#endif
+#ifdef __NR_fdatasync
+[__NR_fdatasync & 0xffff] = "fdatasync",
+#endif
+#ifdef __NR_fgetxattr
+[__NR_fgetxattr & 0xffff] = "fgetxattr",
+#endif
+#ifdef __NR_finit_module
+[__NR_finit_module & 0xffff] = "finit_module",
+#endif
+#ifdef __NR_flistxattr
+[__NR_flistxattr & 0xffff] = "flistxattr",
+#endif
+#ifdef __NR_flock
+[__NR_flock & 0xffff] = "flock",
+#endif
+#ifdef __NR_fremovexattr
+[__NR_fremovexattr & 0xffff] = "fremovexattr",
+#endif
+#ifdef __NR_fsetxattr
+[__NR_fsetxattr & 0xffff] = "fsetxattr",
+#endif
+#ifdef __NR_fstat
+[__NR_fstat & 0xffff] = "fstat",
+#endif
+#ifdef __NR_fstatfs
+[__NR_fstatfs & 0xffff] = "fstatfs",
+#endif
+#ifdef __NR_fsync
+[__NR_fsync & 0xffff] = "fsync",
+#endif
+#ifdef __NR_ftruncate
+[__NR_ftruncate & 0xffff] = "ftruncate",
+#endif
+#ifdef __NR_futex
+[__NR_futex & 0xffff] = "futex",
+#endif
+#ifdef __NR_get_mempolicy
+[__NR_get_mempolicy & 0xffff] = "get_mempolicy",
+#endif
+#ifdef __NR_get_robust_list
+[__NR_get_robust_list & 0xffff] = "get_robust_list",
+#endif
+#ifdef __NR_getcpu
+[__NR_getcpu & 0xffff] = "getcpu",
+#endif
+#ifdef __NR_getcwd
+[__NR_getcwd & 0xffff] = "getcwd",
+#endif
+#ifdef __NR_getdents64
+[__NR_getdents64 & 0xffff] = "getdents64",
+#endif
+#ifdef __NR_getegid
+[__NR_getegid & 0xffff] = "getegid",
+#endif
+#ifdef __NR_geteuid
+[__NR_geteuid & 0xffff] = "geteuid",
+#endif
+#ifdef __NR_getgid
+[__NR_getgid & 0xffff] = "getgid",
+#endif
+#ifdef __NR_getgroups
+[__NR_getgroups & 0xffff] = "getgroups",
+#endif
+#ifdef __NR_getitimer
+[__NR_getitimer & 0xffff] = "getitimer",
+#endif
+#ifdef __NR_getpeername
+[__NR_getpeername & 0xffff] = "getpeername",
+#endif
+#ifdef __NR_getpgid
+[__NR_getpgid & 0xffff] = "getpgid",
+#endif
+#ifdef __NR_getpid
+[__NR_getpid & 0xffff] = "getpid",
+#endif
+#ifdef __NR_getppid
+[__NR_getppid & 0xffff] = "getppid",
+#endif
+#ifdef __NR_getpriority
+[__NR_getpriority & 0xffff] = "getpriority",
+#endif
+#ifdef __NR_getrandom
+[__NR_getrandom & 0xffff] = "getrandom",
+#endif
+#ifdef __NR_getresgid
+[__NR_getresgid & 0xffff] = "getresgid",
+#endif
+#ifdef __NR_getresuid
+[__NR_getresuid & 0xffff] = "getresuid",
+#endif
+#ifdef __NR_getrlimit
+[__NR_getrlimit & 0xffff] = "getrlimit",
+#endif
+#ifdef __NR_getrusage
+[__NR_getrusage & 0xffff] = "getrusage",
+#endif
+#ifdef __NR_getsid
+[__NR_getsid & 0xffff] = "getsid",
+#endif
+#ifdef __NR_getsockname
+[__NR_getsockname & 0xffff] = "getsockname",
+#endif
+#ifdef __NR_getsockopt
+[__NR_getsockopt & 0xffff] = "getsockopt",
+#endif
+#ifdef __NR_gettid
+[__NR_gettid & 0xffff] = "gettid",
+#endif
+#ifdef __NR_gettimeofday
+[__NR_gettimeofday & 0xffff] = "gettimeofday",
+#endif
+#ifdef __NR_getuid
+[__NR_getuid & 0xffff] = "getuid",
+#endif
+#ifdef __NR_getxattr
+[__NR_getxattr & 0xffff] = "getxattr",
+#endif
+#ifdef __NR_init_module
+[__NR_init_module & 0xffff] = "init_module",
+#endif
+#ifdef __NR_inotify_add_watch
+[__NR_inotify_add_watch & 0xffff] = "inotify_add_watch",
+#endif
+#ifdef __NR_inotify_init1
+[__NR_inotify_init1 & 0xffff] = "inotify_init1",
+#endif
+#ifdef __NR_inotify_rm_watch
+[__NR_inotify_rm_watch & 0xffff] = "inotify_rm_watch",
+#endif
+#ifdef __NR_io_cancel
+[__NR_io_cancel & 0xffff] = "io_cancel",
+#endif
+#ifdef __NR_io_destroy
+[__NR_io_destroy & 0xffff] = "io_destroy",
+#endif
+#ifdef __NR_io_getevents
+[__NR_io_getevents & 0xffff] = "io_getevents",
+#endif
+#ifdef __NR_io_setup
+[__NR_io_setup & 0xffff] = "io_setup",
+#endif
+#ifdef __NR_io_submit
+[__NR_io_submit & 0xffff] = "io_submit",
+#endif
+#ifdef __NR_ioctl
+[__NR_ioctl & 0xffff] = "ioctl",
+#endif
+#ifdef __NR_ioprio_get
+[__NR_ioprio_get & 0xffff] = "ioprio_get",
+#endif
+#ifdef __NR_ioprio_set
+[__NR_ioprio_set & 0xffff] = "ioprio_set",
+#endif
+#ifdef __NR_kcmp
+[__NR_kcmp & 0xffff] = "kcmp",
+#endif
+#ifdef __NR_kexec_load
+[__NR_kexec_load & 0xffff] = "kexec_load",
+#endif
+#ifdef __NR_keyctl
+[__NR_keyctl & 0xffff] = "keyctl",
+#endif
+#ifdef __NR_kill
+[__NR_kill & 0xffff] = "kill",
+#endif
+#ifdef __NR_lgetxattr
+[__NR_lgetxattr & 0xffff] = "lgetxattr",
+#endif
+#ifdef __NR_linkat
+[__NR_linkat & 0xffff] = "linkat",
+#endif
+#ifdef __NR_listen
+[__NR_listen & 0xffff] = "listen",
+#endif
+#ifdef __NR_listxattr
+[__NR_listxattr & 0xffff] = "listxattr",
+#endif
+#ifdef __NR_llistxattr
+[__NR_llistxattr & 0xffff] = "llistxattr",
+#endif
+#ifdef __NR_lookup_dcookie
+[__NR_lookup_dcookie & 0xffff] = "lookup_dcookie",
+#endif
+#ifdef __NR_lremovexattr
+[__NR_lremovexattr & 0xffff] = "lremovexattr",
+#endif
+#ifdef __NR_lseek
+[__NR_lseek & 0xffff] = "lseek",
+#endif
+#ifdef __NR_lsetxattr
+[__NR_lsetxattr & 0xffff] = "lsetxattr",
+#endif
+#ifdef __NR_madvise
+[__NR_madvise & 0xffff] = "madvise",
+#endif
+#ifdef __NR_mbind
+[__NR_mbind & 0xffff] = "mbind",
+#endif
+#ifdef __NR_membarrier
+[__NR_membarrier & 0xffff] = "membarrier",
+#endif
+#ifdef __NR_memfd_create
+[__NR_memfd_create & 0xffff] = "memfd_create",
+#endif
+#ifdef __NR_migrate_pages
+[__NR_migrate_pages & 0xffff] = "migrate_pages",
+#endif
+#ifdef __NR_mincore
+[__NR_mincore & 0xffff] = "mincore",
+#endif
+#ifdef __NR_mkdirat
+[__NR_mkdirat & 0xffff] = "mkdirat",
+#endif
+#ifdef __NR_mknodat
+[__NR_mknodat & 0xffff] = "mknodat",
+#endif
+#ifdef __NR_mlock
+[__NR_mlock & 0xffff] = "mlock",
+#endif
+#ifdef __NR_mlock2
+[__NR_mlock2 & 0xffff] = "mlock2",
+#endif
+#ifdef __NR_mlockall
+[__NR_mlockall & 0xffff] = "mlockall",
+#endif
+#ifdef __NR_mmap
+[__NR_mmap & 0xffff] = "mmap",
+#endif
+#ifdef __NR_mount
+[__NR_mount & 0xffff] = "mount",
+#endif
+#ifdef __NR_move_pages
+[__NR_move_pages & 0xffff] = "move_pages",
+#endif
+#ifdef __NR_mprotect
+[__NR_mprotect & 0xffff] = "mprotect",
+#endif
+#ifdef __NR_mq_getsetattr
+[__NR_mq_getsetattr & 0xffff] = "mq_getsetattr",
+#endif
+#ifdef __NR_mq_notify
+[__NR_mq_notify & 0xffff] = "mq_notify",
+#endif
+#ifdef __NR_mq_open
+[__NR_mq_open & 0xffff] = "mq_open",
+#endif
+#ifdef __NR_mq_timedreceive
+[__NR_mq_timedreceive & 0xffff] = "mq_timedreceive",
+#endif
+#ifdef __NR_mq_timedsend
+[__NR_mq_timedsend & 0xffff] = "mq_timedsend",
+#endif
+#ifdef __NR_mq_unlink
+[__NR_mq_unlink & 0xffff] = "mq_unlink",
+#endif
+#ifdef __NR_mremap
+[__NR_mremap & 0xffff] = "mremap",
+#endif
+#ifdef __NR_msgctl
+[__NR_msgctl & 0xffff] = "msgctl",
+#endif
+#ifdef __NR_msgget
+[__NR_msgget & 0xffff] = "msgget",
+#endif
+#ifdef __NR_msgrcv
+[__NR_msgrcv & 0xffff] = "msgrcv",
+#endif
+#ifdef __NR_msgsnd
+[__NR_msgsnd & 0xffff] = "msgsnd",
+#endif
+#ifdef __NR_msync
+[__NR_msync & 0xffff] = "msync",
+#endif
+#ifdef __NR_munlock
+[__NR_munlock & 0xffff] = "munlock",
+#endif
+#ifdef __NR_munlockall
+[__NR_munlockall & 0xffff] = "munlockall",
+#endif
+#ifdef __NR_munmap
+[__NR_munmap & 0xffff] = "munmap",
+#endif
+#ifdef __NR_name_to_handle_at
+[__NR_name_to_handle_at & 0xffff] = "name_to_handle_at",
+#endif
+#ifdef __NR_nanosleep
+[__NR_nanosleep & 0xffff] = "nanosleep",
+#endif
+#ifdef __NR_newfstatat
+[__NR_newfstatat & 0xffff] = "newfstatat",
+#endif
+#ifdef __NR_nfsservctl
+[__NR_nfsservctl & 0xffff] = "nfsservctl",
+#endif
+#ifdef __NR_open_by_handle_at
+[__NR_open_by_handle_at & 0xffff] = "open_by_handle_at",
+#endif
+#ifdef __NR_openat
+[__NR_openat & 0xffff] = "openat",
+#endif
+#ifdef __NR_perf_event_open
+[__NR_perf_event_open & 0xffff] = "perf_event_open",
+#endif
+#ifdef __NR_personality
+[__NR_personality & 0xffff] = "personality",
+#endif
+#ifdef __NR_pipe2
+[__NR_pipe2 & 0xffff] = "pipe2",
+#endif
+#ifdef __NR_pivot_root
+[__NR_pivot_root & 0xffff] = "pivot_root",
+#endif
+#ifdef __NR_pkey_alloc
+[__NR_pkey_alloc & 0xffff] = "pkey_alloc",
+#endif
+#ifdef __NR_pkey_free
+[__NR_pkey_free & 0xffff] = "pkey_free",
+#endif
+#ifdef __NR_pkey_mprotect
+[__NR_pkey_mprotect & 0xffff] = "pkey_mprotect",
+#endif
+#ifdef __NR_ppoll
+[__NR_ppoll & 0xffff] = "ppoll",
+#endif
+#ifdef __NR_prctl
+[__NR_prctl & 0xffff] = "prctl",
+#endif
+#ifdef __NR_pread64
+[__NR_pread64 & 0xffff] = "pread64",
+#endif
+#ifdef __NR_preadv
+[__NR_preadv & 0xffff] = "preadv",
+#endif
+#ifdef __NR_preadv2
+[__NR_preadv2 & 0xffff] = "preadv2",
+#endif
+#ifdef __NR_prlimit64
+[__NR_prlimit64 & 0xffff] = "prlimit64",
+#endif
+#ifdef __NR_process_vm_readv
+[__NR_process_vm_readv & 0xffff] = "process_vm_readv",
+#endif
+#ifdef __NR_process_vm_writev
+[__NR_process_vm_writev & 0xffff] = "process_vm_writev",
+#endif
+#ifdef __NR_pselect6
+[__NR_pselect6 & 0xffff] = "pselect6",
+#endif
+#ifdef __NR_ptrace
+[__NR_ptrace & 0xffff] = "ptrace",
+#endif
+#ifdef __NR_pwrite64
+[__NR_pwrite64 & 0xffff] = "pwrite64",
+#endif
+#ifdef __NR_pwritev
+[__NR_pwritev & 0xffff] = "pwritev",
+#endif
+#ifdef __NR_pwritev2
+[__NR_pwritev2 & 0xffff] = "pwritev2",
+#endif
+#ifdef __NR_quotactl
+[__NR_quotactl & 0xffff] = "quotactl",
+#endif
+#ifdef __NR_read
+[__NR_read & 0xffff] = "read",
+#endif
+#ifdef __NR_readahead
+[__NR_readahead & 0xffff] = "readahead",
+#endif
+#ifdef __NR_readlinkat
+[__NR_readlinkat & 0xffff] = "readlinkat",
+#endif
+#ifdef __NR_readv
+[__NR_readv & 0xffff] = "readv",
+#endif
+#ifdef __NR_reboot
+[__NR_reboot & 0xffff] = "reboot",
+#endif
+#ifdef __NR_recvfrom
+[__NR_recvfrom & 0xffff] = "recvfrom",
+#endif
+#ifdef __NR_recvmmsg
+[__NR_recvmmsg & 0xffff] = "recvmmsg",
+#endif
+#ifdef __NR_recvmsg
+[__NR_recvmsg & 0xffff] = "recvmsg",
+#endif
+#ifdef __NR_remap_file_pages
+[__NR_remap_file_pages & 0xffff] = "remap_file_pages",
+#endif
+#ifdef __NR_removexattr
+[__NR_removexattr & 0xffff] = "removexattr",
+#endif
+#ifdef __NR_renameat
+[__NR_renameat & 0xffff] = "renameat",
+#endif
+#ifdef __NR_renameat2
+[__NR_renameat2 & 0xffff] = "renameat2",
+#endif
+#ifdef __NR_request_key
+[__NR_request_key & 0xffff] = "request_key",
+#endif
+#ifdef __NR_restart_syscall
+[__NR_restart_syscall & 0xffff] = "restart_syscall",
+#endif
+#ifdef __NR_rt_sigaction
+[__NR_rt_sigaction & 0xffff] = "rt_sigaction",
+#endif
+#ifdef __NR_rt_sigpending
+[__NR_rt_sigpending & 0xffff] = "rt_sigpending",
+#endif
+#ifdef __NR_rt_sigprocmask
+[__NR_rt_sigprocmask & 0xffff] = "rt_sigprocmask",
+#endif
+#ifdef __NR_rt_sigqueueinfo
+[__NR_rt_sigqueueinfo & 0xffff] = "rt_sigqueueinfo",
+#endif
+#ifdef __NR_rt_sigreturn
+[__NR_rt_sigreturn & 0xffff] = "rt_sigreturn",
+#endif
+#ifdef __NR_rt_sigsuspend
+[__NR_rt_sigsuspend & 0xffff] = "rt_sigsuspend",
+#endif
+#ifdef __NR_rt_sigtimedwait
+[__NR_rt_sigtimedwait & 0xffff] = "rt_sigtimedwait",
+#endif
+#ifdef __NR_rt_tgsigqueueinfo
+[__NR_rt_tgsigqueueinfo & 0xffff] = "rt_tgsigqueueinfo",
+#endif
+#ifdef __NR_sched_get_priority_max
+[__NR_sched_get_priority_max & 0xffff] = "sched_get_priority_max",
+#endif
+#ifdef __NR_sched_get_priority_min
+[__NR_sched_get_priority_min & 0xffff] = "sched_get_priority_min",
+#endif
+#ifdef __NR_sched_getaffinity
+[__NR_sched_getaffinity & 0xffff] = "sched_getaffinity",
+#endif
+#ifdef __NR_sched_getattr
+[__NR_sched_getattr & 0xffff] = "sched_getattr",
+#endif
+#ifdef __NR_sched_getparam
+[__NR_sched_getparam & 0xffff] = "sched_getparam",
+#endif
+#ifdef __NR_sched_getscheduler
+[__NR_sched_getscheduler & 0xffff] = "sched_getscheduler",
+#endif
+#ifdef __NR_sched_rr_get_interval
+[__NR_sched_rr_get_interval & 0xffff] = "sched_rr_get_interval",
+#endif
+#ifdef __NR_sched_setaffinity
+[__NR_sched_setaffinity & 0xffff] = "sched_setaffinity",
+#endif
+#ifdef __NR_sched_setattr
+[__NR_sched_setattr & 0xffff] = "sched_setattr",
+#endif
+#ifdef __NR_sched_setparam
+[__NR_sched_setparam & 0xffff] = "sched_setparam",
+#endif
+#ifdef __NR_sched_setscheduler
+[__NR_sched_setscheduler & 0xffff] = "sched_setscheduler",
+#endif
+#ifdef __NR_sched_yield
+[__NR_sched_yield & 0xffff] = "sched_yield",
+#endif
+#ifdef __NR_seccomp
+[__NR_seccomp & 0xffff] = "seccomp",
+#endif
+#ifdef __NR_semctl
+[__NR_semctl & 0xffff] = "semctl",
+#endif
+#ifdef __NR_semget
+[__NR_semget & 0xffff] = "semget",
+#endif
+#ifdef __NR_semop
+[__NR_semop & 0xffff] = "semop",
+#endif
+#ifdef __NR_semtimedop
+[__NR_semtimedop & 0xffff] = "semtimedop",
+#endif
+#ifdef __NR_sendfile
+[__NR_sendfile & 0xffff] = "sendfile",
+#endif
+#ifdef __NR_sendmmsg
+[__NR_sendmmsg & 0xffff] = "sendmmsg",
+#endif
+#ifdef __NR_sendmsg
+[__NR_sendmsg & 0xffff] = "sendmsg",
+#endif
+#ifdef __NR_sendto
+[__NR_sendto & 0xffff] = "sendto",
+#endif
+#ifdef __NR_set_mempolicy
+[__NR_set_mempolicy & 0xffff] = "set_mempolicy",
+#endif
+#ifdef __NR_set_robust_list
+[__NR_set_robust_list & 0xffff] = "set_robust_list",
+#endif
+#ifdef __NR_set_tid_address
+[__NR_set_tid_address & 0xffff] = "set_tid_address",
+#endif
+#ifdef __NR_setdomainname
+[__NR_setdomainname & 0xffff] = "setdomainname",
+#endif
+#ifdef __NR_setfsgid
+[__NR_setfsgid & 0xffff] = "setfsgid",
+#endif
+#ifdef __NR_setfsuid
+[__NR_setfsuid & 0xffff] = "setfsuid",
+#endif
+#ifdef __NR_setgid
+[__NR_setgid & 0xffff] = "setgid",
+#endif
+#ifdef __NR_setgroups
+[__NR_setgroups & 0xffff] = "setgroups",
+#endif
+#ifdef __NR_sethostname
+[__NR_sethostname & 0xffff] = "sethostname",
+#endif
+#ifdef __NR_setitimer
+[__NR_setitimer & 0xffff] = "setitimer",
+#endif
+#ifdef __NR_setns
+[__NR_setns & 0xffff] = "setns",
+#endif
+#ifdef __NR_setpgid
+[__NR_setpgid & 0xffff] = "setpgid",
+#endif
+#ifdef __NR_setpriority
+[__NR_setpriority & 0xffff] = "setpriority",
+#endif
+#ifdef __NR_setregid
+[__NR_setregid & 0xffff] = "setregid",
+#endif
+#ifdef __NR_setresgid
+[__NR_setresgid & 0xffff] = "setresgid",
+#endif
+#ifdef __NR_setresuid
+[__NR_setresuid & 0xffff] = "setresuid",
+#endif
+#ifdef __NR_setreuid
+[__NR_setreuid & 0xffff] = "setreuid",
+#endif
+#ifdef __NR_setrlimit
+[__NR_setrlimit & 0xffff] = "setrlimit",
+#endif
+#ifdef __NR_setsid
+[__NR_setsid & 0xffff] = "setsid",
+#endif
+#ifdef __NR_setsockopt
+[__NR_setsockopt & 0xffff] = "setsockopt",
+#endif
+#ifdef __NR_settimeofday
+[__NR_settimeofday & 0xffff] = "settimeofday",
+#endif
+#ifdef __NR_setuid
+[__NR_setuid & 0xffff] = "setuid",
+#endif
+#ifdef __NR_setxattr
+[__NR_setxattr & 0xffff] = "setxattr",
+#endif
+#ifdef __NR_shmat
+[__NR_shmat & 0xffff] = "shmat",
+#endif
+#ifdef __NR_shmctl
+[__NR_shmctl & 0xffff] = "shmctl",
+#endif
+#ifdef __NR_shmdt
+[__NR_shmdt & 0xffff] = "shmdt",
+#endif
+#ifdef __NR_shmget
+[__NR_shmget & 0xffff] = "shmget",
+#endif
+#ifdef __NR_shutdown
+[__NR_shutdown & 0xffff] = "shutdown",
+#endif
+#ifdef __NR_sigaltstack
+[__NR_sigaltstack & 0xffff] = "sigaltstack",
+#endif
+#ifdef __NR_signalfd4
+[__NR_signalfd4 & 0xffff] = "signalfd4",
+#endif
+#ifdef __NR_socket
+[__NR_socket & 0xffff] = "socket",
+#endif
+#ifdef __NR_socketpair
+[__NR_socketpair & 0xffff] = "socketpair",
+#endif
+#ifdef __NR_splice
+[__NR_splice & 0xffff] = "splice",
+#endif
+#ifdef __NR_statfs
+[__NR_statfs & 0xffff] = "statfs",
+#endif
+#ifdef __NR_statx
+[__NR_statx & 0xffff] = "statx",
+#endif
+#ifdef __NR_swapoff
+[__NR_swapoff & 0xffff] = "swapoff",
+#endif
+#ifdef __NR_swapon
+[__NR_swapon & 0xffff] = "swapon",
+#endif
+#ifdef __NR_symlinkat
+[__NR_symlinkat & 0xffff] = "symlinkat",
+#endif
+#ifdef __NR_sync
+[__NR_sync & 0xffff] = "sync",
+#endif
+#ifdef __NR_sync_file_range
+[__NR_sync_file_range & 0xffff] = "sync_file_range",
+#endif
+#ifdef __NR_syncfs
+[__NR_syncfs & 0xffff] = "syncfs",
+#endif
+#ifdef __NR_sysinfo
+[__NR_sysinfo & 0xffff] = "sysinfo",
+#endif
+#ifdef __NR_syslog
+[__NR_syslog & 0xffff] = "syslog",
+#endif
+#ifdef __NR_tee
+[__NR_tee & 0xffff] = "tee",
+#endif
+#ifdef __NR_tgkill
+[__NR_tgkill & 0xffff] = "tgkill",
+#endif
+#ifdef __NR_timer_create
+[__NR_timer_create & 0xffff] = "timer_create",
+#endif
+#ifdef __NR_timer_delete
+[__NR_timer_delete & 0xffff] = "timer_delete",
+#endif
+#ifdef __NR_timer_getoverrun
+[__NR_timer_getoverrun & 0xffff] = "timer_getoverrun",
+#endif
+#ifdef __NR_timer_gettime
+[__NR_timer_gettime & 0xffff] = "timer_gettime",
+#endif
+#ifdef __NR_timer_settime
+[__NR_timer_settime & 0xffff] = "timer_settime",
+#endif
+#ifdef __NR_timerfd_create
+[__NR_timerfd_create & 0xffff] = "timerfd_create",
+#endif
+#ifdef __NR_timerfd_gettime
+[__NR_timerfd_gettime & 0xffff] = "timerfd_gettime",
+#endif
+#ifdef __NR_timerfd_settime
+[__NR_timerfd_settime & 0xffff] = "timerfd_settime",
+#endif
+#ifdef __NR_times
+[__NR_times & 0xffff] = "times",
+#endif
+#ifdef __NR_tkill
+[__NR_tkill & 0xffff] = "tkill",
+#endif
+#ifdef __NR_truncate
+[__NR_truncate & 0xffff] = "truncate",
+#endif
+#ifdef __NR_umask
+[__NR_umask & 0xffff] = "umask",
+#endif
+#ifdef __NR_umount2
+[__NR_umount2 & 0xffff] = "umount2",
+#endif
+#ifdef __NR_uname
+[__NR_uname & 0xffff] = "uname",
+#endif
+#ifdef __NR_unlinkat
+[__NR_unlinkat & 0xffff] = "unlinkat",
+#endif
+#ifdef __NR_unshare
+[__NR_unshare & 0xffff] = "unshare",
+#endif
+#ifdef __NR_userfaultfd
+[__NR_userfaultfd & 0xffff] = "userfaultfd",
+#endif
+#ifdef __NR_utimensat
+[__NR_utimensat & 0xffff] = "utimensat",
+#endif
+#ifdef __NR_vhangup
+[__NR_vhangup & 0xffff] = "vhangup",
+#endif
+#ifdef __NR_vmsplice
+[__NR_vmsplice & 0xffff] = "vmsplice",
+#endif
+#ifdef __NR_wait4
+[__NR_wait4 & 0xffff] = "wait4",
+#endif
+#ifdef __NR_waitid
+[__NR_waitid & 0xffff] = "waitid",
+#endif
+#ifdef __NR_write
+[__NR_write & 0xffff] = "write",
+#endif
+#ifdef __NR_writev
+[__NR_writev & 0xffff] = "writev",
+#endif
diff --git a/tests/localtime.c b/tests/localtime.c
new file mode 100644
index 00000000..bae54867
--- /dev/null
+++ b/tests/localtime.c
@@ -0,0 +1,57 @@
+/*
+ * Check handling of localtime() returning NULL in printleader().
+ *
+ * Copyright (c) 2018 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 <assert.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+ struct timespec ts;
+ int pid;
+
+ assert(!clock_gettime(CLOCK_REALTIME, &ts));
+
+ pid = syscall(__NR_gettid);
+
+ /* We expect localtime to fail here */
+ printf("%lld.%06ld gettid() = %d\n",
+ (long long) ts.tv_sec, (long) (ts.tv_nsec / 1000), pid);
+
+ printf("%lld.%06ld +++ exited with 0 +++\n",
+ (long long) ts.tv_sec, (long) (ts.tv_nsec / 1000));
+
+ return 0;
+}
diff --git a/tests/localtime.test b/tests/localtime.test
new file mode 100755
index 00000000..d025b77f
--- /dev/null
+++ b/tests/localtime.test
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# Check handling of localtime() failure in printleader().
+#
+# Copyright (c) 2018 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"
+
+check_prog faketime
+faketime -f +1000000000000000000x0 ../$NAME | grep -q '^100000000' \
+ || framework_skip_ 'faketime failed to fake time'
+
+STRACE="faketime -f +1000000000000000000x0 $STRACE"
+
+run_strace_match_diff -tt -a10 -e trace=gettid
diff --git a/tests/mq_sendrecv.c b/tests/mq_sendrecv.c
index f6f6bd29..03c786cd 100644
--- a/tests/mq_sendrecv.c
+++ b/tests/mq_sendrecv.c
@@ -3,7 +3,7 @@
* mq_unlink syscalls.
*
* Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
# include <fcntl.h>
# include <inttypes.h>
# include <signal.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
diff --git a/tests/net-yy-inet.c b/tests/net-yy-inet.c
index c69bb173..b32d547d 100644
--- a/tests/net-yy-inet.c
+++ b/tests/net-yy-inet.c
@@ -41,44 +41,60 @@
#include "accept_compat.h"
+#ifndef ADDR_FAMILY
+# define ADDR_FAMILY_FIELD sin_family
+# define ADDR_FAMILY AF_INET
+# define AF_STR "AF_INET"
+# define LOOPBACK_FIELD .sin_addr.s_addr = htonl(INADDR_LOOPBACK)
+# define LOOPBACK "127.0.0.1"
+# define SOCKADDR_TYPE sockaddr_in
+# define TCP_STR "TCP"
+# define INPORT sin_port
+# define INPORT_STR "sin_port"
+# define INADDR_STR "sin_addr=inet_addr(\"" LOOPBACK "\")"
+# define SA_FIELDS ""
+#endif
+
int
main(void)
{
skip_if_unavailable("/proc/self/fd/");
- const struct sockaddr_in addr = {
- .sin_family = AF_INET,
- .sin_addr.s_addr = htonl(INADDR_LOOPBACK)
+ const struct SOCKADDR_TYPE addr = {
+ .ADDR_FAMILY_FIELD = ADDR_FAMILY,
+ LOOPBACK_FIELD
};
struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
*len = sizeof(addr);
- const int listen_fd = socket(AF_INET, SOCK_STREAM, 0);
+ const int listen_fd = socket(ADDR_FAMILY, SOCK_STREAM, 0);
if (listen_fd < 0)
perror_msg_and_skip("socket");
const unsigned long listen_inode = inode_of_sockfd(listen_fd);
- printf("socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = %d<TCP:[%lu]>\n",
+ printf("socket(" AF_STR ", SOCK_STREAM, IPPROTO_IP) = %d<" TCP_STR
+ ":[%lu]>\n",
listen_fd, listen_inode);
if (bind(listen_fd, listen_sa, *len))
perror_msg_and_skip("bind");
- printf("bind(%d<TCP:[%lu]>, {sa_family=AF_INET, sin_port=htons(0)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, %u) = 0\n",
+ printf("bind(%d<" TCP_STR ":[%lu]>, {sa_family=" AF_STR ", " INPORT_STR
+ "=htons(0), " INADDR_STR SA_FIELDS "}, %u) = 0\n",
listen_fd, listen_inode, (unsigned) *len);
if (listen(listen_fd, 1))
perror_msg_and_skip("listen");
- printf("listen(%d<TCP:[%lu]>, 1) = 0\n", listen_fd, listen_inode);
+ printf("listen(%d<" TCP_STR ":[%lu]>, 1) = 0\n",
+ listen_fd, listen_inode);
memset(listen_sa, 0, sizeof(addr));
*len = sizeof(addr);
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);
- 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\")}"
+ ntohs(((struct SOCKADDR_TYPE *) listen_sa)->INPORT);
+ printf("getsockname(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family="
+ AF_STR ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
", [%u]) = 0\n",
listen_fd, listen_port, listen_port, (unsigned) *len);
@@ -86,22 +102,23 @@ main(void)
*len = sizeof(*optval);
if (getsockopt(listen_fd, SOL_TCP, TCP_MAXSEG, optval, len))
perror_msg_and_fail("getsockopt");
- printf("getsockopt(%d<TCP:[127.0.0.1:%u]>, SOL_TCP, TCP_MAXSEG"
- ", [%u], [%u]) = 0\n",
+ printf("getsockopt(%d<" TCP_STR ":[" LOOPBACK ":%u]>, SOL_TCP, "
+ "TCP_MAXSEG, [%u], [%u]) = 0\n",
listen_fd, listen_port, *optval, (unsigned) *len);
- const int connect_fd = socket(AF_INET, SOCK_STREAM, 0);
+ const int connect_fd = socket(ADDR_FAMILY, SOCK_STREAM, 0);
if (connect_fd < 0)
perror_msg_and_fail("socket");
const unsigned long connect_inode = inode_of_sockfd(connect_fd);
- printf("socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = %d<TCP:[%lu]>\n",
+ printf("socket(" AF_STR ", SOCK_STREAM, IPPROTO_IP) = %d<" TCP_STR
+ ":[%lu]>\n",
connect_fd, connect_inode);
*len = sizeof(addr);
if (connect(connect_fd, listen_sa, *len))
perror_msg_and_fail("connect");
- printf("connect(%d<TCP:[%lu]>, {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, %u) = 0\n",
+ printf("connect(%d<" TCP_STR ":[%lu]>, {sa_family=" AF_STR ", "
+ INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}, %u) = 0\n",
connect_fd, connect_inode, listen_port, (unsigned) *len);
struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
@@ -111,10 +128,10 @@ main(void)
if (accept_fd < 0)
perror_msg_and_fail("accept");
const unsigned int connect_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",
+ ntohs(((struct SOCKADDR_TYPE *) accept_sa)->INPORT);
+ printf("accept(%d<" TCP_STR ":[" LOOPBACK ":%u]>, {sa_family=" AF_STR
+ ", " INPORT_STR "=htons(%u), " INADDR_STR SA_FIELDS "}"
+ ", [%u]) = %d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>\n",
listen_fd, listen_port, connect_port, (unsigned) *len,
accept_fd, listen_port, connect_port);
@@ -122,9 +139,9 @@ main(void)
*len = sizeof(addr);
if (getpeername(accept_fd, accept_sa, len))
perror_msg_and_fail("getpeername");
- printf("getpeername(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
- ", {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, [%u]) = 0\n",
+ printf("getpeername(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
+ ", {sa_family=" AF_STR ", " INPORT_STR "=htons(%u)"
+ ", " INADDR_STR SA_FIELDS "}, [%u]) = 0\n",
accept_fd, listen_port, connect_port, connect_port,
(unsigned) *len);
@@ -132,16 +149,16 @@ main(void)
*len = sizeof(addr);
if (getpeername(connect_fd, listen_sa, len))
perror_msg_and_fail("getpeername");
- printf("getpeername(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
- ", {sa_family=AF_INET, sin_port=htons(%u)"
- ", sin_addr=inet_addr(\"127.0.0.1\")}, [%u]) = 0\n",
+ printf("getpeername(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
+ ", {sa_family=" AF_STR ", " INPORT_STR "=htons(%u)"
+ ", " INADDR_STR SA_FIELDS "}, [%u]) = 0\n",
connect_fd, connect_port, listen_port, listen_port,
(unsigned) *len);
*len = sizeof(*optval);
if (setsockopt(connect_fd, SOL_TCP, TCP_MAXSEG, optval, *len))
perror_msg_and_fail("setsockopt");
- printf("setsockopt(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>"
+ printf("setsockopt(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>"
", SOL_TCP, TCP_MAXSEG, [%u], %u) = 0\n",
connect_fd, connect_port, listen_port, *optval,
(unsigned) *len);
@@ -149,28 +166,30 @@ main(void)
char text[] = "text";
assert(sendto(connect_fd, text, sizeof(text) - 1,
MSG_DONTROUTE | MSG_DONTWAIT, NULL, 0) == sizeof(text) - 1);
- printf("sendto(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>, \"%s\", %u"
- ", MSG_DONTROUTE|MSG_DONTWAIT, NULL, 0) = %u\n",
+ printf("sendto(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>, "
+ "\"%s\", %u, MSG_DONTROUTE|MSG_DONTWAIT, NULL, 0) = %u\n",
connect_fd, connect_port, listen_port, text,
(unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
assert(close(connect_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>) = "
+ "0\n",
connect_fd, connect_port, listen_port);
assert(recvfrom(accept_fd, text, sizeof(text) - 1, MSG_WAITALL,
NULL, NULL) == sizeof(text) - 1);
- printf("recvfrom(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>, \"%s\", %u"
- ", MSG_WAITALL, NULL, NULL) = %u\n",
+ printf("recvfrom(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>, "
+ "\"%s\", %u, MSG_WAITALL, NULL, NULL) = %u\n",
accept_fd, listen_port, connect_port, text,
(unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
assert(close(accept_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u->" LOOPBACK ":%u]>) = "
+ "0\n",
accept_fd, listen_port, connect_port);
assert(close(listen_fd) == 0);
- printf("close(%d<TCP:[127.0.0.1:%u]>) = 0\n",
+ printf("close(%d<" TCP_STR ":[" LOOPBACK ":%u]>) = 0\n",
listen_fd, listen_port);
puts("+++ exited with 0 +++");
diff --git a/tests/net-yy-inet6.c b/tests/net-yy-inet6.c
new file mode 100644
index 00000000..c97979f7
--- /dev/null
+++ b/tests/net-yy-inet6.c
@@ -0,0 +1,13 @@
+#define ADDR_FAMILY_FIELD sin6_family
+#define ADDR_FAMILY AF_INET6
+#define AF_STR "AF_INET6"
+#define LOOPBACK_FIELD .sin6_addr = IN6ADDR_LOOPBACK_INIT
+#define LOOPBACK "[::1]"
+#define SOCKADDR_TYPE sockaddr_in6
+#define TCP_STR "TCPv6"
+#define INPORT sin6_port
+#define INPORT_STR "sin6_port"
+#define INADDR_STR "inet_pton(AF_INET6, \"::1\", &sin6_addr)"
+#define SA_FIELDS ", sin6_flowinfo=htonl(0), sin6_scope_id=0"
+
+#include "net-yy-inet.c"
diff --git a/tests/net-yy-inet6.gen.test b/tests/net-yy-inet6.gen.test
new file mode 100755
index 00000000..afa38c6e
--- /dev/null
+++ b/tests/net-yy-inet6.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-yy-inet6 +net-yy-inet.test ); do not edit.
+set --
+. "${srcdir=.}/net-yy-inet.test"
diff --git a/tests/netlink_kobject_uevent.c b/tests/netlink_kobject_uevent.c
index cacab5fd..7edacd7d 100644
--- a/tests/netlink_kobject_uevent.c
+++ b/tests/netlink_kobject_uevent.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
- * Copyright (c) 2017 The strace developers.
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -31,12 +31,21 @@
#include <sys/socket.h>
#include "netlink.h"
+static const char *errstr;
+
+static ssize_t
+sys_send(const int fd, const void *const buf, const size_t len)
+{
+ const ssize_t rc = sendto(fd, buf, len, MSG_DONTWAIT, NULL, 0);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
int
main(void)
{
skip_if_unavailable("/proc/self/fd/");
- long rc;
int fd = create_nl_socket(NETLINK_KOBJECT_UEVENT);
/* test using data that looks like a zero-length C string */
@@ -44,17 +53,17 @@ main(void)
buf[0] = '=';
fill_memory_ex(buf + 1, DEFAULT_STRLEN, 0, DEFAULT_STRLEN);
- rc = sendto(fd, buf + 1, DEFAULT_STRLEN, MSG_DONTWAIT, NULL, 0);
+ sys_send(fd, buf + 1, DEFAULT_STRLEN);
printf("sendto(%d, ", fd);
print_quoted_memory(buf + 1, DEFAULT_STRLEN);
printf(", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- DEFAULT_STRLEN, sprintrc(rc));
+ DEFAULT_STRLEN, errstr);
- rc = sendto(fd, buf, DEFAULT_STRLEN + 1, MSG_DONTWAIT, NULL, 0);
+ sys_send(fd, buf, DEFAULT_STRLEN + 1);
printf("sendto(%d, ", fd);
print_quoted_memory(buf, DEFAULT_STRLEN);
printf("..., %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- DEFAULT_STRLEN + 1, sprintrc(rc));
+ DEFAULT_STRLEN + 1, errstr);
puts("+++ exited with 0 +++");
return 0;
diff --git a/tests/netlink_netfilter.c b/tests/netlink_netfilter.c
index db2622eb..57532f52 100644
--- a/tests/netlink_netfilter.c
+++ b/tests/netlink_netfilter.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017, 2018 Chen Jingpiao <chenjingpiao@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,9 +32,24 @@
# include <stdio.h>
# include <string.h>
# include <unistd.h>
+# include <netinet/in.h>
+# include <arpa/inet.h>
# include <sys/socket.h>
-# include "netlink.h"
+# include "test_netlink.h"
# include <linux/netfilter/nfnetlink.h>
+# ifdef HAVE_LINUX_NETFILTER_NF_TABLES_H
+# include <linux/netfilter/nf_tables.h>
+# endif
+
+# ifndef NFNETLINK_V0
+# define NFNETLINK_V0 0
+# endif
+# ifndef NFNL_SUBSYS_NFTABLES
+# define NFNL_SUBSYS_NFTABLES 10
+# endif
+# ifndef NFT_MSG_NEWTABLE
+# define NFT_MSG_NEWTABLE 0
+# endif
static void
test_nlmsg_type(const int fd)
@@ -70,6 +85,108 @@ test_nlmsg_type(const int fd)
fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
}
+static void
+test_nlmsg_done(const int fd)
+{
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ const int num = 0xabcdefad;
+
+ TEST_NETLINK(fd, nlh0, NLMSG_DONE, NLM_F_REQUEST,
+ sizeof(num), &num, sizeof(num),
+ printf("%d", num));
+}
+
+static void
+test_nfgenmsg(const int fd)
+{
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+
+ struct nfgenmsg msg = {
+ .nfgen_family = AF_UNIX,
+ .version = NFNETLINK_V0,
+ .res_id = NFNL_SUBSYS_NFTABLES
+ };
+
+ TEST_NETLINK_OBJECT_EX_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ msg, print_quoted_hex,
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=");
+ if (htons(NFNL_SUBSYS_NFTABLES) == NFNL_SUBSYS_NFTABLES)
+ printf("htons(NFNL_SUBSYS_NFTABLES)");
+ else
+ printf("NFNL_SUBSYS_NFTABLES");
+ );
+
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)"));
+
+ msg.res_id = htons(0xabcd);
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | NFT_MSG_NEWTABLE,
+ "NFNL_SUBSYS_NFTABLES<<8|NFT_MSG_NEWTABLE",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)", 0xabcd));
+
+# ifdef NFNL_MSG_BATCH_BEGIN
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ TEST_NETLINK(fd, nlh0,
+ NFNL_MSG_BATCH_BEGIN, NLM_F_REQUEST,
+ sizeof(msg), &msg, sizeof(msg),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)", NFNL_SUBSYS_NFTABLES));
+
+ char str_buf[NLMSG_ALIGN(sizeof(msg)) + 4];
+
+ msg.res_id = htons(0xabcd);
+ memcpy(str_buf, &msg, sizeof(msg));
+ memcpy(str_buf + NLMSG_ALIGN(sizeof(msg)), "1234", 4);
+
+ TEST_NETLINK(fd, nlh0,
+ NFNL_MSG_BATCH_BEGIN, NLM_F_REQUEST,
+ sizeof(str_buf), str_buf, sizeof(str_buf),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(%d)"
+ ", \"\\x31\\x32\\x33\\x34\"", 0xabcd));
+# endif /* NFNL_MSG_BATCH_BEGIN */
+
+ static const struct nlattr nla = {
+ .nla_len = sizeof(nla),
+ .nla_type = 0x0bcd
+ };
+ char nla_buf[NLMSG_ALIGN(sizeof(msg)) + sizeof(nla)];
+
+ msg.res_id = htons(NFNL_SUBSYS_NFTABLES);
+ memcpy(nla_buf, &msg, sizeof(msg));
+ memcpy(nla_buf + NLMSG_ALIGN(sizeof(msg)), &nla, sizeof(nla));
+
+ TEST_NETLINK_(fd, nlh0,
+ NFNL_SUBSYS_NFTABLES << 8 | 0xff,
+ "NFNL_SUBSYS_NFTABLES<<8|0xff /* NFT_MSG_??? */",
+ NLM_F_REQUEST, "NLM_F_REQUEST",
+ sizeof(nla_buf), nla_buf, sizeof(nla_buf),
+ printf("{nfgen_family=AF_UNIX");
+ printf(", version=NFNETLINK_V0");
+ printf(", res_id=htons(NFNL_SUBSYS_NFTABLES)"
+ ", {nla_len=%d, nla_type=%#x}",
+ nla.nla_len, nla.nla_type));
+}
+
int main(void)
{
skip_if_unavailable("/proc/self/fd/");
@@ -77,6 +194,8 @@ int main(void)
int fd = create_nl_socket(NETLINK_NETFILTER);
test_nlmsg_type(fd);
+ test_nlmsg_done(fd);
+ test_nfgenmsg(fd);
printf("+++ exited with 0 +++\n");
diff --git a/tests/options-syntax.test b/tests/options-syntax.test
index f81dd992..af7002b2 100755
--- a/tests/options-syntax.test
+++ b/tests/options-syntax.test
@@ -73,8 +73,9 @@ diff -u -- "$EXP" "$LOG" > /dev/null || {
"zeroargc $STRACE $args output mismatch"
}
-if [ -n "${UID-}" ]; then
- if [ "${UID-}" = 0 ]; then
+uid="${UID:-`id -u`}"
+if [ "$uid" -ge 0 ]; then
+ if [ "$uid" -eq 0 ]; then
umsg="Cannot find user ':nosuchuser:'"
else
umsg='You must be root to use the -u option'
@@ -92,9 +93,6 @@ $STRACE_EXE: -t has no effect with -c
$STRACE_EXE: -T has no effect with -c
$STRACE_EXE: -y has no effect with -c
$STRACE_EXE: $umsg" -u :nosuchuser: -cirtTy true
-
- check_e "-tt has no effect with -r
-$STRACE_EXE: $umsg" -u :nosuchuser: -r -tt true
fi
args='-p 2147483647'
diff --git a/tests/perf_event_open.c b/tests/perf_event_open.c
index 667c31f4..17d3f228 100644
--- a/tests/perf_event_open.c
+++ b/tests/perf_event_open.c
@@ -35,7 +35,6 @@
# include <inttypes.h>
# include <limits.h>
-# include <stdbool.h>
# include <stddef.h>
# include <stdio.h>
# include <stdlib.h>
diff --git a/tests/pread64-pwrite64.c b/tests/pread64-pwrite64.c
index e9d7a645..a182ab5d 100644
--- a/tests/pread64-pwrite64.c
+++ b/tests/pread64-pwrite64.c
@@ -2,7 +2,7 @@
* Check decoding of pread64 and pwrite64 syscalls.
*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -169,6 +169,7 @@ main(void)
if (rc != -1)
perror_msg_and_fail("pwrite64: expected -1, returned %ld", rc);
tprintf("pwrite64(1, \"\\0\", 1, -3) = -1 EINVAL (%m)\n");
+ dump_str(nil, 1);
rc = pwrite(1, w, w_len, 0);
if (rc != (int) w_len)
diff --git a/tests/print_quoted_string.c b/tests/print_quoted_string.c
index 2894e49b..3ca56318 100644
--- a/tests/print_quoted_string.c
+++ b/tests/print_quoted_string.c
@@ -10,6 +10,12 @@
*/
void
+print_quoted_string_ex(const char *instr, bool quote, const char *escape_chars)
+{
+ print_quoted_memory_ex(instr, strlen(instr), quote, escape_chars);
+}
+
+void
print_quoted_string(const char *instr)
{
print_quoted_memory(instr, strlen(instr));
@@ -27,13 +33,39 @@ print_quoted_cstring(const char *instr, const size_t size)
}
}
+static void
+print_octal(unsigned char c, char next)
+{
+ putchar('\\');
+
+ char c1 = '0' + (c & 0x7);
+ char c2 = '0' + ((c >> 3) & 0x7);
+ char c3 = '0' + (c >> 6);
+
+ if (next >= '0' && next <= '7') {
+ /* Print \octal */
+ putchar(c3);
+ putchar(c2);
+ } else {
+ /* Print \[[o]o]o */
+ if (c3 != '0')
+ putchar(c3);
+ if (c3 != '0' || c2 != '0')
+ putchar(c2);
+ }
+ putchar(c1);
+}
+
void
-print_quoted_memory(const void *const instr, const size_t len)
+print_quoted_memory_ex(const void *const instr, const size_t len,
+ bool quote, const char *escape_chars)
{
const unsigned char *str = (const unsigned char *) instr;
size_t i;
- putchar('"');
+ if (quote)
+ putchar('"');
+
for (i = 0; i < len; ++i) {
const int c = str[i];
switch (c) {
@@ -59,33 +91,26 @@ print_quoted_memory(const void *const instr, const size_t len)
printf("\\v");
break;
default:
- if (c >= ' ' && c <= 0x7e)
+ if (c >= ' ' && c <= 0x7e &&
+ !(escape_chars && strchr(escape_chars, c))) {
putchar(c);
- else {
- putchar('\\');
-
- char c1 = '0' + (c & 0x7);
- char c2 = '0' + ((c >> 3) & 0x7);
- char c3 = '0' + (c >> 6);
-
- if (*str >= '0' && *str <= '9') {
- /* Print \octal */
- putchar(c3);
- putchar(c2);
- } else {
- /* Print \[[o]o]o */
- if (c3 != '0')
- putchar(c3);
- if (c3 != '0' || c2 != '0')
- putchar(c2);
- }
- putchar(c1);
+ } else {
+ print_octal(c,
+ i < (len - 1) ? str[i + 1] : 0);
}
+
break;
}
}
- putchar('"');
+ if (quote)
+ putchar('"');
+}
+
+void
+print_quoted_memory(const void *const instr, const size_t len)
+{
+ print_quoted_memory_ex(instr, len, true, NULL);
}
void
diff --git a/tests/ptrace.c b/tests/ptrace.c
index c70d5689..5c09fa32 100644
--- a/tests/ptrace.c
+++ b/tests/ptrace.c
@@ -33,7 +33,9 @@
#include <errno.h>
#include "ptrace.h"
+#include <inttypes.h>
#include <signal.h>
+#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/wait.h>
@@ -177,6 +179,8 @@ main(void)
const unsigned long pid =
(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
+ uint64_t *filter_off = tail_alloc(sizeof(*filter_off));
+
const unsigned int sigset_size = get_sigset_size();
void *const k_set = tail_alloc(sigset_size);
@@ -246,6 +250,22 @@ main(void)
printf("ptrace(PTRACE_SECCOMP_GET_FILTER, %u, 42, NULL) = %s\n",
(unsigned) pid, errstr);
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, bad_data, 0);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, %lu, NULL) = %s\n",
+ (unsigned) pid, bad_data, errstr);
+
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, 7,
+ (unsigned long) filter_off);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, 7, %p) = %s\n",
+ (unsigned) pid, filter_off, errstr);
+
+ *filter_off = 0xfacefeeddeadc0deULL;
+ do_ptrace(PTRACE_SECCOMP_GET_METADATA, pid, bad_data,
+ (unsigned long) filter_off);
+ printf("ptrace(PTRACE_SECCOMP_GET_METADATA, %u, %lu, "
+ "{filter_off=%" PRIu64 "}) = %s\n",
+ (unsigned) pid, bad_data, *filter_off, errstr);
+
do_ptrace(PTRACE_GETEVENTMSG, pid, bad_request, bad_data);
printf("ptrace(PTRACE_GETEVENTMSG, %u, %#lx, %#lx) = %s\n",
(unsigned) pid, bad_request, bad_data, errstr);
diff --git a/tests/pure_executables.am b/tests/pure_executables.am
index 128028fe..bbb3ad9f 100644
--- a/tests/pure_executables.am
+++ b/tests/pure_executables.am
@@ -24,6 +24,7 @@ PURE_EXECUTABLES = \
copy_file_range \
creat \
delete_module \
+ dev-yy \
dup \
dup2 \
dup3 \
@@ -125,6 +126,7 @@ PURE_EXECUTABLES = \
ipc_shm \
kcmp \
kcmp-y \
+ kern_features \
kexec_file_load \
kexec_load \
keyctl \
@@ -170,6 +172,7 @@ PURE_EXECUTABLES = \
net-sockaddr \
net-y-unix \
net-yy-inet \
+ net-yy-inet6 \
net-yy-netlink \
net-yy-unix \
netlink_audit \
diff --git a/tests/pure_executables.list b/tests/pure_executables.list
index 2f602a93..d78bd4d5 100755
--- a/tests/pure_executables.list
+++ b/tests/pure_executables.list
@@ -23,6 +23,7 @@ clock_xettime
copy_file_range
creat
delete_module
+dev-yy
dup
dup2
dup3
@@ -124,6 +125,7 @@ ipc_sem
ipc_shm
kcmp
kcmp-y
+kern_features
kexec_file_load
kexec_load
keyctl
@@ -169,6 +171,7 @@ net-icmp_filter
net-sockaddr
net-y-unix
net-yy-inet
+net-yy-inet6
net-yy-netlink
net-yy-unix
netlink_audit
diff --git a/tests/qual_inject-syntax.test b/tests/qual_inject-syntax.test
index 46cead28..20bc0c3b 100755
--- a/tests/qual_inject-syntax.test
+++ b/tests/qual_inject-syntax.test
@@ -84,7 +84,9 @@ for arg in 42 chdir \
chdir:when=65536:error=30 \
chdir:when=1+65536 \
chdir:when=1+65536:error=31 \
- chdir:retval=-1 \
+ chdir:retval=a \
+ chdir:retval=0b \
+ chdir:retval=0x10000000000000000 \
chdir:signal=0 \
chdir:signal=129 \
chdir:signal=1:signal=2 \
@@ -94,6 +96,12 @@ for arg in 42 chdir \
chdir:retval=0:error=1 \
chdir:error=1:retval=0 \
chdir:retval=0:signal=1:error=1 \
+ chdir:delay_enter=-1 \
+ chdir:delay_exit=-2 \
+ chdir:delay_enter=1:delay_enter=2 \
+ chdir:delay_exit=3:delay_exit=4 \
+ chdir:delay_enter=5:delay_exit=6:delay_enter=7 \
+ chdir:delay_exit=8:delay_enter=9:delay_exit=10 \
; do
$STRACE -e inject="$arg" true 2> "$LOG" &&
fail_with "$arg"
diff --git a/tests/read-write.c b/tests/read-write.c
index ed4c64d4..6a978b36 100644
--- a/tests/read-write.c
+++ b/tests/read-write.c
@@ -2,7 +2,7 @@
* Check decoding and dumping of read and write syscalls.
*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,15 @@
static void
dump_str(const char *str, const unsigned int len)
{
- static const char dots[16] = "................";
+ static const char chars[256] =
+ "................................"
+ " !\"#$%&'()*+,-./0123456789:;<=>?"
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
+ "`abcdefghijklmnopqrstuvwxyz{|}~."
+ "................................"
+ "................................"
+ "................................"
+ "................................";
unsigned int i;
for (i = 0; i < len; i += 16) {
@@ -47,7 +55,7 @@ dump_str(const char *str, const unsigned int len)
const char *dump = hexdump_memdup(str + i, n);
tprintf(" | %05x %-49s %-16.*s |\n",
- i, dump, n, dots);
+ i, dump, n, chars + i);
free((void *) dump);
}
@@ -59,9 +67,16 @@ print_hex(const char *str, const unsigned int len)
const unsigned char *ustr = (const unsigned char *) str;
unsigned int i;
+ tprintf("\"");
+
for (i = 0; i < len; ++i) {
unsigned int c = ustr[i];
+ if (i >= DEFAULT_STRLEN) {
+ tprintf("\"...");
+ return;
+ }
+
switch (c) {
case '\t':
tprintf("\\t"); break;
@@ -77,6 +92,8 @@ print_hex(const char *str, const unsigned int len)
tprintf("\\%o", ustr[i]);
}
}
+
+ tprintf("\"");
}
static long
@@ -94,9 +111,12 @@ k_write(unsigned int fd, const void *buf, size_t count)
}
static void
-test_dump(const unsigned int len)
+test_dump(const unsigned int len, bool err_desc)
{
static char *buf;
+ const char *rc_str;
+ int in_fd = err_desc ? 5 : 0;
+ int out_fd = err_desc ? 4 : 1;
if (buf) {
size_t ps1 = get_page_size() - 1;
@@ -105,28 +125,34 @@ test_dump(const unsigned int len)
buf = tail_alloc(len);
}
- long rc = k_read(0, buf, len);
- if (rc != (int) len)
+ long rc = k_read(in_fd, buf, len);
+ rc_str = sprintrc(rc);
+ if (err_desc ^ (rc != (int) len))
perror_msg_and_fail("read: expected %d, returned %ld",
- len, rc);
+ err_desc ? -1 : (int) len, rc);
- tprintf("%s(%d, \"", "read", 0);
- print_hex(buf, len);
- tprintf("\", %d) = %ld\n", len, rc);
- dump_str(buf, len);
+ tprintf("%s(%d, ", "read", in_fd);
+ if (!err_desc)
+ print_hex(buf, len);
+ else
+ tprintf("%p", buf);
+ tprintf(", %d) = %s\n", len, rc_str);
+ if (!err_desc)
+ dump_str(buf, len);
unsigned int i;
for (i = 0; i < len; ++i)
buf[i] = i;
- rc = k_write(1, buf, len);
- if (rc != (int) len)
+ rc = k_write(out_fd, buf, len);
+ rc_str = sprintrc(rc);
+ if (err_desc ^ (rc != (int) len))
perror_msg_and_fail("write: expected %d, returned %ld",
- len, rc);
+ err_desc ? -1 : (int) len, rc);
- tprintf("%s(%d, \"", "write", 1);
+ tprintf("%s(%d, ", "write", out_fd);
print_hex(buf, len);
- tprintf("\", %d) = %ld\n", len, rc);
+ tprintf(", %d) = %s\n", len, rc_str);
dump_str(buf, len);
if (!len)
@@ -218,9 +244,17 @@ main(void)
if (open("/dev/null", O_WRONLY) != 1)
perror_msg_and_fail("open");
+ if (open("/dev/zero", O_RDONLY) != 4)
+ perror_msg_and_fail("open");
+
+ if (open("/dev/null", O_WRONLY) != 5)
+ perror_msg_and_fail("open");
+
unsigned int i;
- for (i = 0; i <= 32; ++i)
- test_dump(i);
+ for (i = 0; i <= DEFAULT_STRLEN; ++i)
+ test_dump(i, false);
+
+ test_dump(256, true);
tprintf("+++ exited with 0 +++\n");
return 0;
diff --git a/tests/read-write.gen.test b/tests/read-write.gen.test
index df1b3fb3..c66628f2 100755
--- a/tests/read-write.gen.test
+++ b/tests/read-write.gen.test
@@ -1,4 +1,4 @@
#!/bin/sh -efu
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+run_strace_match_diff -a15 -eread=0,5 -ewrite=1,4 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests/remap_file_pages.c b/tests/remap_file_pages.c
index 4e409630..f861b306 100644
--- a/tests/remap_file_pages.c
+++ b/tests/remap_file_pages.c
@@ -2,6 +2,7 @@
* Check decoding of remap_file_pages syscall.
*
* Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -81,13 +82,21 @@ main(void)
k_remap_file_pages(addr, size, prot, pgoff, flags);
printf("remap_file_pages(%#jx, %ju, %s, %ju"
- ", %#x /* MAP_??? */"
+/*
+ * HP PA-RISC is the only architecture that has MAP_TYPE defined to 0x3, which
+ * is also used for MAP_SHARED_VALIDATE since Linux commit v4.15-rc1~71^2^2~23.
+ */
+# ifdef __hppa__
+ ", MAP_SHARED_VALIDATE"
+# else
+ ", 0xf /* MAP_??? */"
+# endif
"|MAP_FIXED|MAP_NORESERVE|MAP_HUGETLB|21<<MAP_HUGE_SHIFT)"
" = %s\n",
(uintmax_t) addr, (uintmax_t) size,
prot == PROT_NONE ? "PROT_NONE" :
"0xdefaced00000000 /* PROT_??? */",
- (uintmax_t) pgoff, MAP_TYPE, errstr);
+ (uintmax_t) pgoff, errstr);
#endif /* MAP_HUGETLB */
puts("+++ exited with 0 +++");
diff --git a/tests/s390_guarded_storage.c b/tests/s390_guarded_storage.c
index ab67c158..69ac166d 100644
--- a/tests/s390_guarded_storage.c
+++ b/tests/s390_guarded_storage.c
@@ -33,7 +33,6 @@
#if defined __NR_s390_guarded_storage && defined HAVE_ASM_GUARDED_STORAGE_H
# include <inttypes.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
diff --git a/tests/s390_pci_mmio_read_write.c b/tests/s390_pci_mmio_read_write.c
index b493948d..9383d6ed 100644
--- a/tests/s390_pci_mmio_read_write.c
+++ b/tests/s390_pci_mmio_read_write.c
@@ -33,7 +33,6 @@
#if defined __NR_s390_pci_mmio_read && defined __NR_s390_pci_mmio_write
# include <errno.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
diff --git a/tests/s390_sthyi.c b/tests/s390_sthyi.c
index 8b241dd2..8f6bbfb1 100644
--- a/tests/s390_sthyi.c
+++ b/tests/s390_sthyi.c
@@ -35,7 +35,6 @@
# include <errno.h>
# include <iconv.h>
# include <inttypes.h>
-# include <stdbool.h>
# include <stdint.h>
# include <stdio.h>
# include <unistd.h>
@@ -48,7 +47,7 @@
# define VERBOSE 0
# endif
-static bool
+static inline bool
print_0x8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
if (!zero && !buf[offs])
@@ -59,7 +58,7 @@ print_0x8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
if (!zero && !buf[offs])
@@ -70,7 +69,7 @@ print_u8(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_u16(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
uint16_t val = *(uint16_t *) (buf + offs);
@@ -83,7 +82,7 @@ print_u16(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_x32(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
{
uint32_t val = *(uint32_t *) (buf + offs);
@@ -96,7 +95,7 @@ print_x32(const char *prefix, unsigned char *buf, unsigned int offs, bool zero)
return true;
}
-static bool
+static inline bool
print_weight(const char *prefix, unsigned char *buf, unsigned int offs,
bool zero)
{
@@ -115,7 +114,7 @@ print_weight(const char *prefix, unsigned char *buf, unsigned int offs,
return false;
}
-static char *
+static inline char *
ebcdic2ascii(unsigned char *ebcdic, size_t size)
{
static char ascii_buf[EBCDIC_MAX_LEN];
@@ -169,8 +168,7 @@ ebcdic2ascii_end:
return ascii_buf;
}
-# if VERBOSE
-static bool
+static inline bool
is_empty(unsigned char *ptr, size_t size)
{
size_t i;
@@ -180,9 +178,8 @@ is_empty(unsigned char *ptr, size_t size)
return i == size;
}
-# endif /* !VERBOSE */
-static bool
+static inline bool
print_ebcdic(const char *prefix, unsigned char *addr, unsigned int offs,
size_t size, bool zero, bool blank)
{
@@ -768,7 +765,7 @@ main(void)
rc = syscall(__NR_s390_sthyi, 0, buf, ret, 0);
if (rc)
- error_msg_and_fail("syscall(__NR_s390_sthyi, 0, buf, ret, 0) "
+ error_msg_and_skip("syscall(__NR_s390_sthyi, 0, buf, ret, 0) "
"returned unexpected value of %ld", rc);
printf("s390_sthyi(STHYI_FC_CP_IFL_CAP, ");
diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c
index a9bd2baa..73cd5ecb 100644
--- a/tests/sched_xetattr.c
+++ b/tests/sched_xetattr.c
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -202,7 +203,7 @@ main(void)
attr->size = 0x90807060;
attr->sched_policy = 0xca7faced;
- attr->sched_flags = 0xbadc0ded1057da7aULL;
+ attr->sched_flags = 0xbadc0ded1057da78ULL;
attr->sched_nice = 0xafbfcfdf;
attr->sched_priority = 0xb8c8d8e8;
attr->sched_runtime = 0xbadcaffedeadf157ULL;
@@ -239,6 +240,46 @@ main(void)
(unsigned long long) ill, errstr);
}
+
+ attr->size = 0x90807060;
+ attr->sched_policy = 0xca7faced;
+ attr->sched_flags = 0xfULL;
+ attr->sched_nice = 0xafbfcfdf;
+ attr->sched_priority = 0xb8c8d8e8;
+ attr->sched_runtime = 0xbadcaffedeadf157ULL;
+ attr->sched_deadline = 0xc0de70a57badac75ULL;
+ attr->sched_period = 0xded1ca7edda7aca7ULL;
+
+ sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
+ printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
+ "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
+ "SCHED_FLAG_DL_OVERRUN|0x8, "
+ "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
+ "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 ", ...}, %u)"
+ " = %s\n",
+ (int) bogus_pid,
+ attr->size,
+ attr->sched_policy,
+ attr->sched_nice,
+ attr->sched_priority,
+ attr->sched_runtime,
+ attr->sched_deadline,
+ attr->sched_period,
+ (unsigned) bogus_flags, errstr);
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
+
+ sys_sched_getattr(0, ill, sizeof(*attr), 0);
+ printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
+ (unsigned long long) ill, (unsigned) sizeof(*attr),
+ errstr);
+
+ sys_sched_setattr(0, ill, 0);
+ printf("sched_setattr(0, %#llx, 0) = %s\n",
+ (unsigned long long) ill, errstr);
+ }
+
puts("+++ exited with 0 +++");
return 0;
}
diff --git a/tests/scno.h b/tests/scno.h
new file mode 100644
index 00000000..7a055564
--- /dev/null
+++ b/tests/scno.h
@@ -0,0 +1,1003 @@
+/* Generated by Makefile from ../scno.head syscallent.i; do not edit. */
+#if defined __X32_SYSCALL_BIT && defined __NR_read \
+ && (__X32_SYSCALL_BIT & __NR_read) == __X32_SYSCALL_BIT
+# define SYSCALL_BIT __X32_SYSCALL_BIT
+#else
+# define SYSCALL_BIT 0
+#endif
+#ifndef __NR_io_setup
+# define __NR_io_setup (SYSCALL_BIT | 0)
+#endif
+#ifndef __NR_io_destroy
+# define __NR_io_destroy (SYSCALL_BIT | 1)
+#endif
+#ifndef __NR_io_submit
+# define __NR_io_submit (SYSCALL_BIT | 2)
+#endif
+#ifndef __NR_io_cancel
+# define __NR_io_cancel (SYSCALL_BIT | 3)
+#endif
+#ifndef __NR_io_getevents
+# define __NR_io_getevents (SYSCALL_BIT | 4)
+#endif
+#ifndef __NR_setxattr
+# define __NR_setxattr (SYSCALL_BIT | 5)
+#endif
+#ifndef __NR_lsetxattr
+# define __NR_lsetxattr (SYSCALL_BIT | 6)
+#endif
+#ifndef __NR_fsetxattr
+# define __NR_fsetxattr (SYSCALL_BIT | 7)
+#endif
+#ifndef __NR_getxattr
+# define __NR_getxattr (SYSCALL_BIT | 8)
+#endif
+#ifndef __NR_lgetxattr
+# define __NR_lgetxattr (SYSCALL_BIT | 9)
+#endif
+#ifndef __NR_fgetxattr
+# define __NR_fgetxattr (SYSCALL_BIT | 10)
+#endif
+#ifndef __NR_listxattr
+# define __NR_listxattr (SYSCALL_BIT | 11)
+#endif
+#ifndef __NR_llistxattr
+# define __NR_llistxattr (SYSCALL_BIT | 12)
+#endif
+#ifndef __NR_flistxattr
+# define __NR_flistxattr (SYSCALL_BIT | 13)
+#endif
+#ifndef __NR_removexattr
+# define __NR_removexattr (SYSCALL_BIT | 14)
+#endif
+#ifndef __NR_lremovexattr
+# define __NR_lremovexattr (SYSCALL_BIT | 15)
+#endif
+#ifndef __NR_fremovexattr
+# define __NR_fremovexattr (SYSCALL_BIT | 16)
+#endif
+#ifndef __NR_getcwd
+# define __NR_getcwd (SYSCALL_BIT | 17)
+#endif
+#ifndef __NR_lookup_dcookie
+# define __NR_lookup_dcookie (SYSCALL_BIT | 18)
+#endif
+#ifndef __NR_eventfd2
+# define __NR_eventfd2 (SYSCALL_BIT | 19)
+#endif
+#ifndef __NR_epoll_create1
+# define __NR_epoll_create1 (SYSCALL_BIT | 20)
+#endif
+#ifndef __NR_epoll_ctl
+# define __NR_epoll_ctl (SYSCALL_BIT | 21)
+#endif
+#ifndef __NR_epoll_pwait
+# define __NR_epoll_pwait (SYSCALL_BIT | 22)
+#endif
+#ifndef __NR_dup
+# define __NR_dup (SYSCALL_BIT | 23)
+#endif
+#ifndef __NR_dup3
+# define __NR_dup3 (SYSCALL_BIT | 24)
+#endif
+#ifndef __NR_fcntl
+# define __NR_fcntl (SYSCALL_BIT | 25)
+#endif
+#ifndef __NR_inotify_init1
+# define __NR_inotify_init1 (SYSCALL_BIT | 26)
+#endif
+#ifndef __NR_inotify_add_watch
+# define __NR_inotify_add_watch (SYSCALL_BIT | 27)
+#endif
+#ifndef __NR_inotify_rm_watch
+# define __NR_inotify_rm_watch (SYSCALL_BIT | 28)
+#endif
+#ifndef __NR_ioctl
+# define __NR_ioctl (SYSCALL_BIT | 29)
+#endif
+#ifndef __NR_ioprio_set
+# define __NR_ioprio_set (SYSCALL_BIT | 30)
+#endif
+#ifndef __NR_ioprio_get
+# define __NR_ioprio_get (SYSCALL_BIT | 31)
+#endif
+#ifndef __NR_flock
+# define __NR_flock (SYSCALL_BIT | 32)
+#endif
+#ifndef __NR_mknodat
+# define __NR_mknodat (SYSCALL_BIT | 33)
+#endif
+#ifndef __NR_mkdirat
+# define __NR_mkdirat (SYSCALL_BIT | 34)
+#endif
+#ifndef __NR_unlinkat
+# define __NR_unlinkat (SYSCALL_BIT | 35)
+#endif
+#ifndef __NR_symlinkat
+# define __NR_symlinkat (SYSCALL_BIT | 36)
+#endif
+#ifndef __NR_linkat
+# define __NR_linkat (SYSCALL_BIT | 37)
+#endif
+#ifndef __NR_renameat
+# define __NR_renameat (SYSCALL_BIT | 38)
+#endif
+#ifndef __NR_umount2
+# define __NR_umount2 (SYSCALL_BIT | 39)
+#endif
+#ifndef __NR_mount
+# define __NR_mount (SYSCALL_BIT | 40)
+#endif
+#ifndef __NR_pivot_root
+# define __NR_pivot_root (SYSCALL_BIT | 41)
+#endif
+#ifndef __NR_nfsservctl
+# define __NR_nfsservctl (SYSCALL_BIT | 42)
+#endif
+#ifndef __NR_statfs
+# define __NR_statfs (SYSCALL_BIT | 43)
+#endif
+#ifndef __NR_fstatfs
+# define __NR_fstatfs (SYSCALL_BIT | 44)
+#endif
+#ifndef __NR_truncate
+# define __NR_truncate (SYSCALL_BIT | 45)
+#endif
+#ifndef __NR_ftruncate
+# define __NR_ftruncate (SYSCALL_BIT | 46)
+#endif
+#ifndef __NR_fallocate
+# define __NR_fallocate (SYSCALL_BIT | 47)
+#endif
+#ifndef __NR_faccessat
+# define __NR_faccessat (SYSCALL_BIT | 48)
+#endif
+#ifndef __NR_chdir
+# define __NR_chdir (SYSCALL_BIT | 49)
+#endif
+#ifndef __NR_fchdir
+# define __NR_fchdir (SYSCALL_BIT | 50)
+#endif
+#ifndef __NR_chroot
+# define __NR_chroot (SYSCALL_BIT | 51)
+#endif
+#ifndef __NR_fchmod
+# define __NR_fchmod (SYSCALL_BIT | 52)
+#endif
+#ifndef __NR_fchmodat
+# define __NR_fchmodat (SYSCALL_BIT | 53)
+#endif
+#ifndef __NR_fchownat
+# define __NR_fchownat (SYSCALL_BIT | 54)
+#endif
+#ifndef __NR_fchown
+# define __NR_fchown (SYSCALL_BIT | 55)
+#endif
+#ifndef __NR_openat
+# define __NR_openat (SYSCALL_BIT | 56)
+#endif
+#ifndef __NR_close
+# define __NR_close (SYSCALL_BIT | 57)
+#endif
+#ifndef __NR_vhangup
+# define __NR_vhangup (SYSCALL_BIT | 58)
+#endif
+#ifndef __NR_pipe2
+# define __NR_pipe2 (SYSCALL_BIT | 59)
+#endif
+#ifndef __NR_quotactl
+# define __NR_quotactl (SYSCALL_BIT | 60)
+#endif
+#ifndef __NR_getdents64
+# define __NR_getdents64 (SYSCALL_BIT | 61)
+#endif
+#ifndef __NR_lseek
+# define __NR_lseek (SYSCALL_BIT | 62)
+#endif
+#ifndef __NR_read
+# define __NR_read (SYSCALL_BIT | 63)
+#endif
+#ifndef __NR_write
+# define __NR_write (SYSCALL_BIT | 64)
+#endif
+#ifndef __NR_readv
+# define __NR_readv (SYSCALL_BIT | 65)
+#endif
+#ifndef __NR_writev
+# define __NR_writev (SYSCALL_BIT | 66)
+#endif
+#ifndef __NR_pread64
+# define __NR_pread64 (SYSCALL_BIT | 67)
+#endif
+#ifndef __NR_pwrite64
+# define __NR_pwrite64 (SYSCALL_BIT | 68)
+#endif
+#ifndef __NR_preadv
+# define __NR_preadv (SYSCALL_BIT | 69)
+#endif
+#ifndef __NR_pwritev
+# define __NR_pwritev (SYSCALL_BIT | 70)
+#endif
+#ifndef __NR_sendfile
+# define __NR_sendfile (SYSCALL_BIT | 71)
+#endif
+#ifndef __NR_pselect6
+# define __NR_pselect6 (SYSCALL_BIT | 72)
+#endif
+#ifndef __NR_ppoll
+# define __NR_ppoll (SYSCALL_BIT | 73)
+#endif
+#ifndef __NR_signalfd4
+# define __NR_signalfd4 (SYSCALL_BIT | 74)
+#endif
+#ifndef __NR_vmsplice
+# define __NR_vmsplice (SYSCALL_BIT | 75)
+#endif
+#ifndef __NR_splice
+# define __NR_splice (SYSCALL_BIT | 76)
+#endif
+#ifndef __NR_tee
+# define __NR_tee (SYSCALL_BIT | 77)
+#endif
+#ifndef __NR_readlinkat
+# define __NR_readlinkat (SYSCALL_BIT | 78)
+#endif
+#ifndef __NR_newfstatat
+# define __NR_newfstatat (SYSCALL_BIT | 79)
+#endif
+#ifndef __NR_fstat
+# define __NR_fstat (SYSCALL_BIT | 80)
+#endif
+#ifndef __NR_sync
+# define __NR_sync (SYSCALL_BIT | 81)
+#endif
+#ifndef __NR_fsync
+# define __NR_fsync (SYSCALL_BIT | 82)
+#endif
+#ifndef __NR_fdatasync
+# define __NR_fdatasync (SYSCALL_BIT | 83)
+#endif
+#ifndef __NR_sync_file_range
+# define __NR_sync_file_range (SYSCALL_BIT | 84)
+#endif
+#ifndef __NR_timerfd_create
+# define __NR_timerfd_create (SYSCALL_BIT | 85)
+#endif
+#ifndef __NR_timerfd_settime
+# define __NR_timerfd_settime (SYSCALL_BIT | 86)
+#endif
+#ifndef __NR_timerfd_gettime
+# define __NR_timerfd_gettime (SYSCALL_BIT | 87)
+#endif
+#ifndef __NR_utimensat
+# define __NR_utimensat (SYSCALL_BIT | 88)
+#endif
+#ifndef __NR_acct
+# define __NR_acct (SYSCALL_BIT | 89)
+#endif
+#ifndef __NR_capget
+# define __NR_capget (SYSCALL_BIT | 90)
+#endif
+#ifndef __NR_capset
+# define __NR_capset (SYSCALL_BIT | 91)
+#endif
+#ifndef __NR_personality
+# define __NR_personality (SYSCALL_BIT | 92)
+#endif
+#ifndef __NR_exit
+# define __NR_exit (SYSCALL_BIT | 93)
+#endif
+#ifndef __NR_exit_group
+# define __NR_exit_group (SYSCALL_BIT | 94)
+#endif
+#ifndef __NR_waitid
+# define __NR_waitid (SYSCALL_BIT | 95)
+#endif
+#ifndef __NR_set_tid_address
+# define __NR_set_tid_address (SYSCALL_BIT | 96)
+#endif
+#ifndef __NR_unshare
+# define __NR_unshare (SYSCALL_BIT | 97)
+#endif
+#ifndef __NR_futex
+# define __NR_futex (SYSCALL_BIT | 98)
+#endif
+#ifndef __NR_set_robust_list
+# define __NR_set_robust_list (SYSCALL_BIT | 99)
+#endif
+#ifndef __NR_get_robust_list
+# define __NR_get_robust_list (SYSCALL_BIT | 100)
+#endif
+#ifndef __NR_nanosleep
+# define __NR_nanosleep (SYSCALL_BIT | 101)
+#endif
+#ifndef __NR_getitimer
+# define __NR_getitimer (SYSCALL_BIT | 102)
+#endif
+#ifndef __NR_setitimer
+# define __NR_setitimer (SYSCALL_BIT | 103)
+#endif
+#ifndef __NR_kexec_load
+# define __NR_kexec_load (SYSCALL_BIT | 104)
+#endif
+#ifndef __NR_init_module
+# define __NR_init_module (SYSCALL_BIT | 105)
+#endif
+#ifndef __NR_delete_module
+# define __NR_delete_module (SYSCALL_BIT | 106)
+#endif
+#ifndef __NR_timer_create
+# define __NR_timer_create (SYSCALL_BIT | 107)
+#endif
+#ifndef __NR_timer_gettime
+# define __NR_timer_gettime (SYSCALL_BIT | 108)
+#endif
+#ifndef __NR_timer_getoverrun
+# define __NR_timer_getoverrun (SYSCALL_BIT | 109)
+#endif
+#ifndef __NR_timer_settime
+# define __NR_timer_settime (SYSCALL_BIT | 110)
+#endif
+#ifndef __NR_timer_delete
+# define __NR_timer_delete (SYSCALL_BIT | 111)
+#endif
+#ifndef __NR_clock_settime
+# define __NR_clock_settime (SYSCALL_BIT | 112)
+#endif
+#ifndef __NR_clock_gettime
+# define __NR_clock_gettime (SYSCALL_BIT | 113)
+#endif
+#ifndef __NR_clock_getres
+# define __NR_clock_getres (SYSCALL_BIT | 114)
+#endif
+#ifndef __NR_clock_nanosleep
+# define __NR_clock_nanosleep (SYSCALL_BIT | 115)
+#endif
+#ifndef __NR_syslog
+# define __NR_syslog (SYSCALL_BIT | 116)
+#endif
+#ifndef __NR_ptrace
+# define __NR_ptrace (SYSCALL_BIT | 117)
+#endif
+#ifndef __NR_sched_setparam
+# define __NR_sched_setparam (SYSCALL_BIT | 118)
+#endif
+#ifndef __NR_sched_setscheduler
+# define __NR_sched_setscheduler (SYSCALL_BIT | 119)
+#endif
+#ifndef __NR_sched_getscheduler
+# define __NR_sched_getscheduler (SYSCALL_BIT | 120)
+#endif
+#ifndef __NR_sched_getparam
+# define __NR_sched_getparam (SYSCALL_BIT | 121)
+#endif
+#ifndef __NR_sched_setaffinity
+# define __NR_sched_setaffinity (SYSCALL_BIT | 122)
+#endif
+#ifndef __NR_sched_getaffinity
+# define __NR_sched_getaffinity (SYSCALL_BIT | 123)
+#endif
+#ifndef __NR_sched_yield
+# define __NR_sched_yield (SYSCALL_BIT | 124)
+#endif
+#ifndef __NR_sched_get_priority_max
+# define __NR_sched_get_priority_max (SYSCALL_BIT | 125)
+#endif
+#ifndef __NR_sched_get_priority_min
+# define __NR_sched_get_priority_min (SYSCALL_BIT | 126)
+#endif
+#ifndef __NR_sched_rr_get_interval
+# define __NR_sched_rr_get_interval (SYSCALL_BIT | 127)
+#endif
+#ifndef __NR_restart_syscall
+# define __NR_restart_syscall (SYSCALL_BIT | 128)
+#endif
+#ifndef __NR_kill
+# define __NR_kill (SYSCALL_BIT | 129)
+#endif
+#ifndef __NR_tkill
+# define __NR_tkill (SYSCALL_BIT | 130)
+#endif
+#ifndef __NR_tgkill
+# define __NR_tgkill (SYSCALL_BIT | 131)
+#endif
+#ifndef __NR_sigaltstack
+# define __NR_sigaltstack (SYSCALL_BIT | 132)
+#endif
+#ifndef __NR_rt_sigsuspend
+# define __NR_rt_sigsuspend (SYSCALL_BIT | 133)
+#endif
+#ifndef __NR_rt_sigaction
+# define __NR_rt_sigaction (SYSCALL_BIT | 134)
+#endif
+#ifndef __NR_rt_sigprocmask
+# define __NR_rt_sigprocmask (SYSCALL_BIT | 135)
+#endif
+#ifndef __NR_rt_sigpending
+# define __NR_rt_sigpending (SYSCALL_BIT | 136)
+#endif
+#ifndef __NR_rt_sigtimedwait
+# define __NR_rt_sigtimedwait (SYSCALL_BIT | 137)
+#endif
+#ifndef __NR_rt_sigqueueinfo
+# define __NR_rt_sigqueueinfo (SYSCALL_BIT | 138)
+#endif
+#ifndef __NR_rt_sigreturn
+# define __NR_rt_sigreturn (SYSCALL_BIT | 139)
+#endif
+#ifndef __NR_setpriority
+# define __NR_setpriority (SYSCALL_BIT | 140)
+#endif
+#ifndef __NR_getpriority
+# define __NR_getpriority (SYSCALL_BIT | 141)
+#endif
+#ifndef __NR_reboot
+# define __NR_reboot (SYSCALL_BIT | 142)
+#endif
+#ifndef __NR_setregid
+# define __NR_setregid (SYSCALL_BIT | 143)
+#endif
+#ifndef __NR_setgid
+# define __NR_setgid (SYSCALL_BIT | 144)
+#endif
+#ifndef __NR_setreuid
+# define __NR_setreuid (SYSCALL_BIT | 145)
+#endif
+#ifndef __NR_setuid
+# define __NR_setuid (SYSCALL_BIT | 146)
+#endif
+#ifndef __NR_setresuid
+# define __NR_setresuid (SYSCALL_BIT | 147)
+#endif
+#ifndef __NR_getresuid
+# define __NR_getresuid (SYSCALL_BIT | 148)
+#endif
+#ifndef __NR_setresgid
+# define __NR_setresgid (SYSCALL_BIT | 149)
+#endif
+#ifndef __NR_getresgid
+# define __NR_getresgid (SYSCALL_BIT | 150)
+#endif
+#ifndef __NR_setfsuid
+# define __NR_setfsuid (SYSCALL_BIT | 151)
+#endif
+#ifndef __NR_setfsgid
+# define __NR_setfsgid (SYSCALL_BIT | 152)
+#endif
+#ifndef __NR_times
+# define __NR_times (SYSCALL_BIT | 153)
+#endif
+#ifndef __NR_setpgid
+# define __NR_setpgid (SYSCALL_BIT | 154)
+#endif
+#ifndef __NR_getpgid
+# define __NR_getpgid (SYSCALL_BIT | 155)
+#endif
+#ifndef __NR_getsid
+# define __NR_getsid (SYSCALL_BIT | 156)
+#endif
+#ifndef __NR_setsid
+# define __NR_setsid (SYSCALL_BIT | 157)
+#endif
+#ifndef __NR_getgroups
+# define __NR_getgroups (SYSCALL_BIT | 158)
+#endif
+#ifndef __NR_setgroups
+# define __NR_setgroups (SYSCALL_BIT | 159)
+#endif
+#ifndef __NR_uname
+# define __NR_uname (SYSCALL_BIT | 160)
+#endif
+#ifndef __NR_sethostname
+# define __NR_sethostname (SYSCALL_BIT | 161)
+#endif
+#ifndef __NR_setdomainname
+# define __NR_setdomainname (SYSCALL_BIT | 162)
+#endif
+#ifndef __NR_getrlimit
+# define __NR_getrlimit (SYSCALL_BIT | 163)
+#endif
+#ifndef __NR_setrlimit
+# define __NR_setrlimit (SYSCALL_BIT | 164)
+#endif
+#ifndef __NR_getrusage
+# define __NR_getrusage (SYSCALL_BIT | 165)
+#endif
+#ifndef __NR_umask
+# define __NR_umask (SYSCALL_BIT | 166)
+#endif
+#ifndef __NR_prctl
+# define __NR_prctl (SYSCALL_BIT | 167)
+#endif
+#ifndef __NR_getcpu
+# define __NR_getcpu (SYSCALL_BIT | 168)
+#endif
+#ifndef __NR_gettimeofday
+# define __NR_gettimeofday (SYSCALL_BIT | 169)
+#endif
+#ifndef __NR_settimeofday
+# define __NR_settimeofday (SYSCALL_BIT | 170)
+#endif
+#ifndef __NR_adjtimex
+# define __NR_adjtimex (SYSCALL_BIT | 171)
+#endif
+#ifndef __NR_getpid
+# define __NR_getpid (SYSCALL_BIT | 172)
+#endif
+#ifndef __NR_getppid
+# define __NR_getppid (SYSCALL_BIT | 173)
+#endif
+#ifndef __NR_getuid
+# define __NR_getuid (SYSCALL_BIT | 174)
+#endif
+#ifndef __NR_geteuid
+# define __NR_geteuid (SYSCALL_BIT | 175)
+#endif
+#ifndef __NR_getgid
+# define __NR_getgid (SYSCALL_BIT | 176)
+#endif
+#ifndef __NR_getegid
+# define __NR_getegid (SYSCALL_BIT | 177)
+#endif
+#ifndef __NR_gettid
+# define __NR_gettid (SYSCALL_BIT | 178)
+#endif
+#ifndef __NR_sysinfo
+# define __NR_sysinfo (SYSCALL_BIT | 179)
+#endif
+#ifndef __NR_mq_open
+# define __NR_mq_open (SYSCALL_BIT | 180)
+#endif
+#ifndef __NR_mq_unlink
+# define __NR_mq_unlink (SYSCALL_BIT | 181)
+#endif
+#ifndef __NR_mq_timedsend
+# define __NR_mq_timedsend (SYSCALL_BIT | 182)
+#endif
+#ifndef __NR_mq_timedreceive
+# define __NR_mq_timedreceive (SYSCALL_BIT | 183)
+#endif
+#ifndef __NR_mq_notify
+# define __NR_mq_notify (SYSCALL_BIT | 184)
+#endif
+#ifndef __NR_mq_getsetattr
+# define __NR_mq_getsetattr (SYSCALL_BIT | 185)
+#endif
+#ifndef __NR_msgget
+# define __NR_msgget (SYSCALL_BIT | 186)
+#endif
+#ifndef __NR_msgctl
+# define __NR_msgctl (SYSCALL_BIT | 187)
+#endif
+#ifndef __NR_msgrcv
+# define __NR_msgrcv (SYSCALL_BIT | 188)
+#endif
+#ifndef __NR_msgsnd
+# define __NR_msgsnd (SYSCALL_BIT | 189)
+#endif
+#ifndef __NR_semget
+# define __NR_semget (SYSCALL_BIT | 190)
+#endif
+#ifndef __NR_semctl
+# define __NR_semctl (SYSCALL_BIT | 191)
+#endif
+#ifndef __NR_semtimedop
+# define __NR_semtimedop (SYSCALL_BIT | 192)
+#endif
+#ifndef __NR_semop
+# define __NR_semop (SYSCALL_BIT | 193)
+#endif
+#ifndef __NR_shmget
+# define __NR_shmget (SYSCALL_BIT | 194)
+#endif
+#ifndef __NR_shmctl
+# define __NR_shmctl (SYSCALL_BIT | 195)
+#endif
+#ifndef __NR_shmat
+# define __NR_shmat (SYSCALL_BIT | 196)
+#endif
+#ifndef __NR_shmdt
+# define __NR_shmdt (SYSCALL_BIT | 197)
+#endif
+#ifndef __NR_socket
+# define __NR_socket (SYSCALL_BIT | 198)
+#endif
+#ifndef __NR_socketpair
+# define __NR_socketpair (SYSCALL_BIT | 199)
+#endif
+#ifndef __NR_bind
+# define __NR_bind (SYSCALL_BIT | 200)
+#endif
+#ifndef __NR_listen
+# define __NR_listen (SYSCALL_BIT | 201)
+#endif
+#ifndef __NR_accept
+# define __NR_accept (SYSCALL_BIT | 202)
+#endif
+#ifndef __NR_connect
+# define __NR_connect (SYSCALL_BIT | 203)
+#endif
+#ifndef __NR_getsockname
+# define __NR_getsockname (SYSCALL_BIT | 204)
+#endif
+#ifndef __NR_getpeername
+# define __NR_getpeername (SYSCALL_BIT | 205)
+#endif
+#ifndef __NR_sendto
+# define __NR_sendto (SYSCALL_BIT | 206)
+#endif
+#ifndef __NR_recvfrom
+# define __NR_recvfrom (SYSCALL_BIT | 207)
+#endif
+#ifndef __NR_setsockopt
+# define __NR_setsockopt (SYSCALL_BIT | 208)
+#endif
+#ifndef __NR_getsockopt
+# define __NR_getsockopt (SYSCALL_BIT | 209)
+#endif
+#ifndef __NR_shutdown
+# define __NR_shutdown (SYSCALL_BIT | 210)
+#endif
+#ifndef __NR_sendmsg
+# define __NR_sendmsg (SYSCALL_BIT | 211)
+#endif
+#ifndef __NR_recvmsg
+# define __NR_recvmsg (SYSCALL_BIT | 212)
+#endif
+#ifndef __NR_readahead
+# define __NR_readahead (SYSCALL_BIT | 213)
+#endif
+#ifndef __NR_brk
+# define __NR_brk (SYSCALL_BIT | 214)
+#endif
+#ifndef __NR_munmap
+# define __NR_munmap (SYSCALL_BIT | 215)
+#endif
+#ifndef __NR_mremap
+# define __NR_mremap (SYSCALL_BIT | 216)
+#endif
+#ifndef __NR_add_key
+# define __NR_add_key (SYSCALL_BIT | 217)
+#endif
+#ifndef __NR_request_key
+# define __NR_request_key (SYSCALL_BIT | 218)
+#endif
+#ifndef __NR_keyctl
+# define __NR_keyctl (SYSCALL_BIT | 219)
+#endif
+#ifndef __NR_clone
+# define __NR_clone (SYSCALL_BIT | 220)
+#endif
+#ifndef __NR_execve
+# define __NR_execve (SYSCALL_BIT | 221)
+#endif
+#ifndef __NR_mmap
+# define __NR_mmap (SYSCALL_BIT | 222)
+#endif
+#ifndef __NR_fadvise64
+# define __NR_fadvise64 (SYSCALL_BIT | 223)
+#endif
+#ifndef __NR_swapon
+# define __NR_swapon (SYSCALL_BIT | 224)
+#endif
+#ifndef __NR_swapoff
+# define __NR_swapoff (SYSCALL_BIT | 225)
+#endif
+#ifndef __NR_mprotect
+# define __NR_mprotect (SYSCALL_BIT | 226)
+#endif
+#ifndef __NR_msync
+# define __NR_msync (SYSCALL_BIT | 227)
+#endif
+#ifndef __NR_mlock
+# define __NR_mlock (SYSCALL_BIT | 228)
+#endif
+#ifndef __NR_munlock
+# define __NR_munlock (SYSCALL_BIT | 229)
+#endif
+#ifndef __NR_mlockall
+# define __NR_mlockall (SYSCALL_BIT | 230)
+#endif
+#ifndef __NR_munlockall
+# define __NR_munlockall (SYSCALL_BIT | 231)
+#endif
+#ifndef __NR_mincore
+# define __NR_mincore (SYSCALL_BIT | 232)
+#endif
+#ifndef __NR_madvise
+# define __NR_madvise (SYSCALL_BIT | 233)
+#endif
+#ifndef __NR_remap_file_pages
+# define __NR_remap_file_pages (SYSCALL_BIT | 234)
+#endif
+#ifndef __NR_mbind
+# define __NR_mbind (SYSCALL_BIT | 235)
+#endif
+#ifndef __NR_get_mempolicy
+# define __NR_get_mempolicy (SYSCALL_BIT | 236)
+#endif
+#ifndef __NR_set_mempolicy
+# define __NR_set_mempolicy (SYSCALL_BIT | 237)
+#endif
+#ifndef __NR_migrate_pages
+# define __NR_migrate_pages (SYSCALL_BIT | 238)
+#endif
+#ifndef __NR_move_pages
+# define __NR_move_pages (SYSCALL_BIT | 239)
+#endif
+#ifndef __NR_rt_tgsigqueueinfo
+# define __NR_rt_tgsigqueueinfo (SYSCALL_BIT | 240)
+#endif
+#ifndef __NR_perf_event_open
+# define __NR_perf_event_open (SYSCALL_BIT | 241)
+#endif
+#ifndef __NR_accept4
+# define __NR_accept4 (SYSCALL_BIT | 242)
+#endif
+#ifndef __NR_recvmmsg
+# define __NR_recvmmsg (SYSCALL_BIT | 243)
+#endif
+#ifndef __NR_wait4
+# define __NR_wait4 (SYSCALL_BIT | 260)
+#endif
+#ifndef __NR_prlimit64
+# define __NR_prlimit64 (SYSCALL_BIT | 261)
+#endif
+#ifndef __NR_fanotify_init
+# define __NR_fanotify_init (SYSCALL_BIT | 262)
+#endif
+#ifndef __NR_fanotify_mark
+# define __NR_fanotify_mark (SYSCALL_BIT | 263)
+#endif
+#ifndef __NR_name_to_handle_at
+# define __NR_name_to_handle_at (SYSCALL_BIT | 264)
+#endif
+#ifndef __NR_open_by_handle_at
+# define __NR_open_by_handle_at (SYSCALL_BIT | 265)
+#endif
+#ifndef __NR_clock_adjtime
+# define __NR_clock_adjtime (SYSCALL_BIT | 266)
+#endif
+#ifndef __NR_syncfs
+# define __NR_syncfs (SYSCALL_BIT | 267)
+#endif
+#ifndef __NR_setns
+# define __NR_setns (SYSCALL_BIT | 268)
+#endif
+#ifndef __NR_sendmmsg
+# define __NR_sendmmsg (SYSCALL_BIT | 269)
+#endif
+#ifndef __NR_process_vm_readv
+# define __NR_process_vm_readv (SYSCALL_BIT | 270)
+#endif
+#ifndef __NR_process_vm_writev
+# define __NR_process_vm_writev (SYSCALL_BIT | 271)
+#endif
+#ifndef __NR_kcmp
+# define __NR_kcmp (SYSCALL_BIT | 272)
+#endif
+#ifndef __NR_finit_module
+# define __NR_finit_module (SYSCALL_BIT | 273)
+#endif
+#ifndef __NR_sched_setattr
+# define __NR_sched_setattr (SYSCALL_BIT | 274)
+#endif
+#ifndef __NR_sched_getattr
+# define __NR_sched_getattr (SYSCALL_BIT | 275)
+#endif
+#ifndef __NR_renameat2
+# define __NR_renameat2 (SYSCALL_BIT | 276)
+#endif
+#ifndef __NR_seccomp
+# define __NR_seccomp (SYSCALL_BIT | 277)
+#endif
+#ifndef __NR_getrandom
+# define __NR_getrandom (SYSCALL_BIT | 278)
+#endif
+#ifndef __NR_memfd_create
+# define __NR_memfd_create (SYSCALL_BIT | 279)
+#endif
+#ifndef __NR_bpf
+# define __NR_bpf (SYSCALL_BIT | 280)
+#endif
+#ifndef __NR_execveat
+# define __NR_execveat (SYSCALL_BIT | 281)
+#endif
+#ifndef __NR_userfaultfd
+# define __NR_userfaultfd (SYSCALL_BIT | 282)
+#endif
+#ifndef __NR_membarrier
+# define __NR_membarrier (SYSCALL_BIT | 283)
+#endif
+#ifndef __NR_mlock2
+# define __NR_mlock2 (SYSCALL_BIT | 284)
+#endif
+#ifndef __NR_copy_file_range
+# define __NR_copy_file_range (SYSCALL_BIT | 285)
+#endif
+#ifndef __NR_preadv2
+# define __NR_preadv2 (SYSCALL_BIT | 286)
+#endif
+#ifndef __NR_pwritev2
+# define __NR_pwritev2 (SYSCALL_BIT | 287)
+#endif
+#ifndef __NR_pkey_mprotect
+# define __NR_pkey_mprotect (SYSCALL_BIT | 288)
+#endif
+#ifndef __NR_pkey_alloc
+# define __NR_pkey_alloc (SYSCALL_BIT | 289)
+#endif
+#ifndef __NR_pkey_free
+# define __NR_pkey_free (SYSCALL_BIT | 290)
+#endif
+#ifndef __NR_statx
+# define __NR_statx (SYSCALL_BIT | 291)
+#endif
+#ifndef __NR_open
+# define __NR_open (SYSCALL_BIT | 1024)
+#endif
+#ifndef __NR_link
+# define __NR_link (SYSCALL_BIT | 1025)
+#endif
+#ifndef __NR_unlink
+# define __NR_unlink (SYSCALL_BIT | 1026)
+#endif
+#ifndef __NR_mknod
+# define __NR_mknod (SYSCALL_BIT | 1027)
+#endif
+#ifndef __NR_chmod
+# define __NR_chmod (SYSCALL_BIT | 1028)
+#endif
+#ifndef __NR_chown
+# define __NR_chown (SYSCALL_BIT | 1029)
+#endif
+#ifndef __NR_mkdir
+# define __NR_mkdir (SYSCALL_BIT | 1030)
+#endif
+#ifndef __NR_rmdir
+# define __NR_rmdir (SYSCALL_BIT | 1031)
+#endif
+#ifndef __NR_lchown
+# define __NR_lchown (SYSCALL_BIT | 1032)
+#endif
+#ifndef __NR_access
+# define __NR_access (SYSCALL_BIT | 1033)
+#endif
+#ifndef __NR_rename
+# define __NR_rename (SYSCALL_BIT | 1034)
+#endif
+#ifndef __NR_readlink
+# define __NR_readlink (SYSCALL_BIT | 1035)
+#endif
+#ifndef __NR_symlink
+# define __NR_symlink (SYSCALL_BIT | 1036)
+#endif
+#ifndef __NR_utimes
+# define __NR_utimes (SYSCALL_BIT | 1037)
+#endif
+#ifndef __NR_stat
+# define __NR_stat (SYSCALL_BIT | 1038)
+#endif
+#ifndef __NR_lstat
+# define __NR_lstat (SYSCALL_BIT | 1039)
+#endif
+#ifndef __NR_pipe
+# define __NR_pipe (SYSCALL_BIT | 1040)
+#endif
+#ifndef __NR_dup2
+# define __NR_dup2 (SYSCALL_BIT | 1041)
+#endif
+#ifndef __NR_epoll_create
+# define __NR_epoll_create (SYSCALL_BIT | 1042)
+#endif
+#ifndef __NR_inotify_init
+# define __NR_inotify_init (SYSCALL_BIT | 1043)
+#endif
+#ifndef __NR_eventfd
+# define __NR_eventfd (SYSCALL_BIT | 1044)
+#endif
+#ifndef __NR_signalfd
+# define __NR_signalfd (SYSCALL_BIT | 1045)
+#endif
+#ifndef __NR_sendfile
+# define __NR_sendfile (SYSCALL_BIT | 1046)
+#endif
+#ifndef __NR_ftruncate
+# define __NR_ftruncate (SYSCALL_BIT | 1047)
+#endif
+#ifndef __NR_truncate
+# define __NR_truncate (SYSCALL_BIT | 1048)
+#endif
+#ifndef __NR_stat
+# define __NR_stat (SYSCALL_BIT | 1049)
+#endif
+#ifndef __NR_lstat
+# define __NR_lstat (SYSCALL_BIT | 1050)
+#endif
+#ifndef __NR_fstat
+# define __NR_fstat (SYSCALL_BIT | 1051)
+#endif
+#ifndef __NR_fcntl
+# define __NR_fcntl (SYSCALL_BIT | 1052)
+#endif
+#ifndef __NR_fadvise64
+# define __NR_fadvise64 (SYSCALL_BIT | 1053)
+#endif
+#ifndef __NR_newfstatat
+# define __NR_newfstatat (SYSCALL_BIT | 1054)
+#endif
+#ifndef __NR_fstatfs
+# define __NR_fstatfs (SYSCALL_BIT | 1055)
+#endif
+#ifndef __NR_statfs
+# define __NR_statfs (SYSCALL_BIT | 1056)
+#endif
+#ifndef __NR_lseek
+# define __NR_lseek (SYSCALL_BIT | 1057)
+#endif
+#ifndef __NR_mmap
+# define __NR_mmap (SYSCALL_BIT | 1058)
+#endif
+#ifndef __NR_alarm
+# define __NR_alarm (SYSCALL_BIT | 1059)
+#endif
+#ifndef __NR_getpgrp
+# define __NR_getpgrp (SYSCALL_BIT | 1060)
+#endif
+#ifndef __NR_pause
+# define __NR_pause (SYSCALL_BIT | 1061)
+#endif
+#ifndef __NR_time
+# define __NR_time (SYSCALL_BIT | 1062)
+#endif
+#ifndef __NR_utime
+# define __NR_utime (SYSCALL_BIT | 1063)
+#endif
+#ifndef __NR_creat
+# define __NR_creat (SYSCALL_BIT | 1064)
+#endif
+#ifndef __NR_getdents
+# define __NR_getdents (SYSCALL_BIT | 1065)
+#endif
+#ifndef __NR_futimesat
+# define __NR_futimesat (SYSCALL_BIT | 1066)
+#endif
+#ifndef __NR_select
+# define __NR_select (SYSCALL_BIT | 1067)
+#endif
+#ifndef __NR_poll
+# define __NR_poll (SYSCALL_BIT | 1068)
+#endif
+#ifndef __NR_epoll_wait
+# define __NR_epoll_wait (SYSCALL_BIT | 1069)
+#endif
+#ifndef __NR_ustat
+# define __NR_ustat (SYSCALL_BIT | 1070)
+#endif
+#ifndef __NR_vfork
+# define __NR_vfork (SYSCALL_BIT | 1071)
+#endif
+#ifndef __NR_wait4
+# define __NR_wait4 (SYSCALL_BIT | 1072)
+#endif
+#ifndef __NR_recv
+# define __NR_recv (SYSCALL_BIT | 1073)
+#endif
+#ifndef __NR_send
+# define __NR_send (SYSCALL_BIT | 1074)
+#endif
+#ifndef __NR_bdflush
+# define __NR_bdflush (SYSCALL_BIT | 1075)
+#endif
+#ifndef __NR_umount
+# define __NR_umount (SYSCALL_BIT | 1076)
+#endif
+#ifndef __NR_uselib
+# define __NR_uselib (SYSCALL_BIT | 1077)
+#endif
+#ifndef __NR_sysctl
+# define __NR_sysctl (SYSCALL_BIT | 1078)
+#endif
+#ifndef __NR_fork
+# define __NR_fork (SYSCALL_BIT | 1079)
+#endif
diff --git a/tests/scno_tampering.sh b/tests/scno_tampering.sh
index 282f2f31..bae8a074 100755
--- a/tests/scno_tampering.sh
+++ b/tests/scno_tampering.sh
@@ -3,7 +3,7 @@
# Skip the test if arch+kernel combination is not supported.
#
# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2016-2017 The strace developers.
+# Copyright (c) 2016-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -50,7 +50,7 @@ case "$STRACE_ARCH" in
require_min_kernel_version_or_skip 4.5 ;;
mips)
# Only the native ABI is supported by the kernel properly, see
- # https://sourceforge.net/p/strace/mailman/message/35587571/
+ # https://lists.strace.io/pipermail/strace-devel/2017-January/005896.html
msg_prefix="mips $MIPS_ABI scno tampering does not work"
uname_m="$(uname -m)"
case "$MIPS_ABI:$uname_m" in
diff --git a/tests/test_printstrn.c b/tests/test_printstrn.c
index bc9c7752..7312971d 100644
--- a/tests/test_printstrn.c
+++ b/tests/test_printstrn.c
@@ -2,6 +2,7 @@
* Test printstrn/umoven.
*
* Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2017-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -75,6 +76,15 @@ test_efault(const unsigned int test_max)
}
}
+static void
+test_print_memory(char *const p, const unsigned int test_max)
+{
+ add_key(p, test_max);
+ printf("add_key(NULL, NULL, ");
+ print_quoted_memory(p, test_max);
+ printf(", %u, KEY_SPEC_THREAD_KEYRING) = %s\n", test_max, errstr);
+}
+
void
test_printstrn(const unsigned int test_max)
{
@@ -99,4 +109,11 @@ test_printstrn(const unsigned int test_max)
for (i = 0; i < sizeof(long); ++i)
test_printstrn_at(p + page_size - i, test_max);
test_efault(test_max);
+
+ fill_memory_ex(p, test_max + page_size, 0x00, 0xFF);
+ /* Test corner cases when octal quoting goes before digit */
+ for (i = 0; i < 11; i++)
+ p[2 + 3 * i] = '0' + i - 1;
+
+ test_print_memory(p, test_max);
}
diff --git a/tests/tests.h b/tests/tests.h
index 1c66c265..3bf454dd 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -29,14 +29,25 @@
#ifndef STRACE_TESTS_H
#define STRACE_TESTS_H
-# ifdef HAVE_CONFIG_H
-# include "config.h"
-# endif
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifdef TESTS_SIZEOF_KERNEL_LONG_T
+# undef SIZEOF_KERNEL_LONG_T
+# define SIZEOF_KERNEL_LONG_T TESTS_SIZEOF_KERNEL_LONG_T
+#endif
+
+#ifdef TESTS_SIZEOF_LONG
+# undef SIZEOF_LONG
+# define SIZEOF_LONG TESTS_SIZEOF_LONG
+#endif
-# include <sys/types.h>
-# include "kernel_types.h"
-# include "gcc_compat.h"
-# include "macros.h"
+#include <stdbool.h>
+#include <sys/types.h>
+#include "kernel_types.h"
+#include "gcc_compat.h"
+#include "macros.h"
/*
* The printf-like function to use in header files
@@ -140,6 +151,9 @@ const char *hexquote_strndup(const char *, size_t);
/* Return inode number of socket descriptor. */
unsigned long inode_of_sockfd(int);
+/* Print string in a quoted form with optional escape characters. */
+void print_quoted_string_ex(const char *, bool quote, const char *escape_str);
+
/* Print string in a quoted form. */
void print_quoted_string(const char *);
@@ -149,6 +163,10 @@ void print_quoted_string(const char *);
*/
void print_quoted_cstring(const char *str, size_t size);
+/* Print memory in a quoted form with optional escape characters. */
+void print_quoted_memory_ex(const void *, size_t, bool quote,
+ const char *escape_chars);
+
/* Print memory in a quoted form. */
void print_quoted_memory(const void *, size_t);
@@ -249,19 +267,19 @@ f8ill_ptr_to_kulong(const void *const ptr)
sizeof(v) == sizeof(long) ? (long long) (long) (v) : \
(long long) (v))
-# define SKIP_MAIN_UNDEFINED(arg) \
+#define SKIP_MAIN_UNDEFINED(arg) \
int main(void) { error_msg_and_skip("undefined: %s", arg); }
-# if WORDS_BIGENDIAN
-# define LL_PAIR(HI, LO) (HI), (LO)
-# else
-# define LL_PAIR(HI, LO) (LO), (HI)
-# endif
-# define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
+#if WORDS_BIGENDIAN
+# define LL_PAIR(HI, LO) (HI), (LO)
+#else
+# define LL_PAIR(HI, LO) (LO), (HI)
+#endif
+#define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
-# define _STR(_arg) #_arg
-# define ARG_STR(_arg) (_arg), #_arg
-# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+#define _STR(_arg) #_arg
+#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
diff --git a/tests/xet_thread_area_x86.c b/tests/xet_thread_area_x86.c
index 68f495cb..36591ec6 100644
--- a/tests/xet_thread_area_x86.c
+++ b/tests/xet_thread_area_x86.c
@@ -37,7 +37,6 @@
# include <assert.h>
# include <errno.h>
-# include <stdbool.h>
# include <stdio.h>
# include <stdint.h>
# include <string.h>
diff --git a/time.c b/time.c
index 31f44fc6..038c32f8 100644
--- a/time.c
+++ b/time.c
@@ -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) 1996-2017 The strace developers.
+ * Copyright (c) 1996-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -173,9 +173,7 @@ do_adjtimex(struct tcb *const tcp, const kernel_ulong_t addr)
if (print_timex(tcp, addr))
return 0;
tcp->auxstr = xlookup(adjtimex_state, (kernel_ulong_t) tcp->u_rval);
- if (tcp->auxstr)
- return RVAL_STR;
- return 0;
+ return RVAL_STR;
}
SYS_FUNC(adjtimex)
diff --git a/times.c b/times.c
index 1ba01684..10f26c39 100644
--- a/times.c
+++ b/times.c
@@ -6,7 +6,7 @@
* Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
* Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
* Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2015-2017 The strace developers.
+ * Copyright (c) 2015-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -42,10 +42,7 @@ SYS_FUNC(times)
{
tms_t tbuf;
- if (entering(tcp))
- return 0;
-
- if (!umove_or_printaddr(tcp, tcp->u_arg[0], &tbuf)) {
+ if (exiting(tcp) && !umove_or_printaddr(tcp, tcp->u_arg[0], &tbuf)) {
tprintf("{tms_utime=%llu, tms_stime=%llu, ",
zero_extend_signed_to_ull(tbuf.tms_utime),
zero_extend_signed_to_ull(tbuf.tms_stime));
@@ -54,5 +51,5 @@ SYS_FUNC(times)
zero_extend_signed_to_ull(tbuf.tms_cstime));
}
- return syserror(tcp) ? RVAL_DECIMAL : RVAL_UDECIMAL;
+ return 0;
}
diff --git a/ucopy.c b/ucopy.c
index 2d9ffb38..dafc1e4e 100644
--- a/ucopy.c
+++ b/ucopy.c
@@ -6,7 +6,7 @@
* Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Linux for s390 port by D.J. Barrow
* <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
- * Copyright (c) 1999-2017 The strace developers.
+ * Copyright (c) 1999-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -306,7 +306,7 @@ umovestr(struct tcb *const tcp, kernel_ulong_t addr, unsigned int len,
if (!nread)
return umovestr_peekdata(pid, addr,
len, laddr);
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case EFAULT: case EIO:
/* address space is inaccessible */
if (nread)
diff --git a/uid.c b/uid.c
index 418c737d..d8b169a4 100644
--- a/uid.c
+++ b/uid.c
@@ -71,14 +71,14 @@
SYS_FUNC(getuid)
{
- return RVAL_UDECIMAL | RVAL_DECODED;
+ return RVAL_DECODED;
}
SYS_FUNC(setfsuid)
{
printuid("", tcp->u_arg[0]);
- return RVAL_UDECIMAL | RVAL_DECODED;
+ return RVAL_DECODED;
}
SYS_FUNC(setuid)
diff --git a/unwind-libunwind.c b/unwind-libunwind.c
new file mode 100644
index 00000000..38b3e2c5
--- /dev/null
+++ b/unwind-libunwind.c
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2013 Luca Clementi <luca.clementi@gmail.com>
+ * Copyright (c) 2013-2018 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"
+#include "unwind.h"
+
+#include "mmap_cache.h"
+#include <libunwind-ptrace.h>
+
+static unw_addr_space_t libunwind_as;
+
+static void
+init(void)
+{
+ libunwind_as = unw_create_addr_space(&_UPT_accessors, 0);
+ if (!libunwind_as)
+ error_msg_and_die("failed to create address space"
+ " for stack tracing");
+ unw_set_caching_policy(libunwind_as, UNW_CACHE_GLOBAL);
+}
+
+static void *
+tcb_init(struct tcb *tcp)
+{
+ void *r = _UPT_create(tcp->pid);
+
+ if (!r)
+ perror_msg_and_die("_UPT_create");
+ return r;
+}
+
+static void
+tcb_fin(struct tcb *tcp)
+{
+ _UPT_destroy(tcp->unwind_ctx);
+}
+
+static void
+get_symbol_name(unw_cursor_t *cursor, char **name,
+ size_t *size, unw_word_t *offset)
+{
+ for (;;) {
+ int rc = unw_get_proc_name(cursor, *name, *size, offset);
+
+ if (rc == 0)
+ break;
+ if (rc != -UNW_ENOMEM) {
+ **name = '\0';
+ *offset = 0;
+ break;
+ }
+ *name = xgrowarray(*name, size, 1);
+ }
+}
+
+static int
+print_stack_frame(struct tcb *tcp,
+ unwind_call_action_fn call_action,
+ unwind_error_action_fn error_action,
+ void *data,
+ unw_cursor_t *cursor,
+ char **symbol_name,
+ size_t *symbol_name_size)
+{
+ unw_word_t ip;
+ struct mmap_cache_t *cur_mmap_cache;
+
+ if (unw_get_reg(cursor, UNW_REG_IP, &ip) < 0) {
+ perror_msg("cannot walk the stack of process %d", tcp->pid);
+ return -1;
+ }
+
+ cur_mmap_cache = mmap_cache_search(tcp, ip);
+ if (cur_mmap_cache
+ /* ignore mappings that have no PROT_EXEC bit set */
+ && (cur_mmap_cache->protections & MMAP_CACHE_PROT_EXECUTABLE)) {
+ unsigned long true_offset;
+ unw_word_t function_offset;
+
+ get_symbol_name(cursor, symbol_name, symbol_name_size,
+ &function_offset);
+ true_offset = ip - cur_mmap_cache->start_addr +
+ cur_mmap_cache->mmap_offset;
+ call_action(data,
+ cur_mmap_cache->binary_filename,
+ *symbol_name,
+ function_offset,
+ true_offset);
+
+ return 0;
+ }
+
+ /*
+ * there is a bug in libunwind >= 1.0
+ * after a set_tid_address syscall
+ * unw_get_reg returns IP == 0
+ */
+ if (ip)
+ error_action(data, "unexpected_backtracing_error", ip);
+ return -1;
+}
+
+static void
+tcb_walk(struct tcb *tcp,
+ unwind_call_action_fn call_action,
+ unwind_error_action_fn error_action,
+ void *data)
+{
+ char *symbol_name;
+ size_t symbol_name_size = 40;
+ unw_cursor_t cursor;
+ int stack_depth;
+
+ if (!tcp->mmap_cache)
+ error_func_msg_and_die("mmap_cache is NULL");
+ if (tcp->mmap_cache_size == 0)
+ error_func_msg_and_die("mmap_cache is empty");
+
+ symbol_name = xmalloc(symbol_name_size);
+
+ if (unw_init_remote(&cursor, libunwind_as, tcp->unwind_ctx) < 0)
+ perror_func_msg_and_die("cannot initialize libunwind");
+
+ for (stack_depth = 0; stack_depth < 256; ++stack_depth) {
+ if (print_stack_frame(tcp, call_action, error_action, data,
+ &cursor, &symbol_name, &symbol_name_size) < 0)
+ break;
+ if (unw_step(&cursor) <= 0)
+ break;
+ }
+ if (stack_depth >= 256)
+ error_action(data, "too many stack frames", 0);
+
+ free(symbol_name);
+}
+
+static void
+tcb_flush_cache(struct tcb *tcp)
+{
+ unw_flush_cache(libunwind_as, 0, 0);
+}
+
+const struct unwind_unwinder_t unwinder = {
+ .name = "libunwind",
+ .init = init,
+ .tcb_init = tcb_init,
+ .tcb_fin = tcb_fin,
+ .tcb_walk = tcb_walk,
+ .tcb_flush_cache = tcb_flush_cache,
+};
diff --git a/unwind.c b/unwind.c
index ecda1842..41d0740d 100644
--- a/unwind.c
+++ b/unwind.c
@@ -26,8 +26,8 @@
*/
#include "defs.h"
-#include <limits.h>
-#include <libunwind-ptrace.h>
+#include "mmap_cache.h"
+#include "unwind.h"
#ifdef USE_DEMANGLE
# if defined HAVE_DEMANGLE_H
@@ -37,50 +37,6 @@
# endif
#endif
-#include "xstring.h"
-
-#ifdef _LARGEFILE64_SOURCE
-# ifdef HAVE_FOPEN64
-# define fopen_for_input fopen64
-# else
-# define fopen_for_input fopen
-# endif
-#else
-# define fopen_for_input fopen
-#endif
-
-/*
- * Keep a sorted array of cache entries,
- * so that we can binary search through it.
- */
-struct mmap_cache_t {
- /**
- * example entry:
- * 7fabbb09b000-7fabbb09f000 r-xp 00179000 fc:00 1180246 /lib/libc-2.11.1.so
- *
- * start_addr is 0x7fabbb09b000
- * end_addr is 0x7fabbb09f000
- * mmap_offset is 0x179000
- * binary_filename is "/lib/libc-2.11.1.so"
- */
- unsigned long start_addr;
- unsigned long end_addr;
- unsigned long mmap_offset;
- char *binary_filename;
-};
-
-/*
- * Type used in stacktrace walker
- */
-typedef void (*call_action_fn)(void *data,
- const char *binary_filename,
- const char *symbol_name,
- unw_word_t function_offset,
- unsigned long true_offset);
-typedef void (*error_action_fn)(void *data,
- const char *error,
- unsigned long true_offset);
-
/*
* Type used in stacktrace capturing
*/
@@ -89,314 +45,45 @@ struct call_t {
char *output_line;
};
-struct queue_t {
+struct unwind_queue_t {
struct call_t *tail;
struct call_t *head;
};
-static void queue_print(struct queue_t *queue);
-static void delete_mmap_cache(struct tcb *tcp, const char *caller);
-
-static unw_addr_space_t libunwind_as;
-static unsigned int mmap_cache_generation;
+static void queue_print(struct unwind_queue_t *queue);
static const char asprintf_error_str[] = "???";
void
unwind_init(void)
{
- libunwind_as = unw_create_addr_space(&_UPT_accessors, 0);
- if (!libunwind_as)
- error_msg_and_die("failed to create address space for stack tracing");
- unw_set_caching_policy(libunwind_as, UNW_CACHE_GLOBAL);
+ if (unwinder.init)
+ unwinder.init();
+ mmap_cache_enable();
}
void
unwind_tcb_init(struct tcb *tcp)
{
- if (tcp->libunwind_ui)
+ if (tcp->unwind_queue)
return;
- tcp->libunwind_ui = _UPT_create(tcp->pid);
- if (!tcp->libunwind_ui)
- perror_msg_and_die("_UPT_create");
+ tcp->unwind_queue = xmalloc(sizeof(*tcp->unwind_queue));
+ tcp->unwind_queue->head = NULL;
+ tcp->unwind_queue->tail = NULL;
- tcp->queue = xmalloc(sizeof(*tcp->queue));
- tcp->queue->head = NULL;
- tcp->queue->tail = NULL;
+ tcp->unwind_ctx = unwinder.tcb_init(tcp);
}
void
unwind_tcb_fin(struct tcb *tcp)
{
- queue_print(tcp->queue);
- free(tcp->queue);
- tcp->queue = NULL;
-
- delete_mmap_cache(tcp, __func__);
-
- _UPT_destroy(tcp->libunwind_ui);
- tcp->libunwind_ui = NULL;
-}
-
-/*
- * caching of /proc/ID/maps for each process to speed up stack tracing
- *
- * The cache must be refreshed after syscalls that affect memory mappings,
- * e.g. mmap, mprotect, munmap, execve.
- */
-static void
-build_mmap_cache(struct tcb *tcp)
-{
- FILE *fp;
- struct mmap_cache_t *cache_head = NULL;
- size_t cur_array_size = 0;
- char filename[sizeof("/proc/4294967296/maps")];
- char buffer[PATH_MAX + 80];
-
- unw_flush_cache(libunwind_as, 0, 0);
-
- xsprintf(filename, "/proc/%u/maps", tcp->pid);
- fp = fopen_for_input(filename, "r");
- if (!fp) {
- perror_msg("fopen: %s", filename);
- return;
- }
-
- while (fgets(buffer, sizeof(buffer), fp) != NULL) {
- struct mmap_cache_t *entry;
- unsigned long start_addr, end_addr, mmap_offset;
- char exec_bit;
- char binary_path[sizeof(buffer)];
-
- if (sscanf(buffer, "%lx-%lx %*c%*c%c%*c %lx %*x:%*x %*d %[^\n]",
- &start_addr, &end_addr, &exec_bit,
- &mmap_offset, binary_path) != 5)
- continue;
-
- /* ignore mappings that have no PROT_EXEC bit set */
- if (exec_bit != 'x')
- continue;
-
- if (end_addr < start_addr) {
- error_msg("%s: unrecognized file format", filename);
- break;
- }
-
- /*
- * sanity check to make sure that we're storing
- * non-overlapping regions in ascending order
- */
- if (tcp->mmap_cache_size > 0) {
- entry = &cache_head[tcp->mmap_cache_size - 1];
- if (entry->start_addr == start_addr &&
- entry->end_addr == end_addr) {
- /* duplicate entry, e.g. [vsyscall] */
- continue;
- }
- if (start_addr <= entry->start_addr ||
- start_addr < entry->end_addr) {
- debug_msg("%s: overlapping memory region: "
- "\"%s\" [%08lx-%08lx] overlaps with "
- "\"%s\" [%08lx-%08lx]",
- filename, binary_path, start_addr,
- end_addr, entry->binary_filename,
- entry->start_addr, entry->end_addr);
- continue;
- }
- }
-
- if (tcp->mmap_cache_size >= cur_array_size)
- cache_head = xgrowarray(cache_head, &cur_array_size,
- sizeof(*cache_head));
-
- entry = &cache_head[tcp->mmap_cache_size];
- entry->start_addr = start_addr;
- entry->end_addr = end_addr;
- entry->mmap_offset = mmap_offset;
- entry->binary_filename = xstrdup(binary_path);
- tcp->mmap_cache_size++;
- }
- fclose(fp);
- tcp->mmap_cache = cache_head;
- tcp->mmap_cache_generation = mmap_cache_generation;
-
- debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p",
- tcp->mmap_cache_generation,
- mmap_cache_generation,
- tcp, tcp->mmap_cache);
-}
-
-/* deleting the cache */
-static void
-delete_mmap_cache(struct tcb *tcp, const char *caller)
-{
- unsigned int i;
-
- debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p, caller=%s",
- tcp->mmap_cache_generation,
- mmap_cache_generation,
- tcp, tcp->mmap_cache, caller);
-
- for (i = 0; i < tcp->mmap_cache_size; i++) {
- free(tcp->mmap_cache[i].binary_filename);
- tcp->mmap_cache[i].binary_filename = NULL;
- }
- free(tcp->mmap_cache);
- tcp->mmap_cache = NULL;
- tcp->mmap_cache_size = 0;
-}
-
-static bool
-rebuild_cache_if_invalid(struct tcb *tcp, const char *caller)
-{
- if ((tcp->mmap_cache_generation != mmap_cache_generation)
- && tcp->mmap_cache)
- delete_mmap_cache(tcp, caller);
-
- if (!tcp->mmap_cache)
- build_mmap_cache(tcp);
-
- return tcp->mmap_cache && tcp->mmap_cache_size;
-}
-
-void
-unwind_cache_invalidate(struct tcb *tcp)
-{
-#if SUPPORTED_PERSONALITIES > 1
- if (tcp->currpers != DEFAULT_PERSONALITY) {
- /* disable stack trace */
- return;
- }
-#endif
- mmap_cache_generation++;
- debug_func_msg("tgen=%u, ggen=%u, tcp=%p, cache=%p",
- tcp->mmap_cache_generation,
- mmap_cache_generation,
- tcp, tcp->mmap_cache);
-}
-
-static void
-get_symbol_name(unw_cursor_t *cursor, char **name,
- size_t *size, unw_word_t *offset)
-{
- for (;;) {
- int rc = unw_get_proc_name(cursor, *name, *size, offset);
- if (rc == 0)
- break;
- if (rc != -UNW_ENOMEM) {
- **name = '\0';
- *offset = 0;
- break;
- }
- *name = xgrowarray(*name, size, 1);
- }
-}
-
-static int
-print_stack_frame(struct tcb *tcp,
- call_action_fn call_action,
- error_action_fn error_action,
- void *data,
- unw_cursor_t *cursor,
- char **symbol_name,
- size_t *symbol_name_size)
-{
- unw_word_t ip;
- int lower = 0;
- int upper = (int) tcp->mmap_cache_size - 1;
-
- if (unw_get_reg(cursor, UNW_REG_IP, &ip) < 0) {
- perror_msg("Can't walk the stack of process %d", tcp->pid);
- return -1;
- }
-
- while (lower <= upper) {
- struct mmap_cache_t *cur_mmap_cache;
- int mid = (upper + lower) / 2;
-
- cur_mmap_cache = &tcp->mmap_cache[mid];
-
- if (ip >= cur_mmap_cache->start_addr &&
- ip < cur_mmap_cache->end_addr) {
- unsigned long true_offset;
- unw_word_t function_offset;
-
- get_symbol_name(cursor, symbol_name, symbol_name_size,
- &function_offset);
- true_offset = ip - cur_mmap_cache->start_addr +
- cur_mmap_cache->mmap_offset;
+ queue_print(tcp->unwind_queue);
+ free(tcp->unwind_queue);
+ tcp->unwind_queue = NULL;
-#ifdef USE_DEMANGLE
- char *demangled_name =
- cplus_demangle(*symbol_name,
- DMGL_AUTO | DMGL_PARAMS);
-#endif
-
- call_action(data,
- cur_mmap_cache->binary_filename,
-#ifdef USE_DEMANGLE
- demangled_name ? demangled_name :
-#endif
- *symbol_name,
- function_offset,
- true_offset);
-#ifdef USE_DEMANGLE
- free(demangled_name);
-#endif
-
- return 0;
- } else if (ip < cur_mmap_cache->start_addr)
- upper = mid - 1;
- else
- lower = mid + 1;
- }
-
- /*
- * there is a bug in libunwind >= 1.0
- * after a set_tid_address syscall
- * unw_get_reg returns IP == 0
- */
- if (ip)
- error_action(data, "unexpected_backtracing_error", ip);
- return -1;
-}
-
-/*
- * walking the stack
- */
-static void
-stacktrace_walk(struct tcb *tcp,
- call_action_fn call_action,
- error_action_fn error_action,
- void *data)
-{
- char *symbol_name;
- size_t symbol_name_size = 40;
- unw_cursor_t cursor;
- int stack_depth;
-
- if (!tcp->mmap_cache)
- error_msg_and_die("bug: mmap_cache is NULL");
- if (tcp->mmap_cache_size == 0)
- error_msg_and_die("bug: mmap_cache is empty");
-
- symbol_name = xmalloc(symbol_name_size);
-
- if (unw_init_remote(&cursor, libunwind_as, tcp->libunwind_ui) < 0)
- perror_msg_and_die("Can't initiate libunwind");
-
- for (stack_depth = 0; stack_depth < 256; ++stack_depth) {
- if (print_stack_frame(tcp, call_action, error_action, data,
- &cursor, &symbol_name, &symbol_name_size) < 0)
- break;
- if (unw_step(&cursor) <= 0)
- break;
- }
- if (stack_depth >= 256)
- error_action(data, "too many stack frames", 0);
-
- free(symbol_name);
+ unwinder.tcb_fin(tcp);
+ tcp->unwind_ctx = NULL;
}
/*
@@ -411,10 +98,10 @@ stacktrace_walk(struct tcb *tcp,
* /lib64/libc.so.6(__libc_start_main+0xed) [0x7fa2f8a5976d]
* ./a.out() [0x400569]
*/
-#define STACK_ENTRY_SYMBOL_FMT \
+#define STACK_ENTRY_SYMBOL_FMT(SYM) \
" > %s(%s+0x%lx) [0x%lx]\n", \
binary_filename, \
- symbol_name, \
+ (SYM), \
(unsigned long) function_offset, \
true_offset
#define STACK_ENTRY_NOSYMBOL_FMT \
@@ -431,11 +118,24 @@ static void
print_call_cb(void *dummy,
const char *binary_filename,
const char *symbol_name,
- unw_word_t function_offset,
+ unwind_function_offset_t function_offset,
unsigned long true_offset)
{
- if (symbol_name && (symbol_name[0] != '\0'))
- tprintf(STACK_ENTRY_SYMBOL_FMT);
+ if (symbol_name && (symbol_name[0] != '\0')) {
+#ifdef USE_DEMANGLE
+ char *demangled_name =
+ cplus_demangle(symbol_name,
+ DMGL_AUTO | DMGL_PARAMS);
+#endif
+ tprintf(STACK_ENTRY_SYMBOL_FMT(
+#ifdef USE_DEMANGLE
+ demangled_name ? demangled_name :
+#endif
+ symbol_name));
+#ifdef USE_DEMANGLE
+ free(demangled_name);
+#endif
+ }
else if (binary_filename)
tprintf(STACK_ENTRY_NOSYMBOL_FMT);
else
@@ -460,15 +160,29 @@ print_error_cb(void *dummy,
static char *
sprint_call_or_error(const char *binary_filename,
const char *symbol_name,
- unw_word_t function_offset,
+ unwind_function_offset_t function_offset,
unsigned long true_offset,
const char *error)
{
char *output_line = NULL;
int n;
- if (symbol_name)
- n = asprintf(&output_line, STACK_ENTRY_SYMBOL_FMT);
+ if (symbol_name) {
+#ifdef USE_DEMANGLE
+ char *demangled_name =
+ cplus_demangle(symbol_name,
+ DMGL_AUTO | DMGL_PARAMS);
+#endif
+ n = asprintf(&output_line,
+ STACK_ENTRY_SYMBOL_FMT(
+#ifdef USE_DEMANGLE
+ demangled_name ? demangled_name :
+#endif
+ symbol_name));
+#ifdef USE_DEMANGLE
+ free(demangled_name);
+#endif
+ }
else if (binary_filename)
n = asprintf(&output_line, STACK_ENTRY_NOSYMBOL_FMT);
else if (error)
@@ -490,10 +204,10 @@ sprint_call_or_error(const char *binary_filename,
* queue manipulators
*/
static void
-queue_put(struct queue_t *queue,
+queue_put(struct unwind_queue_t *queue,
const char *binary_filename,
const char *symbol_name,
- unw_word_t function_offset,
+ unwind_function_offset_t function_offset,
unsigned long true_offset,
const char *error)
{
@@ -520,7 +234,7 @@ static void
queue_put_call(void *queue,
const char *binary_filename,
const char *symbol_name,
- unw_word_t function_offset,
+ unwind_function_offset_t function_offset,
unsigned long true_offset)
{
queue_put(queue,
@@ -540,7 +254,7 @@ queue_put_error(void *queue,
}
static void
-queue_print(struct queue_t *queue)
+queue_print(struct unwind_queue_t *queue)
{
struct call_t *call, *tmp;
@@ -567,7 +281,7 @@ queue_print(struct queue_t *queue)
* printing stack
*/
void
-unwind_print_stacktrace(struct tcb *tcp)
+unwind_tcb_print(struct tcb *tcp)
{
#if SUPPORTED_PERSONALITIES > 1
if (tcp->currpers != DEFAULT_PERSONALITY) {
@@ -575,12 +289,22 @@ unwind_print_stacktrace(struct tcb *tcp)
return;
}
#endif
- if (tcp->queue->head) {
- debug_func_msg("head: tcp=%p, queue=%p", tcp, tcp->queue->head);
- queue_print(tcp->queue);
- } else if (rebuild_cache_if_invalid(tcp, __func__)) {
- debug_func_msg("walk: tcp=%p, queue=%p", tcp, tcp->queue->head);
- stacktrace_walk(tcp, print_call_cb, print_error_cb, NULL);
+ if (tcp->unwind_queue->head) {
+ debug_func_msg("head: tcp=%p, queue=%p",
+ tcp, tcp->unwind_queue->head);
+ queue_print(tcp->unwind_queue);
+ } else switch (mmap_cache_rebuild_if_invalid(tcp, __func__)) {
+ case MMAP_CACHE_REBUILD_RENEWED:
+ unwinder.tcb_flush_cache(tcp);
+ ATTRIBUTE_FALLTHROUGH;
+ case MMAP_CACHE_REBUILD_READY:
+ debug_func_msg("walk: tcp=%p, queue=%p",
+ tcp, tcp->unwind_queue->head);
+ unwinder.tcb_walk(tcp, print_call_cb, print_error_cb, NULL);
+ break;
+ default:
+ /* Do nothing */
+ ;
}
}
@@ -588,7 +312,7 @@ unwind_print_stacktrace(struct tcb *tcp)
* capturing stack
*/
void
-unwind_capture_stacktrace(struct tcb *tcp)
+unwind_tcb_capture(struct tcb *tcp)
{
#if SUPPORTED_PERSONALITIES > 1
if (tcp->currpers != DEFAULT_PERSONALITY) {
@@ -596,12 +320,21 @@ unwind_capture_stacktrace(struct tcb *tcp)
return;
}
#endif
- if (tcp->queue->head)
+ if (tcp->unwind_queue->head)
error_msg_and_die("bug: unprinted entries in queue");
- if (rebuild_cache_if_invalid(tcp, __func__)) {
- stacktrace_walk(tcp, queue_put_call, queue_put_error,
- tcp->queue);
- debug_func_msg("tcp=%p, queue=%p", tcp, tcp->queue->head);
+ switch (mmap_cache_rebuild_if_invalid(tcp, __func__)) {
+ case MMAP_CACHE_REBUILD_RENEWED:
+ unwinder.tcb_flush_cache(tcp);
+ ATTRIBUTE_FALLTHROUGH;
+ case MMAP_CACHE_REBUILD_READY:
+ unwinder.tcb_walk(tcp, queue_put_call, queue_put_error,
+ tcp->unwind_queue);
+ debug_func_msg("tcp=%p, queue=%p",
+ tcp, tcp->unwind_queue->head);
+ break;
+ default:
+ /* Do nothing */
+ ;
}
}
diff --git a/unwind.h b/unwind.h
new file mode 100644
index 00000000..3a6065b4
--- /dev/null
+++ b/unwind.h
@@ -0,0 +1,76 @@
+/*
+ * Unwinder backends interface.
+ *
+ * Copyright (c) 2013 Luca Clementi <luca.clementi@gmail.com>
+ * Copyright (c) 2013-2018 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.
+ */
+
+#ifndef STRACE_UNWIND_H
+#define STRACE_UNWIND_H
+
+#include "defs.h"
+
+/*
+ * Type used in stacktrace walker.
+ */
+
+/* This storage be enough large to store unw_word_t. */
+typedef unsigned long unwind_function_offset_t;
+
+typedef void (*unwind_call_action_fn)(void *data,
+ const char *binary_filename,
+ const char *symbol_name,
+ unwind_function_offset_t function_offset,
+ unsigned long true_offset);
+typedef void (*unwind_error_action_fn)(void *data,
+ const char *error,
+ unsigned long true_offset);
+
+struct unwind_unwinder_t {
+ const char *name;
+
+ /* Initialize the unwinder. */
+ void (*init)(void);
+
+ /* Make/destroy the context data attached to tcb. */
+ void * (*tcb_init)(struct tcb *);
+ void (*tcb_fin)(struct tcb *);
+
+ /* Walk the stack. */
+ void (*tcb_walk)(struct tcb *,
+ unwind_call_action_fn,
+ unwind_error_action_fn,
+ void *);
+
+ /*
+ * Rebuild the unwinder internal cache. Called when mmap cache
+ * subsystem detects a change of tracee memory mapping.
+ */
+ void (*tcb_flush_cache)(struct tcb *);
+};
+
+extern const struct unwind_unwinder_t unwinder;
+
+#endif /* !STRACE_UNWIND_H */
diff --git a/upoke.c b/upoke.c
index 6affb83f..f7987903 100644
--- a/upoke.c
+++ b/upoke.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2016-2017 The strace developers.
+ * Copyright (c) 2016-2018 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/util.c b/util.c
index 77cc5acc..ce516629 100644
--- a/util.c
+++ b/util.c
@@ -36,72 +36,76 @@
#include <limits.h>
#include <fcntl.h>
#include <stdarg.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
#ifdef HAVE_SYS_XATTR_H
# include <sys/xattr.h>
#endif
#include <sys/uio.h>
+
+#include "largefile_wrappers.h"
#include "xstring.h"
int
-tv_nz(const struct timeval *a)
+ts_nz(const struct timespec *a)
{
- return a->tv_sec || a->tv_usec;
+ return a->tv_sec || a->tv_nsec;
}
int
-tv_cmp(const struct timeval *a, const struct timeval *b)
+ts_cmp(const struct timespec *a, const struct timespec *b)
{
if (a->tv_sec < b->tv_sec
- || (a->tv_sec == b->tv_sec && a->tv_usec < b->tv_usec))
+ || (a->tv_sec == b->tv_sec && a->tv_nsec < b->tv_nsec))
return -1;
if (a->tv_sec > b->tv_sec
- || (a->tv_sec == b->tv_sec && a->tv_usec > b->tv_usec))
+ || (a->tv_sec == b->tv_sec && a->tv_nsec > b->tv_nsec))
return 1;
return 0;
}
double
-tv_float(const struct timeval *tv)
+ts_float(const struct timespec *tv)
{
- return tv->tv_sec + tv->tv_usec/1000000.0;
+ return tv->tv_sec + tv->tv_nsec/1000000000.0;
}
void
-tv_add(struct timeval *tv, const struct timeval *a, const struct timeval *b)
+ts_add(struct timespec *tv, const struct timespec *a, const struct timespec *b)
{
tv->tv_sec = a->tv_sec + b->tv_sec;
- tv->tv_usec = a->tv_usec + b->tv_usec;
- if (tv->tv_usec >= 1000000) {
+ tv->tv_nsec = a->tv_nsec + b->tv_nsec;
+ if (tv->tv_nsec >= 1000000000) {
tv->tv_sec++;
- tv->tv_usec -= 1000000;
+ tv->tv_nsec -= 1000000000;
}
}
void
-tv_sub(struct timeval *tv, const struct timeval *a, const struct timeval *b)
+ts_sub(struct timespec *tv, const struct timespec *a, const struct timespec *b)
{
tv->tv_sec = a->tv_sec - b->tv_sec;
- tv->tv_usec = a->tv_usec - b->tv_usec;
- if (((long) tv->tv_usec) < 0) {
+ tv->tv_nsec = a->tv_nsec - b->tv_nsec;
+ if (tv->tv_nsec < 0) {
tv->tv_sec--;
- tv->tv_usec += 1000000;
+ tv->tv_nsec += 1000000000;
}
}
void
-tv_div(struct timeval *tv, const struct timeval *a, int n)
+ts_div(struct timespec *tv, const struct timespec *a, int n)
{
- tv->tv_usec = (a->tv_sec % n * 1000000 + a->tv_usec + n / 2) / n;
- tv->tv_sec = a->tv_sec / n + tv->tv_usec / 1000000;
- tv->tv_usec %= 1000000;
+ long long nsec = (a->tv_sec % n * 1000000000LL + a->tv_nsec + n / 2) / n;
+ tv->tv_sec = a->tv_sec / n + nsec / 1000000000;
+ tv->tv_nsec = nsec % 1000000000;
}
void
-tv_mul(struct timeval *tv, const struct timeval *a, int n)
+ts_mul(struct timespec *tv, const struct timespec *a, int n)
{
- tv->tv_usec = a->tv_usec * n;
- tv->tv_sec = a->tv_sec * n + tv->tv_usec / 1000000;
- tv->tv_usec %= 1000000;
+ long long nsec = a->tv_nsec * n;
+ tv->tv_sec = a->tv_sec * n + nsec / 1000000000;
+ tv->tv_nsec = nsec % 1000000000;
}
#if !defined HAVE_STPCPY
@@ -224,12 +228,18 @@ printllval(struct tcb *tcp, const char *format, int arg_no)
}
void
-printaddr(const kernel_ulong_t addr)
+printaddr64(const uint64_t addr)
{
if (!addr)
tprints("NULL");
else
- tprintf("%#" PRI_klx, addr);
+ tprintf("%#" PRIx64, addr);
+}
+
+void
+printaddr(const kernel_ulong_t addr)
+{
+ printaddr64(addr);
}
#define DEF_PRINTNUM(name, type) \
@@ -254,7 +264,7 @@ printnum_addr_ ## name(struct tcb *tcp, const kernel_ulong_t addr) \
if (umove_or_printaddr(tcp, addr, &num)) \
return false; \
tprints("["); \
- printaddr(num); \
+ printaddr64(num); \
tprints("]"); \
return true; \
}
@@ -320,11 +330,14 @@ printnum_addr_klong_int(struct tcb *tcp, const kernel_ulong_t addr)
/**
* Prints time to a (static internal) buffer and returns pointer to it.
+ * Returns NULL if the provided time specification is not correct.
*
* @param sec Seconds since epoch.
* @param part_sec Amount of second parts since the start of a second.
* @param max_part_sec Maximum value of a valid part_sec.
* @param width 1 + floor(log10(max_part_sec)).
+ * @return Pointer to a statically allocated string on success,
+ * NULL on error.
*/
static const char *
sprinttime_ex(const long long sec, const unsigned long long part_sec,
@@ -418,24 +431,59 @@ getfdinode(struct tcb *tcp, int fd)
return 0;
}
+static bool
+printsocket(struct tcb *tcp, int fd, const char *path)
+{
+ const char *str = STR_STRIP_PREFIX(path, "socket:[");
+ size_t len;
+ unsigned long inode;
+
+ return (str != path)
+ && (len = strlen(str))
+ && (str[len - 1] == ']')
+ && (inode = strtoul(str, NULL, 10))
+ && print_sockaddr_by_inode(tcp, fd, inode);
+}
+
+static bool
+printdev(struct tcb *tcp, int fd, const char *path)
+{
+ struct_stat st;
+
+ if (path[0] != '/')
+ return false;
+
+ if (stat_file(path, &st)) {
+ debug_func_perror_msg("stat(\"%s\")", path);
+ return false;
+ }
+
+ switch (st.st_mode & S_IFMT) {
+ case S_IFBLK:
+ case S_IFCHR:
+ print_quoted_string_ex(path, strlen(path),
+ QUOTE_OMIT_LEADING_TRAILING_QUOTES,
+ "<>");
+ tprintf("<%s %u:%u>",
+ S_ISBLK(st.st_mode)? "block" : "char",
+ major(st.st_rdev), minor(st.st_rdev));
+ return true;
+ }
+
+ return false;
+}
+
void
printfd(struct tcb *tcp, int fd)
{
char path[PATH_MAX + 1];
if (show_fd_path && getfdpath(tcp, fd, path, sizeof(path)) >= 0) {
- const char *str;
- size_t len;
- unsigned long inode;
-
tprintf("%d<", fd);
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);
+ || (!printsocket(tcp, fd, path)
+ && !printdev(tcp, fd, path))) {
+ print_quoted_string_ex(path, strlen(path),
+ QUOTE_OMIT_LEADING_TRAILING_QUOTES, "<>");
}
tprints(">");
} else
@@ -446,6 +494,9 @@ printfd(struct tcb *tcp, int fd)
* Quote string `instr' of length `size'
* Write up to (3 + `size' * 4) bytes to `outstr' buffer.
*
+ * `escape_chars' specifies characters (in addition to characters with
+ * codes 0..31, 127..255, single and double quotes) that should be escaped.
+ *
* If QUOTE_0_TERMINATED `style' flag is set,
* treat `instr' as a NUL-terminated string,
* checking up to (`size' + 1) bytes of `instr'.
@@ -458,12 +509,13 @@ printfd(struct tcb *tcp, int fd)
*/
int
string_quote(const char *instr, char *outstr, const unsigned int size,
- const unsigned int style)
+ const unsigned int style, const char *escape_chars)
{
const unsigned char *ustr = (const unsigned char *) instr;
char *s = outstr;
unsigned int i;
int usehex, c, eol;
+ bool escape;
if (style & QUOTE_0_TERMINATED)
eol = '\0';
@@ -514,68 +566,75 @@ string_quote(const char *instr, char *outstr, const unsigned int size,
*s++ = "0123456789abcdef"[c >> 4];
*s++ = "0123456789abcdef"[c & 0xf];
}
- } else {
- for (i = 0; i < size; ++i) {
- c = ustr[i];
- /* Check for NUL-terminated string. */
- if (c == eol)
- goto asciz_ended;
- if ((i == (size - 1)) &&
- (style & QUOTE_OMIT_TRAILING_0) && (c == '\0'))
- goto asciz_ended;
- switch (c) {
- case '\"': case '\\':
- *s++ = '\\';
- *s++ = c;
- break;
- case '\f':
- *s++ = '\\';
- *s++ = 'f';
- break;
- case '\n':
- *s++ = '\\';
- *s++ = 'n';
- break;
- case '\r':
- *s++ = '\\';
- *s++ = 'r';
- break;
- case '\t':
- *s++ = '\\';
- *s++ = 't';
- break;
- case '\v':
- *s++ = '\\';
- *s++ = 'v';
- break;
- default:
- if (c >= ' ' && c <= 0x7e)
- *s++ = c;
- else {
- /* Print \octal */
- *s++ = '\\';
- if (i + 1 < size
- && ustr[i + 1] >= '0'
- && ustr[i + 1] <= '9'
- ) {
- /* Print \ooo */
+
+ goto string_ended;
+ }
+
+ for (i = 0; i < size; ++i) {
+ c = ustr[i];
+ /* Check for NUL-terminated string. */
+ if (c == eol)
+ goto asciz_ended;
+ if ((i == (size - 1)) &&
+ (style & QUOTE_OMIT_TRAILING_0) && (c == '\0'))
+ goto asciz_ended;
+ switch (c) {
+ case '\"': case '\\':
+ *s++ = '\\';
+ *s++ = c;
+ break;
+ case '\f':
+ *s++ = '\\';
+ *s++ = 'f';
+ break;
+ case '\n':
+ *s++ = '\\';
+ *s++ = 'n';
+ break;
+ case '\r':
+ *s++ = '\\';
+ *s++ = 'r';
+ break;
+ case '\t':
+ *s++ = '\\';
+ *s++ = 't';
+ break;
+ case '\v':
+ *s++ = '\\';
+ *s++ = 'v';
+ break;
+ default:
+ escape = (c < ' ') || (c > 0x7e);
+
+ if (!escape && escape_chars)
+ escape = !!strchr(escape_chars, c);
+
+ if (!escape) {
+ *s++ = c;
+ } else {
+ /* Print \octal */
+ *s++ = '\\';
+ if (i + 1 < size
+ && ustr[i + 1] >= '0'
+ && ustr[i + 1] <= '7'
+ ) {
+ /* Print \ooo */
+ *s++ = '0' + (c >> 6);
+ *s++ = '0' + ((c >> 3) & 0x7);
+ } else {
+ /* Print \[[o]o]o */
+ if ((c >> 3) != 0) {
+ if ((c >> 6) != 0)
*s++ = '0' + (c >> 6);
- *s++ = '0' + ((c >> 3) & 0x7);
- } else {
- /* Print \[[o]o]o */
- if ((c >> 3) != 0) {
- if ((c >> 6) != 0)
- *s++ = '0' + (c >> 6);
- *s++ = '0' + ((c >> 3) & 0x7);
- }
- }
- *s++ = '0' + (c & 0x7);
+ *s++ = '0' + ((c >> 3) & 0x7);
}
- break;
+ }
+ *s++ = '0' + (c & 0x7);
}
}
}
+ string_ended:
if (!(style & QUOTE_OMIT_LEADING_TRAILING_QUOTES))
*s++ = '\"';
if (style & QUOTE_EMIT_COMMENT)
@@ -621,8 +680,8 @@ string_quote(const char *instr, char *outstr, const unsigned int size,
* Note that if QUOTE_0_TERMINATED is not set, always returns 1.
*/
int
-print_quoted_string(const char *str, unsigned int size,
- const unsigned int style)
+print_quoted_string_ex(const char *str, unsigned int size,
+ const unsigned int style, const char *escape_chars)
{
char *buf;
char *outstr;
@@ -653,13 +712,20 @@ print_quoted_string(const char *str, unsigned int size,
}
}
- rc = string_quote(str, outstr, size, style);
+ rc = string_quote(str, outstr, size, style, escape_chars);
tprints(outstr);
free(buf);
return rc;
}
+inline int
+print_quoted_string(const char *str, unsigned int size,
+ const unsigned int style)
+{
+ return print_quoted_string_ex(str, size, style, NULL);
+}
+
/*
* Quote a NUL-terminated string `str' of length up to `size' - 1
* and print the result.
@@ -781,7 +847,7 @@ printstr_ex(struct tcb *const tcp, const kernel_ulong_t addr,
/* If string_quote didn't see NUL and (it was supposed to be ASCIZ str
* or we were requested to print more than -s NUM chars)...
*/
- ellipsis = string_quote(str, outstr, size, style)
+ ellipsis = string_quote(str, outstr, size, style, NULL)
&& len
&& ((style & QUOTE_0_TERMINATED)
|| len > max_strlen);
diff --git a/v4l2.c b/v4l2.c
index d8d5e774..7081c81c 100644
--- a/v4l2.c
+++ b/v4l2.c
@@ -75,35 +75,34 @@ typedef struct v4l2_standard struct_v4l2_standard;
#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
#endif
+/* v4l2_fourcc_be was added by Linux commit v3.18-rc1~101^2^2~127 */
+#ifndef v4l2_fourcc_be
+# define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
+#endif
+
#define FMT_FRACT "%u/%u"
#define ARGS_FRACT(x) ((x).numerator), ((x).denominator)
#define FMT_RECT "{left=%d, top=%d, width=%u, height=%u}"
#define ARGS_RECT(x) (x).left, (x).top, (x).width, (x).height
+#include "xlat/v4l2_pix_fmts.h"
+#include "xlat/v4l2_sdr_fmts.h"
+
static void
-print_pixelformat(uint32_t fourcc)
+print_pixelformat(uint32_t fourcc, const struct xlat *xlat)
{
- const union {
- uint32_t pixelformat;
- unsigned char cc[sizeof(uint32_t)];
- } u = {
-#if WORDS_BIGENDIAN
- .cc = {
- (unsigned char) (fourcc >> 24),
- (unsigned char) (fourcc >> 16),
- (unsigned char) (fourcc >> 8),
- (unsigned char) fourcc
- }
-#else
- .pixelformat = fourcc
-#endif
+ unsigned char a[] = {
+ (unsigned char) fourcc,
+ (unsigned char) (fourcc >> 8),
+ (unsigned char) (fourcc >> 16),
+ (unsigned char) (fourcc >> 24),
};
unsigned int i;
tprints("v4l2_fourcc(");
- for (i = 0; i < sizeof(u.cc); ++i) {
- unsigned char c = u.cc[i];
+ for (i = 0; i < ARRAY_SIZE(a); ++i) {
+ unsigned char c = a[i];
if (i)
tprints(", ");
@@ -138,6 +137,13 @@ print_pixelformat(uint32_t fourcc)
}
}
tprints(")");
+
+ if (xlat) {
+ const char *pixfmt_name = xlookup(xlat, fourcc);
+
+ if (pixfmt_name)
+ tprints_comment(pixfmt_name);
+ }
}
#include "xlat/v4l2_device_capabilities_flags.h"
@@ -193,7 +199,7 @@ print_v4l2_fmtdesc(struct tcb *const tcp, const kernel_ulong_t arg)
"V4L2_FMT_FLAG_???");
PRINT_FIELD_CSTRING(", ", f, description);
tprints(", pixelformat=");
- print_pixelformat(f.pixelformat);
+ print_pixelformat(f.pixelformat, v4l2_pix_fmts);
}
tprints("}");
return RVAL_IOCTL_DECODED;
@@ -223,7 +229,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
tprints(prefix);
tprintf("fmt.pix={width=%u, height=%u, pixelformat=",
f->fmt.pix.width, f->fmt.pix.height);
- print_pixelformat(f->fmt.pix.pixelformat);
+ print_pixelformat(f->fmt.pix.pixelformat, v4l2_pix_fmts);
tprints(", field=");
printxval(v4l2_fields, f->fmt.pix.field, "V4L2_FIELD_???");
tprintf(", bytesperline=%u, sizeimage=%u, colorspace=",
@@ -240,7 +246,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
tprints(prefix);
tprintf("fmt.pix_mp={width=%u, height=%u, pixelformat=",
f->fmt.pix_mp.width, f->fmt.pix_mp.height);
- print_pixelformat(f->fmt.pix_mp.pixelformat);
+ print_pixelformat(f->fmt.pix_mp.pixelformat, v4l2_pix_fmts);
tprints(", field=");
printxval(v4l2_fields, f->fmt.pix_mp.field, "V4L2_FIELD_???");
tprints(", colorspace=");
@@ -291,7 +297,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
"samples_per_line=%u, sample_format=",
f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
f->fmt.vbi.samples_per_line);
- print_pixelformat(f->fmt.vbi.sample_format);
+ print_pixelformat(f->fmt.vbi.sample_format, v4l2_pix_fmts);
tprintf(", start=[%u, %u], count=[%u, %u], ",
f->fmt.vbi.start[0], f->fmt.vbi.start[1],
f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
@@ -338,7 +344,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
case V4L2_BUF_TYPE_SDR_CAPTURE:
tprints(prefix);
tprints("fmt.sdr={pixelformat=");
- print_pixelformat(f->fmt.sdr.pixelformat);
+ print_pixelformat(f->fmt.sdr.pixelformat, v4l2_sdr_fmts);
#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
tprintf(", buffersize=%u",
f->fmt.sdr.buffersize);
@@ -882,7 +888,7 @@ print_v4l2_frmsizeenum(struct tcb *const tcp, const kernel_ulong_t arg)
if (umove_or_printaddr(tcp, arg, &s))
return RVAL_IOCTL_DECODED;
tprintf("{index=%u, pixel_format=", s.index);
- print_pixelformat(s.pixel_format);
+ print_pixelformat(s.pixel_format, v4l2_pix_fmts);
return 0;
}
@@ -922,7 +928,7 @@ print_v4l2_frmivalenum(struct tcb *const tcp, const kernel_ulong_t arg)
if (umove_or_printaddr(tcp, arg, &f))
return RVAL_IOCTL_DECODED;
tprintf("{index=%u, pixel_format=", f.index);
- print_pixelformat(f.pixel_format);
+ print_pixelformat(f.pixel_format, v4l2_pix_fmts);
tprintf(", width=%u, height=%u", f.width, f.height);
return 0;
}
@@ -1016,7 +1022,7 @@ MPERS_PRINTER_DECL(int, v4l2_ioctl, struct tcb *const tcp,
case VIDIOC_G_FBUF: /* R */
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case VIDIOC_S_FBUF: /* W */
return print_v4l2_framebuffer(tcp, arg);
@@ -1031,7 +1037,7 @@ MPERS_PRINTER_DECL(int, v4l2_ioctl, struct tcb *const tcp,
case VIDIOC_G_STD: /* R */
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case VIDIOC_S_STD: /* W */
tprints(", ");
printnum_int64(tcp, arg, "%#" PRIx64);
@@ -1057,7 +1063,7 @@ MPERS_PRINTER_DECL(int, v4l2_ioctl, struct tcb *const tcp,
case VIDIOC_G_INPUT: /* R */
if (entering(tcp))
return 0;
- /* fall through */
+ ATTRIBUTE_FALLTHROUGH;
case VIDIOC_S_INPUT: /* RW */
tprints(", ");
printnum_int(tcp, arg, "%u");
diff --git a/xlat.c b/xlat.c
index 50025a69..be58f72e 100644
--- a/xlat.c
+++ b/xlat.c
@@ -140,24 +140,6 @@ printxval_searchn(const struct xlat *xlat, size_t xlat_size, uint64_t val,
}
/*
- * 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. If 0 is provided as flags, and there is no flag that
diff --git a/xlat/Makemodule.am b/xlat/Makemodule.am
index 1a6fabe9..378c0473 100644
--- a/xlat/Makemodule.am
+++ b/xlat/Makemodule.am
@@ -1,5 +1,5 @@
-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_flags.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_flags.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/crypto_nl_attrs.in xlat/dcb_commands.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/fib_rule_actions.in xlat/fib_rule_flags.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/ifaddrflags.in xlat/iffflags.in xlat/inet_diag_attrs.in xlat/inet_diag_bytecodes.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/ip_type_of_services.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/kvm_mem_flags.in xlat/lockfcmds.in xlat/loop_cmds.in xlat/loop_crypt_type_options.in xlat/loop_flags_options.in xlat/lwtunnel_encap_types.in xlat/madvise_cmds.in xlat/mbindflags.in xlat/mctl_sync.in xlat/mdb_flags.in xlat/mdb_states.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/multicast_router_types.in xlat/name_to_handle_at_flags.in xlat/neighbor_cache_entry_flags.in xlat/neighbor_cache_entry_states.in xlat/netlink_ack_flags.in xlat/netlink_delete_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/nf_acct_msg_types.in xlat/nf_cthelper_msg_types.in xlat/nf_ctnetlink_exp_msg_types.in xlat/nf_ctnetlink_msg_types.in xlat/nf_cttimeout_msg_types.in xlat/nf_ipset_msg_types.in xlat/nf_nft_compat_msg_types.in xlat/nf_nftables_msg_types.in xlat/nf_osf_msg_types.in xlat/nf_queue_msg_types.in xlat/nf_ulog_msg_types.in xlat/nl_audit_types.in xlat/nl_crypto_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/nlmsgerr_attrs.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_info_flags.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/riscv_flush_icache_flags.in xlat/route_nexthop_flags.in xlat/routing_flags.in xlat/routing_protocols.in xlat/routing_scopes.in xlat/routing_table_ids.in xlat/routing_types.in xlat/rtnl_addr_attrs.in xlat/rtnl_addrlabel_attrs.in xlat/rtnl_dcb_attrs.in xlat/rtnl_ifla_brport_attrs.in xlat/rtnl_ifla_info_attrs.in xlat/rtnl_ifla_port_attrs.in xlat/rtnl_ifla_vf_port_attrs.in xlat/rtnl_ifla_xdp_attrs.in xlat/rtnl_link_attrs.in xlat/rtnl_mdb_attrs.in xlat/rtnl_mdba_mdb_attrs.in xlat/rtnl_mdba_mdb_eattr_attrs.in xlat/rtnl_mdba_mdb_entry_attrs.in xlat/rtnl_mdba_router_attrs.in xlat/rtnl_mdba_router_pattr_attrs.in xlat/rtnl_neigh_attrs.in xlat/rtnl_neightbl_attrs.in xlat/rtnl_neightbl_parms_attrs.in xlat/rtnl_netconf_attrs.in xlat/rtnl_nsid_attrs.in xlat/rtnl_route_attrs.in xlat/rtnl_rta_metrics_attrs.in xlat/rtnl_rule_attrs.in xlat/rtnl_tc_action_attrs.in xlat/rtnl_tc_attrs.in xlat/rtnl_tca_stab_attrs.in xlat/rtnl_tca_stats_attrs.in xlat/rwf_flags.in xlat/s390_guarded_storage_commands.in xlat/s390_runtime_instr_commands.in xlat/s390_sthyi_function_codes.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/skf_ad.in xlat/smc_diag_attrs.in xlat/smc_diag_extended_flags.in xlat/smc_link_group_roles.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/socknetlinkoptions.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_features.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/xdp_flags.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_flags.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_flags.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/crypto_nl_attrs.h xlat/dcb_commands.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/fib_rule_actions.h xlat/fib_rule_flags.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/ifaddrflags.h xlat/iffflags.h xlat/inet_diag_attrs.h xlat/inet_diag_bytecodes.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/ip_type_of_services.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/kvm_mem_flags.h xlat/lockfcmds.h xlat/loop_cmds.h xlat/loop_crypt_type_options.h xlat/loop_flags_options.h xlat/lwtunnel_encap_types.h xlat/madvise_cmds.h xlat/mbindflags.h xlat/mctl_sync.h xlat/mdb_flags.h xlat/mdb_states.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/multicast_router_types.h xlat/name_to_handle_at_flags.h xlat/neighbor_cache_entry_flags.h xlat/neighbor_cache_entry_states.h xlat/netlink_ack_flags.h xlat/netlink_delete_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/nf_acct_msg_types.h xlat/nf_cthelper_msg_types.h xlat/nf_ctnetlink_exp_msg_types.h xlat/nf_ctnetlink_msg_types.h xlat/nf_cttimeout_msg_types.h xlat/nf_ipset_msg_types.h xlat/nf_nft_compat_msg_types.h xlat/nf_nftables_msg_types.h xlat/nf_osf_msg_types.h xlat/nf_queue_msg_types.h xlat/nf_ulog_msg_types.h xlat/nl_audit_types.h xlat/nl_crypto_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/nlmsgerr_attrs.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_info_flags.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/riscv_flush_icache_flags.h xlat/route_nexthop_flags.h xlat/routing_flags.h xlat/routing_protocols.h xlat/routing_scopes.h xlat/routing_table_ids.h xlat/routing_types.h xlat/rtnl_addr_attrs.h xlat/rtnl_addrlabel_attrs.h xlat/rtnl_dcb_attrs.h xlat/rtnl_ifla_brport_attrs.h xlat/rtnl_ifla_info_attrs.h xlat/rtnl_ifla_port_attrs.h xlat/rtnl_ifla_vf_port_attrs.h xlat/rtnl_ifla_xdp_attrs.h xlat/rtnl_link_attrs.h xlat/rtnl_mdb_attrs.h xlat/rtnl_mdba_mdb_attrs.h xlat/rtnl_mdba_mdb_eattr_attrs.h xlat/rtnl_mdba_mdb_entry_attrs.h xlat/rtnl_mdba_router_attrs.h xlat/rtnl_mdba_router_pattr_attrs.h xlat/rtnl_neigh_attrs.h xlat/rtnl_neightbl_attrs.h xlat/rtnl_neightbl_parms_attrs.h xlat/rtnl_netconf_attrs.h xlat/rtnl_nsid_attrs.h xlat/rtnl_route_attrs.h xlat/rtnl_rta_metrics_attrs.h xlat/rtnl_rule_attrs.h xlat/rtnl_tc_action_attrs.h xlat/rtnl_tc_attrs.h xlat/rtnl_tca_stab_attrs.h xlat/rtnl_tca_stats_attrs.h xlat/rwf_flags.h xlat/s390_guarded_storage_commands.h xlat/s390_runtime_instr_commands.h xlat/s390_sthyi_function_codes.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/skf_ad.h xlat/smc_diag_attrs.h xlat/smc_diag_extended_flags.h xlat/smc_link_group_roles.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/socknetlinkoptions.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_features.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/xdp_flags.h xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h
+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_file_mode_flags.in xlat/bpf_map_flags.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_flags.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_logical_ino_args_flags.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/crypto_nl_attrs.in xlat/dcb_commands.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/fib_rule_actions.in xlat/fib_rule_flags.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/ifaddrflags.in xlat/iffflags.in xlat/inet_diag_attrs.in xlat/inet_diag_bytecodes.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/ip_type_of_services.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/kvm_mem_flags.in xlat/lockfcmds.in xlat/loop_cmds.in xlat/loop_crypt_type_options.in xlat/loop_flags_options.in xlat/lwtunnel_encap_types.in xlat/madvise_cmds.in xlat/mbindflags.in xlat/mctl_sync.in xlat/mdb_flags.in xlat/mdb_states.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/multicast_router_types.in xlat/name_to_handle_at_flags.in xlat/neighbor_cache_entry_flags.in xlat/neighbor_cache_entry_states.in xlat/netfilter_versions.in xlat/netlink_ack_flags.in xlat/netlink_delete_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/nf_acct_msg_types.in xlat/nf_cthelper_msg_types.in xlat/nf_ctnetlink_exp_msg_types.in xlat/nf_ctnetlink_msg_types.in xlat/nf_cttimeout_msg_types.in xlat/nf_ipset_msg_types.in xlat/nf_nft_compat_msg_types.in xlat/nf_nftables_msg_types.in xlat/nf_osf_msg_types.in xlat/nf_queue_msg_types.in xlat/nf_ulog_msg_types.in xlat/nl_audit_types.in xlat/nl_crypto_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/nlmsgerr_attrs.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_info_flags.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_sve_vl_flags.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/riscv_flush_icache_flags.in xlat/route_nexthop_flags.in xlat/routing_flags.in xlat/routing_protocols.in xlat/routing_scopes.in xlat/routing_table_ids.in xlat/routing_types.in xlat/rtnl_addr_attrs.in xlat/rtnl_addrlabel_attrs.in xlat/rtnl_dcb_attrs.in xlat/rtnl_ifla_brport_attrs.in xlat/rtnl_ifla_events.in xlat/rtnl_ifla_info_attrs.in xlat/rtnl_ifla_port_attrs.in xlat/rtnl_ifla_vf_port_attrs.in xlat/rtnl_ifla_xdp_attrs.in xlat/rtnl_link_attrs.in xlat/rtnl_mdb_attrs.in xlat/rtnl_mdba_mdb_attrs.in xlat/rtnl_mdba_mdb_eattr_attrs.in xlat/rtnl_mdba_mdb_entry_attrs.in xlat/rtnl_mdba_router_attrs.in xlat/rtnl_mdba_router_pattr_attrs.in xlat/rtnl_neigh_attrs.in xlat/rtnl_neightbl_attrs.in xlat/rtnl_neightbl_parms_attrs.in xlat/rtnl_netconf_attrs.in xlat/rtnl_nsid_attrs.in xlat/rtnl_route_attrs.in xlat/rtnl_rta_metrics_attrs.in xlat/rtnl_rule_attrs.in xlat/rtnl_tc_action_attrs.in xlat/rtnl_tc_attrs.in xlat/rtnl_tca_stab_attrs.in xlat/rtnl_tca_stats_attrs.in xlat/rwf_flags.in xlat/s390_guarded_storage_commands.in xlat/s390_runtime_instr_commands.in xlat/s390_sthyi_function_codes.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/skf_ad.in xlat/smc_diag_attrs.in xlat/smc_diag_extended_flags.in xlat/smc_link_group_roles.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/socknetlinkoptions.in xlat/sockoptions.in xlat/sockpacketoptions.in xlat/sockrawoptions.in xlat/socksctpoptions.in xlat/socktcpoptions.in xlat/socktypes.in xlat/sparc_kern_features.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_features.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_pix_fmts.in xlat/v4l2_sdr_fmts.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/xdp_flags.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_file_mode_flags.h xlat/bpf_map_flags.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_flags.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_logical_ino_args_flags.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/crypto_nl_attrs.h xlat/dcb_commands.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/fib_rule_actions.h xlat/fib_rule_flags.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/ifaddrflags.h xlat/iffflags.h xlat/inet_diag_attrs.h xlat/inet_diag_bytecodes.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/ip_type_of_services.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/kvm_mem_flags.h xlat/lockfcmds.h xlat/loop_cmds.h xlat/loop_crypt_type_options.h xlat/loop_flags_options.h xlat/lwtunnel_encap_types.h xlat/madvise_cmds.h xlat/mbindflags.h xlat/mctl_sync.h xlat/mdb_flags.h xlat/mdb_states.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/multicast_router_types.h xlat/name_to_handle_at_flags.h xlat/neighbor_cache_entry_flags.h xlat/neighbor_cache_entry_states.h xlat/netfilter_versions.h xlat/netlink_ack_flags.h xlat/netlink_delete_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/nf_acct_msg_types.h xlat/nf_cthelper_msg_types.h xlat/nf_ctnetlink_exp_msg_types.h xlat/nf_ctnetlink_msg_types.h xlat/nf_cttimeout_msg_types.h xlat/nf_ipset_msg_types.h xlat/nf_nft_compat_msg_types.h xlat/nf_nftables_msg_types.h xlat/nf_osf_msg_types.h xlat/nf_queue_msg_types.h xlat/nf_ulog_msg_types.h xlat/nl_audit_types.h xlat/nl_crypto_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/nlmsgerr_attrs.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_info_flags.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_sve_vl_flags.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/riscv_flush_icache_flags.h xlat/route_nexthop_flags.h xlat/routing_flags.h xlat/routing_protocols.h xlat/routing_scopes.h xlat/routing_table_ids.h xlat/routing_types.h xlat/rtnl_addr_attrs.h xlat/rtnl_addrlabel_attrs.h xlat/rtnl_dcb_attrs.h xlat/rtnl_ifla_brport_attrs.h xlat/rtnl_ifla_events.h xlat/rtnl_ifla_info_attrs.h xlat/rtnl_ifla_port_attrs.h xlat/rtnl_ifla_vf_port_attrs.h xlat/rtnl_ifla_xdp_attrs.h xlat/rtnl_link_attrs.h xlat/rtnl_mdb_attrs.h xlat/rtnl_mdba_mdb_attrs.h xlat/rtnl_mdba_mdb_eattr_attrs.h xlat/rtnl_mdba_mdb_entry_attrs.h xlat/rtnl_mdba_router_attrs.h xlat/rtnl_mdba_router_pattr_attrs.h xlat/rtnl_neigh_attrs.h xlat/rtnl_neightbl_attrs.h xlat/rtnl_neightbl_parms_attrs.h xlat/rtnl_netconf_attrs.h xlat/rtnl_nsid_attrs.h xlat/rtnl_route_attrs.h xlat/rtnl_rta_metrics_attrs.h xlat/rtnl_rule_attrs.h xlat/rtnl_tc_action_attrs.h xlat/rtnl_tc_attrs.h xlat/rtnl_tca_stab_attrs.h xlat/rtnl_tca_stats_attrs.h xlat/rwf_flags.h xlat/s390_guarded_storage_commands.h xlat/s390_runtime_instr_commands.h xlat/s390_sthyi_function_codes.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/skf_ad.h xlat/smc_diag_attrs.h xlat/smc_diag_extended_flags.h xlat/smc_link_group_roles.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/socknetlinkoptions.h xlat/sockoptions.h xlat/sockpacketoptions.h xlat/sockrawoptions.h xlat/socksctpoptions.h xlat/socktcpoptions.h xlat/socktypes.h xlat/sparc_kern_features.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_features.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_pix_fmts.h xlat/v4l2_sdr_fmts.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/xdp_flags.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
@@ -44,6 +44,8 @@ $(top_srcdir)/xlat/bpf_class.h: $(top_srcdir)/xlat/bpf_class.in $(top_srcdir)/xl
$(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_file_mode_flags.h: $(top_srcdir)/xlat/bpf_file_mode_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/bpf_map_flags.h: $(top_srcdir)/xlat/bpf_map_flags.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
@@ -106,6 +108,8 @@ $(top_srcdir)/xlat/btrfs_features_incompat.h: $(top_srcdir)/xlat/btrfs_features_
$(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_logical_ino_args_flags.h: $(top_srcdir)/xlat/btrfs_logical_ino_args_flags.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
@@ -372,6 +376,8 @@ $(top_srcdir)/xlat/neighbor_cache_entry_flags.h: $(top_srcdir)/xlat/neighbor_cac
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/neighbor_cache_entry_states.h: $(top_srcdir)/xlat/neighbor_cache_entry_states.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netfilter_versions.h: $(top_srcdir)/xlat/netfilter_versions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_ack_flags.h: $(top_srcdir)/xlat/netlink_ack_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_delete_flags.h: $(top_srcdir)/xlat/netlink_delete_flags.in $(top_srcdir)/xlat/gen.sh
@@ -494,6 +500,8 @@ $(top_srcdir)/xlat/pr_mce_kill_policy.h: $(top_srcdir)/xlat/pr_mce_kill_policy.i
$(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_sve_vl_flags.h: $(top_srcdir)/xlat/pr_sve_vl_flags.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
@@ -546,6 +554,8 @@ $(top_srcdir)/xlat/rtnl_dcb_attrs.h: $(top_srcdir)/xlat/rtnl_dcb_attrs.in $(top_
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/rtnl_ifla_brport_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_brport_attrs.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rtnl_ifla_events.h: $(top_srcdir)/xlat/rtnl_ifla_events.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/rtnl_ifla_info_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_info_attrs.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/rtnl_ifla_port_attrs.h: $(top_srcdir)/xlat/rtnl_ifla_port_attrs.in $(top_srcdir)/xlat/gen.sh
@@ -714,6 +724,8 @@ $(top_srcdir)/xlat/socktcpoptions.h: $(top_srcdir)/xlat/socktcpoptions.in $(top_
$(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/sparc_kern_features.h: $(top_srcdir)/xlat/sparc_kern_features.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
@@ -822,6 +834,10 @@ $(top_srcdir)/xlat/v4l2_input_types.h: $(top_srcdir)/xlat/v4l2_input_types.in $(
$(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_pix_fmts.h: $(top_srcdir)/xlat/v4l2_pix_fmts.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_sdr_fmts.h: $(top_srcdir)/xlat/v4l2_sdr_fmts.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
diff --git a/xlat/bpf_attach_flags.h b/xlat/bpf_attach_flags.h
index 3f9fe9d4..15438608 100644
--- a/xlat/bpf_attach_flags.h
+++ b/xlat/bpf_attach_flags.h
@@ -2,6 +2,9 @@
#if !(defined(BPF_F_ALLOW_OVERRIDE) || (defined(HAVE_DECL_BPF_F_ALLOW_OVERRIDE) && HAVE_DECL_BPF_F_ALLOW_OVERRIDE))
# define BPF_F_ALLOW_OVERRIDE 1
#endif
+#if !(defined(BPF_F_ALLOW_MULTI) || (defined(HAVE_DECL_BPF_F_ALLOW_MULTI) && HAVE_DECL_BPF_F_ALLOW_MULTI))
+# define BPF_F_ALLOW_MULTI 2
+#endif
#ifdef IN_MPERS
@@ -12,6 +15,7 @@
static
const struct xlat bpf_attach_flags[] = {
XLAT(BPF_F_ALLOW_OVERRIDE),
+ XLAT(BPF_F_ALLOW_MULTI),
XLAT_END
};
diff --git a/xlat/bpf_attach_flags.in b/xlat/bpf_attach_flags.in
index 35638fd1..a67c02b6 100644
--- a/xlat/bpf_attach_flags.in
+++ b/xlat/bpf_attach_flags.in
@@ -1 +1,2 @@
BPF_F_ALLOW_OVERRIDE 1
+BPF_F_ALLOW_MULTI 2
diff --git a/xlat/bpf_attach_type.h b/xlat/bpf_attach_type.h
index a98bf0f1..dac8f1ea 100644
--- a/xlat/bpf_attach_type.h
+++ b/xlat/bpf_attach_type.h
@@ -17,6 +17,9 @@
#if !(defined(BPF_SK_SKB_STREAM_VERDICT) || (defined(HAVE_DECL_BPF_SK_SKB_STREAM_VERDICT) && HAVE_DECL_BPF_SK_SKB_STREAM_VERDICT))
# define BPF_SK_SKB_STREAM_VERDICT 5
#endif
+#if !(defined(BPF_CGROUP_DEVICE) || (defined(HAVE_DECL_BPF_CGROUP_DEVICE) && HAVE_DECL_BPF_CGROUP_DEVICE))
+# define BPF_CGROUP_DEVICE 6
+#endif
#ifdef IN_MPERS
@@ -32,6 +35,7 @@ const struct xlat bpf_attach_type[] = {
XLAT(BPF_CGROUP_SOCK_OPS),
XLAT(BPF_SK_SKB_STREAM_PARSER),
XLAT(BPF_SK_SKB_STREAM_VERDICT),
+ XLAT(BPF_CGROUP_DEVICE),
XLAT_END
};
diff --git a/xlat/bpf_attach_type.in b/xlat/bpf_attach_type.in
index 162e6f56..ad912b7f 100644
--- a/xlat/bpf_attach_type.in
+++ b/xlat/bpf_attach_type.in
@@ -4,3 +4,4 @@ BPF_CGROUP_INET_SOCK_CREATE 2
BPF_CGROUP_SOCK_OPS 3
BPF_SK_SKB_STREAM_PARSER 4
BPF_SK_SKB_STREAM_VERDICT 5
+BPF_CGROUP_DEVICE 6
diff --git a/xlat/bpf_file_mode_flags.h b/xlat/bpf_file_mode_flags.h
new file mode 100644
index 00000000..22f88b41
--- /dev/null
+++ b/xlat/bpf_file_mode_flags.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/bpf_file_mode_flags.in; do not edit. */
+#if !(defined(BPF_F_RDONLY) || (defined(HAVE_DECL_BPF_F_RDONLY) && HAVE_DECL_BPF_F_RDONLY))
+# define BPF_F_RDONLY (1U << 3)
+#endif
+#if !(defined(BPF_F_WRONLY) || (defined(HAVE_DECL_BPF_F_WRONLY) && HAVE_DECL_BPF_F_WRONLY))
+# define BPF_F_WRONLY (1U << 4)
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat bpf_file_mode_flags in mpers mode
+
+#else
+
+static
+const struct xlat bpf_file_mode_flags[] = {
+ XLAT(BPF_F_RDONLY),
+ XLAT(BPF_F_WRONLY),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/bpf_file_mode_flags.in b/xlat/bpf_file_mode_flags.in
new file mode 100644
index 00000000..c345891a
--- /dev/null
+++ b/xlat/bpf_file_mode_flags.in
@@ -0,0 +1,2 @@
+BPF_F_RDONLY (1U << 3)
+BPF_F_WRONLY (1U << 4)
diff --git a/xlat/bpf_map_types.h b/xlat/bpf_map_types.h
index 55b3f553..24363e29 100644
--- a/xlat/bpf_map_types.h
+++ b/xlat/bpf_map_types.h
@@ -47,6 +47,9 @@
#if !(defined(BPF_MAP_TYPE_SOCKMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_SOCKMAP) && HAVE_DECL_BPF_MAP_TYPE_SOCKMAP))
# define BPF_MAP_TYPE_SOCKMAP 15
#endif
+#if !(defined(BPF_MAP_TYPE_CPUMAP) || (defined(HAVE_DECL_BPF_MAP_TYPE_CPUMAP) && HAVE_DECL_BPF_MAP_TYPE_CPUMAP))
+# define BPF_MAP_TYPE_CPUMAP 16
+#endif
#ifdef IN_MPERS
@@ -72,6 +75,7 @@ const struct xlat bpf_map_types[] = {
XLAT(BPF_MAP_TYPE_HASH_OF_MAPS),
XLAT(BPF_MAP_TYPE_DEVMAP),
XLAT(BPF_MAP_TYPE_SOCKMAP),
+ XLAT(BPF_MAP_TYPE_CPUMAP),
XLAT_END
};
diff --git a/xlat/bpf_map_types.in b/xlat/bpf_map_types.in
index 233ff5b2..3f74d2a8 100644
--- a/xlat/bpf_map_types.in
+++ b/xlat/bpf_map_types.in
@@ -14,3 +14,4 @@ BPF_MAP_TYPE_ARRAY_OF_MAPS 12
BPF_MAP_TYPE_HASH_OF_MAPS 13
BPF_MAP_TYPE_DEVMAP 14
BPF_MAP_TYPE_SOCKMAP 15
+BPF_MAP_TYPE_CPUMAP 16
diff --git a/xlat/bpf_prog_types.h b/xlat/bpf_prog_types.h
index 3e1d0e03..63e0daee 100644
--- a/xlat/bpf_prog_types.h
+++ b/xlat/bpf_prog_types.h
@@ -44,6 +44,9 @@
#if !(defined(BPF_PROG_TYPE_SK_SKB) || (defined(HAVE_DECL_BPF_PROG_TYPE_SK_SKB) && HAVE_DECL_BPF_PROG_TYPE_SK_SKB))
# define BPF_PROG_TYPE_SK_SKB 14
#endif
+#if !(defined(BPF_PROG_TYPE_CGROUP_DEVICE) || (defined(HAVE_DECL_BPF_PROG_TYPE_CGROUP_DEVICE) && HAVE_DECL_BPF_PROG_TYPE_CGROUP_DEVICE))
+# define BPF_PROG_TYPE_CGROUP_DEVICE 15
+#endif
#ifdef IN_MPERS
@@ -68,6 +71,7 @@ const struct xlat bpf_prog_types[] = {
XLAT(BPF_PROG_TYPE_LWT_XMIT),
XLAT(BPF_PROG_TYPE_SOCK_OPS),
XLAT(BPF_PROG_TYPE_SK_SKB),
+ XLAT(BPF_PROG_TYPE_CGROUP_DEVICE),
XLAT_END
};
diff --git a/xlat/bpf_prog_types.in b/xlat/bpf_prog_types.in
index 1ae02ddf..8038c9ec 100644
--- a/xlat/bpf_prog_types.in
+++ b/xlat/bpf_prog_types.in
@@ -13,3 +13,4 @@ BPF_PROG_TYPE_LWT_OUT 11
BPF_PROG_TYPE_LWT_XMIT 12
BPF_PROG_TYPE_SOCK_OPS 13
BPF_PROG_TYPE_SK_SKB 14
+BPF_PROG_TYPE_CGROUP_DEVICE 15
diff --git a/xlat/btrfs_logical_ino_args_flags.h b/xlat/btrfs_logical_ino_args_flags.h
new file mode 100644
index 00000000..440e45e9
--- /dev/null
+++ b/xlat/btrfs_logical_ino_args_flags.h
@@ -0,0 +1,20 @@
+/* Generated by ./xlat/gen.sh from ./xlat/btrfs_logical_ino_args_flags.in; do not edit. */
+#if !(defined(BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET) || (defined(HAVE_DECL_BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET) && HAVE_DECL_BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET))
+# define BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET (1ULL << 0)
+#endif
+
+#ifdef IN_MPERS
+
+extern const struct xlat btrfs_logical_ino_args_flags[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat btrfs_logical_ino_args_flags[] = {
+ XLAT(BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/btrfs_logical_ino_args_flags.in b/xlat/btrfs_logical_ino_args_flags.in
new file mode 100644
index 00000000..5eea6c24
--- /dev/null
+++ b/xlat/btrfs_logical_ino_args_flags.in
@@ -0,0 +1 @@
+BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET (1ULL << 0)
diff --git a/xlat/ethernet_protocols.h b/xlat/ethernet_protocols.h
index 0ca3cad8..3849e0ef 100644
--- a/xlat/ethernet_protocols.h
+++ b/xlat/ethernet_protocols.h
@@ -1,272 +1,369 @@
/* Generated by ./xlat/gen.sh from ./xlat/ethernet_protocols.in; do not edit. */
-
-#ifndef IN_MPERS
-
-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),
+#if !(defined(ETH_P_802_3) || (defined(HAVE_DECL_ETH_P_802_3) && HAVE_DECL_ETH_P_802_3))
+# define ETH_P_802_3 0x0001
+#endif
+#if !(defined(ETH_P_AX25) || (defined(HAVE_DECL_ETH_P_AX25) && HAVE_DECL_ETH_P_AX25))
+# define ETH_P_AX25 0x0002
+#endif
+#if !(defined(ETH_P_ALL) || (defined(HAVE_DECL_ETH_P_ALL) && HAVE_DECL_ETH_P_ALL))
+# define ETH_P_ALL 0x0003
#endif
-#if defined(ETH_P_PUP) || (defined(HAVE_DECL_ETH_P_PUP) && HAVE_DECL_ETH_P_PUP)
- XLAT(ETH_P_PUP),
+#if !(defined(ETH_P_802_2) || (defined(HAVE_DECL_ETH_P_802_2) && HAVE_DECL_ETH_P_802_2))
+# define ETH_P_802_2 0x0004
#endif
-#if defined(ETH_P_PUPAT) || (defined(HAVE_DECL_ETH_P_PUPAT) && HAVE_DECL_ETH_P_PUPAT)
- XLAT(ETH_P_PUPAT),
+#if !(defined(ETH_P_SNAP) || (defined(HAVE_DECL_ETH_P_SNAP) && HAVE_DECL_ETH_P_SNAP))
+# define ETH_P_SNAP 0x0005
#endif
-#if defined(ETH_P_TSN) || (defined(HAVE_DECL_ETH_P_TSN) && HAVE_DECL_ETH_P_TSN)
- XLAT(ETH_P_TSN),
+#if !(defined(ETH_P_DDCMP) || (defined(HAVE_DECL_ETH_P_DDCMP) && HAVE_DECL_ETH_P_DDCMP))
+# define ETH_P_DDCMP 0x0006
#endif
-#if defined(ETH_P_IP) || (defined(HAVE_DECL_ETH_P_IP) && HAVE_DECL_ETH_P_IP)
- XLAT(ETH_P_IP),
+#if !(defined(ETH_P_WAN_PPP) || (defined(HAVE_DECL_ETH_P_WAN_PPP) && HAVE_DECL_ETH_P_WAN_PPP))
+# define ETH_P_WAN_PPP 0x0007
#endif
-#if defined(ETH_P_X25) || (defined(HAVE_DECL_ETH_P_X25) && HAVE_DECL_ETH_P_X25)
- XLAT(ETH_P_X25),
+#if !(defined(ETH_P_PPP_MP) || (defined(HAVE_DECL_ETH_P_PPP_MP) && HAVE_DECL_ETH_P_PPP_MP))
+# define ETH_P_PPP_MP 0x0008
#endif
-#if defined(ETH_P_ARP) || (defined(HAVE_DECL_ETH_P_ARP) && HAVE_DECL_ETH_P_ARP)
- XLAT(ETH_P_ARP),
+#if !(defined(ETH_P_LOCALTALK) || (defined(HAVE_DECL_ETH_P_LOCALTALK) && HAVE_DECL_ETH_P_LOCALTALK))
+# define ETH_P_LOCALTALK 0x0009
#endif
-#if defined(ETH_P_BPQ) || (defined(HAVE_DECL_ETH_P_BPQ) && HAVE_DECL_ETH_P_BPQ)
- XLAT(ETH_P_BPQ),
+#if !(defined(ETH_P_CAN) || (defined(HAVE_DECL_ETH_P_CAN) && HAVE_DECL_ETH_P_CAN))
+# define ETH_P_CAN 0x000C
#endif
-#if defined(ETH_P_IEEEPUP) || (defined(HAVE_DECL_ETH_P_IEEEPUP) && HAVE_DECL_ETH_P_IEEEPUP)
- XLAT(ETH_P_IEEEPUP),
+#if !(defined(ETH_P_CANFD) || (defined(HAVE_DECL_ETH_P_CANFD) && HAVE_DECL_ETH_P_CANFD))
+# define ETH_P_CANFD 0x000D
#endif
-#if defined(ETH_P_IEEEPUPAT) || (defined(HAVE_DECL_ETH_P_IEEEPUPAT) && HAVE_DECL_ETH_P_IEEEPUPAT)
- XLAT(ETH_P_IEEEPUPAT),
+#if !(defined(ETH_P_PPPTALK) || (defined(HAVE_DECL_ETH_P_PPPTALK) && HAVE_DECL_ETH_P_PPPTALK))
+# define ETH_P_PPPTALK 0x0010
#endif
-#if defined(ETH_P_BATMAN) || (defined(HAVE_DECL_ETH_P_BATMAN) && HAVE_DECL_ETH_P_BATMAN)
- XLAT(ETH_P_BATMAN),
+#if !(defined(ETH_P_TR_802_2) || (defined(HAVE_DECL_ETH_P_TR_802_2) && HAVE_DECL_ETH_P_TR_802_2))
+# define ETH_P_TR_802_2 0x0011
#endif
-#if defined(ETH_P_DEC) || (defined(HAVE_DECL_ETH_P_DEC) && HAVE_DECL_ETH_P_DEC)
- XLAT(ETH_P_DEC),
+#if !(defined(ETH_P_MOBITEX) || (defined(HAVE_DECL_ETH_P_MOBITEX) && HAVE_DECL_ETH_P_MOBITEX))
+# define ETH_P_MOBITEX 0x0015
#endif
-#if defined(ETH_P_DNA_DL) || (defined(HAVE_DECL_ETH_P_DNA_DL) && HAVE_DECL_ETH_P_DNA_DL)
- XLAT(ETH_P_DNA_DL),
+#if !(defined(ETH_P_CONTROL) || (defined(HAVE_DECL_ETH_P_CONTROL) && HAVE_DECL_ETH_P_CONTROL))
+# define ETH_P_CONTROL 0x0016
#endif
-#if defined(ETH_P_DNA_RC) || (defined(HAVE_DECL_ETH_P_DNA_RC) && HAVE_DECL_ETH_P_DNA_RC)
- XLAT(ETH_P_DNA_RC),
+#if !(defined(ETH_P_IRDA) || (defined(HAVE_DECL_ETH_P_IRDA) && HAVE_DECL_ETH_P_IRDA))
+# define ETH_P_IRDA 0x0017
#endif
-#if defined(ETH_P_DNA_RT) || (defined(HAVE_DECL_ETH_P_DNA_RT) && HAVE_DECL_ETH_P_DNA_RT)
- XLAT(ETH_P_DNA_RT),
+#if !(defined(ETH_P_ECONET) || (defined(HAVE_DECL_ETH_P_ECONET) && HAVE_DECL_ETH_P_ECONET))
+# define ETH_P_ECONET 0x0018
#endif
-#if defined(ETH_P_LAT) || (defined(HAVE_DECL_ETH_P_LAT) && HAVE_DECL_ETH_P_LAT)
- XLAT(ETH_P_LAT),
+#if !(defined(ETH_P_HDLC) || (defined(HAVE_DECL_ETH_P_HDLC) && HAVE_DECL_ETH_P_HDLC))
+# define ETH_P_HDLC 0x0019
#endif
-#if defined(ETH_P_DIAG) || (defined(HAVE_DECL_ETH_P_DIAG) && HAVE_DECL_ETH_P_DIAG)
- XLAT(ETH_P_DIAG),
+#if !(defined(ETH_P_ARCNET) || (defined(HAVE_DECL_ETH_P_ARCNET) && HAVE_DECL_ETH_P_ARCNET))
+# define ETH_P_ARCNET 0x001A
#endif
-#if defined(ETH_P_CUST) || (defined(HAVE_DECL_ETH_P_CUST) && HAVE_DECL_ETH_P_CUST)
- XLAT(ETH_P_CUST),
+#if !(defined(ETH_P_DSA) || (defined(HAVE_DECL_ETH_P_DSA) && HAVE_DECL_ETH_P_DSA))
+# define ETH_P_DSA 0x001B
#endif
-#if defined(ETH_P_SCA) || (defined(HAVE_DECL_ETH_P_SCA) && HAVE_DECL_ETH_P_SCA)
- XLAT(ETH_P_SCA),
+#if !(defined(ETH_P_TRAILER) || (defined(HAVE_DECL_ETH_P_TRAILER) && HAVE_DECL_ETH_P_TRAILER))
+# define ETH_P_TRAILER 0x001C
#endif
-#if defined(ETH_P_TEB) || (defined(HAVE_DECL_ETH_P_TEB) && HAVE_DECL_ETH_P_TEB)
- XLAT(ETH_P_TEB),
+#if !(defined(ETH_P_LOOP) || (defined(HAVE_DECL_ETH_P_LOOP) && HAVE_DECL_ETH_P_LOOP))
+# define ETH_P_LOOP 0x0060
#endif
-#if defined(ETH_P_RARP) || (defined(HAVE_DECL_ETH_P_RARP) && HAVE_DECL_ETH_P_RARP)
- XLAT(ETH_P_RARP),
+#if !(defined(ETH_P_PHONET) || (defined(HAVE_DECL_ETH_P_PHONET) && HAVE_DECL_ETH_P_PHONET))
+# define ETH_P_PHONET 0x00F5
#endif
-#if defined(ETH_P_ATALK) || (defined(HAVE_DECL_ETH_P_ATALK) && HAVE_DECL_ETH_P_ATALK)
- XLAT(ETH_P_ATALK),
+#if !(defined(ETH_P_IEEE802154) || (defined(HAVE_DECL_ETH_P_IEEE802154) && HAVE_DECL_ETH_P_IEEE802154))
+# define ETH_P_IEEE802154 0x00F6
#endif
-#if defined(ETH_P_AARP) || (defined(HAVE_DECL_ETH_P_AARP) && HAVE_DECL_ETH_P_AARP)
- XLAT(ETH_P_AARP),
+#if !(defined(ETH_P_CAIF) || (defined(HAVE_DECL_ETH_P_CAIF) && HAVE_DECL_ETH_P_CAIF))
+# define ETH_P_CAIF 0x00F7
#endif
-#if defined(ETH_P_8021Q) || (defined(HAVE_DECL_ETH_P_8021Q) && HAVE_DECL_ETH_P_8021Q)
- XLAT(ETH_P_8021Q),
+#if !(defined(ETH_P_XDSA) || (defined(HAVE_DECL_ETH_P_XDSA) && HAVE_DECL_ETH_P_XDSA))
+# define ETH_P_XDSA 0x00F8
#endif
-#if defined(ETH_P_ERSPAN) || (defined(HAVE_DECL_ETH_P_ERSPAN) && HAVE_DECL_ETH_P_ERSPAN)
- XLAT(ETH_P_ERSPAN),
+#if !(defined(ETH_P_MAP) || (defined(HAVE_DECL_ETH_P_MAP) && HAVE_DECL_ETH_P_MAP))
+# define ETH_P_MAP 0x00F9
#endif
-#if defined(ETH_P_IPX) || (defined(HAVE_DECL_ETH_P_IPX) && HAVE_DECL_ETH_P_IPX)
- XLAT(ETH_P_IPX),
+#if !(defined(ETH_P_PUP) || (defined(HAVE_DECL_ETH_P_PUP) && HAVE_DECL_ETH_P_PUP))
+# define ETH_P_PUP 0x0200
#endif
-#if defined(ETH_P_IPV6) || (defined(HAVE_DECL_ETH_P_IPV6) && HAVE_DECL_ETH_P_IPV6)
- XLAT(ETH_P_IPV6),
+#if !(defined(ETH_P_PUPAT) || (defined(HAVE_DECL_ETH_P_PUPAT) && HAVE_DECL_ETH_P_PUPAT))
+# define ETH_P_PUPAT 0x0201
#endif
-#if defined(ETH_P_PAUSE) || (defined(HAVE_DECL_ETH_P_PAUSE) && HAVE_DECL_ETH_P_PAUSE)
- XLAT(ETH_P_PAUSE),
+#if !(defined(ETH_P_802_3_MIN) || (defined(HAVE_DECL_ETH_P_802_3_MIN) && HAVE_DECL_ETH_P_802_3_MIN))
+# define ETH_P_802_3_MIN 0x0600
#endif
-#if defined(ETH_P_SLOW) || (defined(HAVE_DECL_ETH_P_SLOW) && HAVE_DECL_ETH_P_SLOW)
- XLAT(ETH_P_SLOW),
+#if !(defined(ETH_P_IP) || (defined(HAVE_DECL_ETH_P_IP) && HAVE_DECL_ETH_P_IP))
+# define ETH_P_IP 0x0800
#endif
-#if defined(ETH_P_WCCP) || (defined(HAVE_DECL_ETH_P_WCCP) && HAVE_DECL_ETH_P_WCCP)
- XLAT(ETH_P_WCCP),
+#if !(defined(ETH_P_X25) || (defined(HAVE_DECL_ETH_P_X25) && HAVE_DECL_ETH_P_X25))
+# define ETH_P_X25 0x0805
#endif
-#if defined(ETH_P_MPLS_UC) || (defined(HAVE_DECL_ETH_P_MPLS_UC) && HAVE_DECL_ETH_P_MPLS_UC)
- XLAT(ETH_P_MPLS_UC),
+#if !(defined(ETH_P_ARP) || (defined(HAVE_DECL_ETH_P_ARP) && HAVE_DECL_ETH_P_ARP))
+# define ETH_P_ARP 0x0806
#endif
-#if defined(ETH_P_MPLS_MC) || (defined(HAVE_DECL_ETH_P_MPLS_MC) && HAVE_DECL_ETH_P_MPLS_MC)
- XLAT(ETH_P_MPLS_MC),
+#if !(defined(ETH_P_BPQ) || (defined(HAVE_DECL_ETH_P_BPQ) && HAVE_DECL_ETH_P_BPQ))
+# define ETH_P_BPQ 0x08FF
#endif
-#if defined(ETH_P_ATMMPOA) || (defined(HAVE_DECL_ETH_P_ATMMPOA) && HAVE_DECL_ETH_P_ATMMPOA)
- XLAT(ETH_P_ATMMPOA),
+#if !(defined(ETH_P_IEEEPUP) || (defined(HAVE_DECL_ETH_P_IEEEPUP) && HAVE_DECL_ETH_P_IEEEPUP))
+# define ETH_P_IEEEPUP 0x0a00
#endif
-#if defined(ETH_P_PPP_DISC) || (defined(HAVE_DECL_ETH_P_PPP_DISC) && HAVE_DECL_ETH_P_PPP_DISC)
- XLAT(ETH_P_PPP_DISC),
+#if !(defined(ETH_P_IEEEPUPAT) || (defined(HAVE_DECL_ETH_P_IEEEPUPAT) && HAVE_DECL_ETH_P_IEEEPUPAT))
+# define ETH_P_IEEEPUPAT 0x0a01
#endif
-#if defined(ETH_P_PPP_SES) || (defined(HAVE_DECL_ETH_P_PPP_SES) && HAVE_DECL_ETH_P_PPP_SES)
- XLAT(ETH_P_PPP_SES),
+#if !(defined(ETH_P_ERSPAN2) || (defined(HAVE_DECL_ETH_P_ERSPAN2) && HAVE_DECL_ETH_P_ERSPAN2))
+# define ETH_P_ERSPAN2 0x22EB
#endif
-#if defined(ETH_P_LINK_CTL) || (defined(HAVE_DECL_ETH_P_LINK_CTL) && HAVE_DECL_ETH_P_LINK_CTL)
- XLAT(ETH_P_LINK_CTL),
+#if !(defined(ETH_P_TSN) || (defined(HAVE_DECL_ETH_P_TSN) && HAVE_DECL_ETH_P_TSN))
+# define ETH_P_TSN 0x22F0
#endif
-#if defined(ETH_P_ATMFATE) || (defined(HAVE_DECL_ETH_P_ATMFATE) && HAVE_DECL_ETH_P_ATMFATE)
- XLAT(ETH_P_ATMFATE),
+#if !(defined(ETH_P_BATMAN) || (defined(HAVE_DECL_ETH_P_BATMAN) && HAVE_DECL_ETH_P_BATMAN))
+# define ETH_P_BATMAN 0x4305
#endif
-#if defined(ETH_P_PAE) || (defined(HAVE_DECL_ETH_P_PAE) && HAVE_DECL_ETH_P_PAE)
- XLAT(ETH_P_PAE),
+#if !(defined(ETH_P_DEC) || (defined(HAVE_DECL_ETH_P_DEC) && HAVE_DECL_ETH_P_DEC))
+# define ETH_P_DEC 0x6000
#endif
-#if defined(ETH_P_AOE) || (defined(HAVE_DECL_ETH_P_AOE) && HAVE_DECL_ETH_P_AOE)
- XLAT(ETH_P_AOE),
+#if !(defined(ETH_P_DNA_DL) || (defined(HAVE_DECL_ETH_P_DNA_DL) && HAVE_DECL_ETH_P_DNA_DL))
+# define ETH_P_DNA_DL 0x6001
#endif
-#if defined(ETH_P_8021AD) || (defined(HAVE_DECL_ETH_P_8021AD) && HAVE_DECL_ETH_P_8021AD)
- XLAT(ETH_P_8021AD),
+#if !(defined(ETH_P_DNA_RC) || (defined(HAVE_DECL_ETH_P_DNA_RC) && HAVE_DECL_ETH_P_DNA_RC))
+# define ETH_P_DNA_RC 0x6002
#endif
-#if defined(ETH_P_802_EX1) || (defined(HAVE_DECL_ETH_P_802_EX1) && HAVE_DECL_ETH_P_802_EX1)
- XLAT(ETH_P_802_EX1),
+#if !(defined(ETH_P_DNA_RT) || (defined(HAVE_DECL_ETH_P_DNA_RT) && HAVE_DECL_ETH_P_DNA_RT))
+# define ETH_P_DNA_RT 0x6003
#endif
-#if defined(ETH_P_TIPC) || (defined(HAVE_DECL_ETH_P_TIPC) && HAVE_DECL_ETH_P_TIPC)
- XLAT(ETH_P_TIPC),
+#if !(defined(ETH_P_LAT) || (defined(HAVE_DECL_ETH_P_LAT) && HAVE_DECL_ETH_P_LAT))
+# define ETH_P_LAT 0x6004
#endif
-#if defined(ETH_P_MACSEC) || (defined(HAVE_DECL_ETH_P_MACSEC) && HAVE_DECL_ETH_P_MACSEC)
- XLAT(ETH_P_MACSEC),
+#if !(defined(ETH_P_DIAG) || (defined(HAVE_DECL_ETH_P_DIAG) && HAVE_DECL_ETH_P_DIAG))
+# define ETH_P_DIAG 0x6005
#endif
-#if defined(ETH_P_8021AH) || (defined(HAVE_DECL_ETH_P_8021AH) && HAVE_DECL_ETH_P_8021AH)
- XLAT(ETH_P_8021AH),
+#if !(defined(ETH_P_CUST) || (defined(HAVE_DECL_ETH_P_CUST) && HAVE_DECL_ETH_P_CUST))
+# define ETH_P_CUST 0x6006
#endif
-#if defined(ETH_P_MVRP) || (defined(HAVE_DECL_ETH_P_MVRP) && HAVE_DECL_ETH_P_MVRP)
- XLAT(ETH_P_MVRP),
+#if !(defined(ETH_P_SCA) || (defined(HAVE_DECL_ETH_P_SCA) && HAVE_DECL_ETH_P_SCA))
+# define ETH_P_SCA 0x6007
#endif
-#if defined(ETH_P_1588) || (defined(HAVE_DECL_ETH_P_1588) && HAVE_DECL_ETH_P_1588)
- XLAT(ETH_P_1588),
+#if !(defined(ETH_P_TEB) || (defined(HAVE_DECL_ETH_P_TEB) && HAVE_DECL_ETH_P_TEB))
+# define ETH_P_TEB 0x6558
#endif
-#if defined(ETH_P_NCSI) || (defined(HAVE_DECL_ETH_P_NCSI) && HAVE_DECL_ETH_P_NCSI)
- XLAT(ETH_P_NCSI),
+#if !(defined(ETH_P_RARP) || (defined(HAVE_DECL_ETH_P_RARP) && HAVE_DECL_ETH_P_RARP))
+# define ETH_P_RARP 0x8035
#endif
-#if defined(ETH_P_PRP) || (defined(HAVE_DECL_ETH_P_PRP) && HAVE_DECL_ETH_P_PRP)
- XLAT(ETH_P_PRP),
+#if !(defined(ETH_P_ATALK) || (defined(HAVE_DECL_ETH_P_ATALK) && HAVE_DECL_ETH_P_ATALK))
+# define ETH_P_ATALK 0x809B
#endif
-#if defined(ETH_P_FCOE) || (defined(HAVE_DECL_ETH_P_FCOE) && HAVE_DECL_ETH_P_FCOE)
- XLAT(ETH_P_FCOE),
+#if !(defined(ETH_P_AARP) || (defined(HAVE_DECL_ETH_P_AARP) && HAVE_DECL_ETH_P_AARP))
+# define ETH_P_AARP 0x80F3
#endif
-#if defined(ETH_P_TDLS) || (defined(HAVE_DECL_ETH_P_TDLS) && HAVE_DECL_ETH_P_TDLS)
- XLAT(ETH_P_TDLS),
+#if !(defined(ETH_P_8021Q) || (defined(HAVE_DECL_ETH_P_8021Q) && HAVE_DECL_ETH_P_8021Q))
+# define ETH_P_8021Q 0x8100
#endif
-#if defined(ETH_P_FIP) || (defined(HAVE_DECL_ETH_P_FIP) && HAVE_DECL_ETH_P_FIP)
- XLAT(ETH_P_FIP),
+#if !(defined(ETH_P_IPX) || (defined(HAVE_DECL_ETH_P_IPX) && HAVE_DECL_ETH_P_IPX))
+# define ETH_P_IPX 0x8137
#endif
-#if defined(ETH_P_80221) || (defined(HAVE_DECL_ETH_P_80221) && HAVE_DECL_ETH_P_80221)
- XLAT(ETH_P_80221),
+#if !(defined(ETH_P_IPV6) || (defined(HAVE_DECL_ETH_P_IPV6) && HAVE_DECL_ETH_P_IPV6))
+# define ETH_P_IPV6 0x86DD
#endif
-#if defined(ETH_P_HSR) || (defined(HAVE_DECL_ETH_P_HSR) && HAVE_DECL_ETH_P_HSR)
- XLAT(ETH_P_HSR),
+#if !(defined(ETH_P_PAUSE) || (defined(HAVE_DECL_ETH_P_PAUSE) && HAVE_DECL_ETH_P_PAUSE))
+# define ETH_P_PAUSE 0x8808
#endif
-#if defined(ETH_P_NSH) || (defined(HAVE_DECL_ETH_P_NSH) && HAVE_DECL_ETH_P_NSH)
- XLAT(ETH_P_NSH),
+#if !(defined(ETH_P_SLOW) || (defined(HAVE_DECL_ETH_P_SLOW) && HAVE_DECL_ETH_P_SLOW))
+# define ETH_P_SLOW 0x8809
#endif
-#if defined(ETH_P_LOOPBACK) || (defined(HAVE_DECL_ETH_P_LOOPBACK) && HAVE_DECL_ETH_P_LOOPBACK)
- XLAT(ETH_P_LOOPBACK),
+#if !(defined(ETH_P_WCCP) || (defined(HAVE_DECL_ETH_P_WCCP) && HAVE_DECL_ETH_P_WCCP))
+# define ETH_P_WCCP 0x883E
#endif
-#if defined(ETH_P_QINQ1) || (defined(HAVE_DECL_ETH_P_QINQ1) && HAVE_DECL_ETH_P_QINQ1)
- XLAT(ETH_P_QINQ1),
+#if !(defined(ETH_P_MPLS_UC) || (defined(HAVE_DECL_ETH_P_MPLS_UC) && HAVE_DECL_ETH_P_MPLS_UC))
+# define ETH_P_MPLS_UC 0x8847
#endif
-#if defined(ETH_P_QINQ2) || (defined(HAVE_DECL_ETH_P_QINQ2) && HAVE_DECL_ETH_P_QINQ2)
- XLAT(ETH_P_QINQ2),
+#if !(defined(ETH_P_MPLS_MC) || (defined(HAVE_DECL_ETH_P_MPLS_MC) && HAVE_DECL_ETH_P_MPLS_MC))
+# define ETH_P_MPLS_MC 0x8848
#endif
-#if defined(ETH_P_QINQ3) || (defined(HAVE_DECL_ETH_P_QINQ3) && HAVE_DECL_ETH_P_QINQ3)
- XLAT(ETH_P_QINQ3),
+#if !(defined(ETH_P_ATMMPOA) || (defined(HAVE_DECL_ETH_P_ATMMPOA) && HAVE_DECL_ETH_P_ATMMPOA))
+# define ETH_P_ATMMPOA 0x884c
#endif
-#if defined(ETH_P_EDSA) || (defined(HAVE_DECL_ETH_P_EDSA) && HAVE_DECL_ETH_P_EDSA)
- XLAT(ETH_P_EDSA),
+#if !(defined(ETH_P_PPP_DISC) || (defined(HAVE_DECL_ETH_P_PPP_DISC) && HAVE_DECL_ETH_P_PPP_DISC))
+# define ETH_P_PPP_DISC 0x8863
#endif
-#if defined(ETH_P_IFE) || (defined(HAVE_DECL_ETH_P_IFE) && HAVE_DECL_ETH_P_IFE)
- XLAT(ETH_P_IFE),
+#if !(defined(ETH_P_PPP_SES) || (defined(HAVE_DECL_ETH_P_PPP_SES) && HAVE_DECL_ETH_P_PPP_SES))
+# define ETH_P_PPP_SES 0x8864
#endif
-#if defined(ETH_P_AF_IUCV) || (defined(HAVE_DECL_ETH_P_AF_IUCV) && HAVE_DECL_ETH_P_AF_IUCV)
- XLAT(ETH_P_AF_IUCV),
+#if !(defined(ETH_P_LINK_CTL) || (defined(HAVE_DECL_ETH_P_LINK_CTL) && HAVE_DECL_ETH_P_LINK_CTL))
+# define ETH_P_LINK_CTL 0x886c
#endif
-#if defined(ETH_P_802_3_MIN) || (defined(HAVE_DECL_ETH_P_802_3_MIN) && HAVE_DECL_ETH_P_802_3_MIN)
- XLAT(ETH_P_802_3_MIN),
+#if !(defined(ETH_P_ATMFATE) || (defined(HAVE_DECL_ETH_P_ATMFATE) && HAVE_DECL_ETH_P_ATMFATE))
+# define ETH_P_ATMFATE 0x8884
#endif
-#if defined(ETH_P_802_3) || (defined(HAVE_DECL_ETH_P_802_3) && HAVE_DECL_ETH_P_802_3)
- XLAT(ETH_P_802_3),
+#if !(defined(ETH_P_PAE) || (defined(HAVE_DECL_ETH_P_PAE) && HAVE_DECL_ETH_P_PAE))
+# define ETH_P_PAE 0x888E
#endif
-#if defined(ETH_P_AX25) || (defined(HAVE_DECL_ETH_P_AX25) && HAVE_DECL_ETH_P_AX25)
- XLAT(ETH_P_AX25),
+#if !(defined(ETH_P_AOE) || (defined(HAVE_DECL_ETH_P_AOE) && HAVE_DECL_ETH_P_AOE))
+# define ETH_P_AOE 0x88A2
#endif
-#if defined(ETH_P_ALL) || (defined(HAVE_DECL_ETH_P_ALL) && HAVE_DECL_ETH_P_ALL)
- XLAT(ETH_P_ALL),
+#if !(defined(ETH_P_8021AD) || (defined(HAVE_DECL_ETH_P_8021AD) && HAVE_DECL_ETH_P_8021AD))
+# define ETH_P_8021AD 0x88A8
#endif
-#if defined(ETH_P_802_2) || (defined(HAVE_DECL_ETH_P_802_2) && HAVE_DECL_ETH_P_802_2)
- XLAT(ETH_P_802_2),
+#if !(defined(ETH_P_802_EX1) || (defined(HAVE_DECL_ETH_P_802_EX1) && HAVE_DECL_ETH_P_802_EX1))
+# define ETH_P_802_EX1 0x88B5
#endif
-#if defined(ETH_P_SNAP) || (defined(HAVE_DECL_ETH_P_SNAP) && HAVE_DECL_ETH_P_SNAP)
- XLAT(ETH_P_SNAP),
+#if !(defined(ETH_P_ERSPAN) || (defined(HAVE_DECL_ETH_P_ERSPAN) && HAVE_DECL_ETH_P_ERSPAN))
+# define ETH_P_ERSPAN 0x88BE
#endif
-#if defined(ETH_P_DDCMP) || (defined(HAVE_DECL_ETH_P_DDCMP) && HAVE_DECL_ETH_P_DDCMP)
- XLAT(ETH_P_DDCMP),
+#if !(defined(ETH_P_TIPC) || (defined(HAVE_DECL_ETH_P_TIPC) && HAVE_DECL_ETH_P_TIPC))
+# define ETH_P_TIPC 0x88CA
#endif
-#if defined(ETH_P_WAN_PPP) || (defined(HAVE_DECL_ETH_P_WAN_PPP) && HAVE_DECL_ETH_P_WAN_PPP)
- XLAT(ETH_P_WAN_PPP),
+#if !(defined(ETH_P_MACSEC) || (defined(HAVE_DECL_ETH_P_MACSEC) && HAVE_DECL_ETH_P_MACSEC))
+# define ETH_P_MACSEC 0x88E5
#endif
-#if defined(ETH_P_PPP_MP) || (defined(HAVE_DECL_ETH_P_PPP_MP) && HAVE_DECL_ETH_P_PPP_MP)
- XLAT(ETH_P_PPP_MP),
+#if !(defined(ETH_P_8021AH) || (defined(HAVE_DECL_ETH_P_8021AH) && HAVE_DECL_ETH_P_8021AH))
+# define ETH_P_8021AH 0x88E7
#endif
-#if defined(ETH_P_LOCALTALK) || (defined(HAVE_DECL_ETH_P_LOCALTALK) && HAVE_DECL_ETH_P_LOCALTALK)
- XLAT(ETH_P_LOCALTALK),
+#if !(defined(ETH_P_MVRP) || (defined(HAVE_DECL_ETH_P_MVRP) && HAVE_DECL_ETH_P_MVRP))
+# define ETH_P_MVRP 0x88F5
#endif
-#if defined(ETH_P_CAN) || (defined(HAVE_DECL_ETH_P_CAN) && HAVE_DECL_ETH_P_CAN)
- XLAT(ETH_P_CAN),
+#if !(defined(ETH_P_1588) || (defined(HAVE_DECL_ETH_P_1588) && HAVE_DECL_ETH_P_1588))
+# define ETH_P_1588 0x88F7
#endif
-#if defined(ETH_P_CANFD) || (defined(HAVE_DECL_ETH_P_CANFD) && HAVE_DECL_ETH_P_CANFD)
- XLAT(ETH_P_CANFD),
+#if !(defined(ETH_P_NCSI) || (defined(HAVE_DECL_ETH_P_NCSI) && HAVE_DECL_ETH_P_NCSI))
+# define ETH_P_NCSI 0x88F8
#endif
-#if defined(ETH_P_PPPTALK) || (defined(HAVE_DECL_ETH_P_PPPTALK) && HAVE_DECL_ETH_P_PPPTALK)
- XLAT(ETH_P_PPPTALK),
+#if !(defined(ETH_P_PRP) || (defined(HAVE_DECL_ETH_P_PRP) && HAVE_DECL_ETH_P_PRP))
+# define ETH_P_PRP 0x88FB
#endif
-#if defined(ETH_P_TR_802_2) || (defined(HAVE_DECL_ETH_P_TR_802_2) && HAVE_DECL_ETH_P_TR_802_2)
- XLAT(ETH_P_TR_802_2),
+#if !(defined(ETH_P_FCOE) || (defined(HAVE_DECL_ETH_P_FCOE) && HAVE_DECL_ETH_P_FCOE))
+# define ETH_P_FCOE 0x8906
#endif
-#if defined(ETH_P_MOBITEX) || (defined(HAVE_DECL_ETH_P_MOBITEX) && HAVE_DECL_ETH_P_MOBITEX)
- XLAT(ETH_P_MOBITEX),
+#if !(defined(ETH_P_TDLS) || (defined(HAVE_DECL_ETH_P_TDLS) && HAVE_DECL_ETH_P_TDLS))
+# define ETH_P_TDLS 0x890D
#endif
-#if defined(ETH_P_CONTROL) || (defined(HAVE_DECL_ETH_P_CONTROL) && HAVE_DECL_ETH_P_CONTROL)
- XLAT(ETH_P_CONTROL),
+#if !(defined(ETH_P_FIP) || (defined(HAVE_DECL_ETH_P_FIP) && HAVE_DECL_ETH_P_FIP))
+# define ETH_P_FIP 0x8914
#endif
-#if defined(ETH_P_IRDA) || (defined(HAVE_DECL_ETH_P_IRDA) && HAVE_DECL_ETH_P_IRDA)
- XLAT(ETH_P_IRDA),
+#if !(defined(ETH_P_IBOE) || (defined(HAVE_DECL_ETH_P_IBOE) && HAVE_DECL_ETH_P_IBOE))
+# define ETH_P_IBOE 0x8915
#endif
-#if defined(ETH_P_ECONET) || (defined(HAVE_DECL_ETH_P_ECONET) && HAVE_DECL_ETH_P_ECONET)
- XLAT(ETH_P_ECONET),
+#if !(defined(ETH_P_80221) || (defined(HAVE_DECL_ETH_P_80221) && HAVE_DECL_ETH_P_80221))
+# define ETH_P_80221 0x8917
#endif
-#if defined(ETH_P_HDLC) || (defined(HAVE_DECL_ETH_P_HDLC) && HAVE_DECL_ETH_P_HDLC)
- XLAT(ETH_P_HDLC),
+#if !(defined(ETH_P_HSR) || (defined(HAVE_DECL_ETH_P_HSR) && HAVE_DECL_ETH_P_HSR))
+# define ETH_P_HSR 0x892F
#endif
-#if defined(ETH_P_ARCNET) || (defined(HAVE_DECL_ETH_P_ARCNET) && HAVE_DECL_ETH_P_ARCNET)
- XLAT(ETH_P_ARCNET),
+#if !(defined(ETH_P_NSH) || (defined(HAVE_DECL_ETH_P_NSH) && HAVE_DECL_ETH_P_NSH))
+# define ETH_P_NSH 0x894F
#endif
-#if defined(ETH_P_DSA) || (defined(HAVE_DECL_ETH_P_DSA) && HAVE_DECL_ETH_P_DSA)
- XLAT(ETH_P_DSA),
+#if !(defined(ETH_P_LOOPBACK) || (defined(HAVE_DECL_ETH_P_LOOPBACK) && HAVE_DECL_ETH_P_LOOPBACK))
+# define ETH_P_LOOPBACK 0x9000
#endif
-#if defined(ETH_P_TRAILER) || (defined(HAVE_DECL_ETH_P_TRAILER) && HAVE_DECL_ETH_P_TRAILER)
- XLAT(ETH_P_TRAILER),
+#if !(defined(ETH_P_QINQ1) || (defined(HAVE_DECL_ETH_P_QINQ1) && HAVE_DECL_ETH_P_QINQ1))
+# define ETH_P_QINQ1 0x9100
#endif
-#if defined(ETH_P_PHONET) || (defined(HAVE_DECL_ETH_P_PHONET) && HAVE_DECL_ETH_P_PHONET)
- XLAT(ETH_P_PHONET),
+#if !(defined(ETH_P_QINQ2) || (defined(HAVE_DECL_ETH_P_QINQ2) && HAVE_DECL_ETH_P_QINQ2))
+# define ETH_P_QINQ2 0x9200
#endif
-#if defined(ETH_P_IEEE802154) || (defined(HAVE_DECL_ETH_P_IEEE802154) && HAVE_DECL_ETH_P_IEEE802154)
- XLAT(ETH_P_IEEE802154),
+#if !(defined(ETH_P_QINQ3) || (defined(HAVE_DECL_ETH_P_QINQ3) && HAVE_DECL_ETH_P_QINQ3))
+# define ETH_P_QINQ3 0x9300
#endif
-#if defined(ETH_P_CAIF) || (defined(HAVE_DECL_ETH_P_CAIF) && HAVE_DECL_ETH_P_CAIF)
- XLAT(ETH_P_CAIF),
+#if !(defined(ETH_P_EDSA) || (defined(HAVE_DECL_ETH_P_EDSA) && HAVE_DECL_ETH_P_EDSA))
+# define ETH_P_EDSA 0xDADA
#endif
-#if defined(ETH_P_XDSA) || (defined(HAVE_DECL_ETH_P_XDSA) && HAVE_DECL_ETH_P_XDSA)
- XLAT(ETH_P_XDSA),
+#if !(defined(ETH_P_IFE) || (defined(HAVE_DECL_ETH_P_IFE) && HAVE_DECL_ETH_P_IFE))
+# define ETH_P_IFE 0xED3E
#endif
-#if defined(ETH_P_MAP) || (defined(HAVE_DECL_ETH_P_MAP) && HAVE_DECL_ETH_P_MAP)
- XLAT(ETH_P_MAP),
+#if !(defined(ETH_P_AF_IUCV) || (defined(HAVE_DECL_ETH_P_AF_IUCV) && HAVE_DECL_ETH_P_AF_IUCV))
+# define ETH_P_AF_IUCV 0xFBFB
#endif
+
+#ifndef IN_MPERS
+
+const struct xlat ethernet_protocols[] = {
+
+ XLAT(ETH_P_802_3),
+ XLAT(ETH_P_AX25),
+ XLAT(ETH_P_ALL),
+ XLAT(ETH_P_802_2),
+ XLAT(ETH_P_SNAP),
+ XLAT(ETH_P_DDCMP),
+ XLAT(ETH_P_WAN_PPP),
+ XLAT(ETH_P_PPP_MP),
+ XLAT(ETH_P_LOCALTALK),
+ XLAT(ETH_P_CAN),
+ XLAT(ETH_P_CANFD),
+ XLAT(ETH_P_PPPTALK),
+ XLAT(ETH_P_TR_802_2),
+ XLAT(ETH_P_MOBITEX),
+ XLAT(ETH_P_CONTROL),
+ XLAT(ETH_P_IRDA),
+ XLAT(ETH_P_ECONET),
+ XLAT(ETH_P_HDLC),
+ XLAT(ETH_P_ARCNET),
+ XLAT(ETH_P_DSA),
+ XLAT(ETH_P_TRAILER),
+ XLAT(ETH_P_LOOP),
+ XLAT(ETH_P_PHONET),
+ XLAT(ETH_P_IEEE802154),
+ XLAT(ETH_P_CAIF),
+ XLAT(ETH_P_XDSA),
+ XLAT(ETH_P_MAP),
+ XLAT(ETH_P_PUP),
+ XLAT(ETH_P_PUPAT),
+ XLAT(ETH_P_802_3_MIN),
+ XLAT(ETH_P_IP),
+ XLAT(ETH_P_X25),
+ XLAT(ETH_P_ARP),
+ XLAT(ETH_P_BPQ),
+ XLAT(ETH_P_IEEEPUP),
+ XLAT(ETH_P_IEEEPUPAT),
+ XLAT(ETH_P_ERSPAN2),
+ XLAT(ETH_P_TSN),
+ XLAT(ETH_P_BATMAN),
+ XLAT(ETH_P_DEC),
+ XLAT(ETH_P_DNA_DL),
+ XLAT(ETH_P_DNA_RC),
+ XLAT(ETH_P_DNA_RT),
+ XLAT(ETH_P_LAT),
+ XLAT(ETH_P_DIAG),
+ XLAT(ETH_P_CUST),
+ XLAT(ETH_P_SCA),
+ XLAT(ETH_P_TEB),
+ XLAT(ETH_P_RARP),
+ XLAT(ETH_P_ATALK),
+ XLAT(ETH_P_AARP),
+ XLAT(ETH_P_8021Q),
+ XLAT(ETH_P_IPX),
+ XLAT(ETH_P_IPV6),
+ XLAT(ETH_P_PAUSE),
+ XLAT(ETH_P_SLOW),
+ XLAT(ETH_P_WCCP),
+ XLAT(ETH_P_MPLS_UC),
+ XLAT(ETH_P_MPLS_MC),
+ XLAT(ETH_P_ATMMPOA),
+ XLAT(ETH_P_PPP_DISC),
+ XLAT(ETH_P_PPP_SES),
+ XLAT(ETH_P_LINK_CTL),
+ XLAT(ETH_P_ATMFATE),
+ XLAT(ETH_P_PAE),
+ XLAT(ETH_P_AOE),
+ XLAT(ETH_P_8021AD),
+ XLAT(ETH_P_802_EX1),
+ XLAT(ETH_P_ERSPAN),
+ XLAT(ETH_P_TIPC),
+ XLAT(ETH_P_MACSEC),
+ XLAT(ETH_P_8021AH),
+ XLAT(ETH_P_MVRP),
+ XLAT(ETH_P_1588),
+ XLAT(ETH_P_NCSI),
+ XLAT(ETH_P_PRP),
+ XLAT(ETH_P_FCOE),
+ XLAT(ETH_P_TDLS),
+ XLAT(ETH_P_FIP),
+ XLAT(ETH_P_IBOE),
+ XLAT(ETH_P_80221),
+ XLAT(ETH_P_HSR),
+ XLAT(ETH_P_NSH),
+ XLAT(ETH_P_LOOPBACK),
+ XLAT(ETH_P_QINQ1),
+ XLAT(ETH_P_QINQ2),
+ XLAT(ETH_P_QINQ3),
+ XLAT(ETH_P_EDSA),
+ XLAT(ETH_P_IFE),
+ XLAT(ETH_P_AF_IUCV),
XLAT_END
};
diff --git a/xlat/ethernet_protocols.in b/xlat/ethernet_protocols.in
index 2e4a1821..1e30f77e 100644
--- a/xlat/ethernet_protocols.in
+++ b/xlat/ethernet_protocols.in
@@ -1,88 +1,91 @@
-ETH_P_LOOP
-ETH_P_PUP
-ETH_P_PUPAT
-ETH_P_TSN
-ETH_P_IP
-ETH_P_X25
-ETH_P_ARP
-ETH_P_BPQ
-ETH_P_IEEEPUP
-ETH_P_IEEEPUPAT
-ETH_P_BATMAN
-ETH_P_DEC
-ETH_P_DNA_DL
-ETH_P_DNA_RC
-ETH_P_DNA_RT
-ETH_P_LAT
-ETH_P_DIAG
-ETH_P_CUST
-ETH_P_SCA
-ETH_P_TEB
-ETH_P_RARP
-ETH_P_ATALK
-ETH_P_AARP
-ETH_P_8021Q
-ETH_P_ERSPAN
-ETH_P_IPX
-ETH_P_IPV6
-ETH_P_PAUSE
-ETH_P_SLOW
-ETH_P_WCCP
-ETH_P_MPLS_UC
-ETH_P_MPLS_MC
-ETH_P_ATMMPOA
-ETH_P_PPP_DISC
-ETH_P_PPP_SES
-ETH_P_LINK_CTL
-ETH_P_ATMFATE
-ETH_P_PAE
-ETH_P_AOE
-ETH_P_8021AD
-ETH_P_802_EX1
-ETH_P_TIPC
-ETH_P_MACSEC
-ETH_P_8021AH
-ETH_P_MVRP
-ETH_P_1588
-ETH_P_NCSI
-ETH_P_PRP
-ETH_P_FCOE
-ETH_P_TDLS
-ETH_P_FIP
-ETH_P_80221
-ETH_P_HSR
-ETH_P_NSH
-ETH_P_LOOPBACK
-ETH_P_QINQ1
-ETH_P_QINQ2
-ETH_P_QINQ3
-ETH_P_EDSA
-ETH_P_IFE
-ETH_P_AF_IUCV
-ETH_P_802_3_MIN
-ETH_P_802_3
-ETH_P_AX25
-ETH_P_ALL
-ETH_P_802_2
-ETH_P_SNAP
-ETH_P_DDCMP
-ETH_P_WAN_PPP
-ETH_P_PPP_MP
-ETH_P_LOCALTALK
-ETH_P_CAN
-ETH_P_CANFD
-ETH_P_PPPTALK
-ETH_P_TR_802_2
-ETH_P_MOBITEX
-ETH_P_CONTROL
-ETH_P_IRDA
-ETH_P_ECONET
-ETH_P_HDLC
-ETH_P_ARCNET
-ETH_P_DSA
-ETH_P_TRAILER
-ETH_P_PHONET
-ETH_P_IEEE802154
-ETH_P_CAIF
-ETH_P_XDSA
-ETH_P_MAP
+/* sort -k2,2 */
+ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
+ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
+ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
+ETH_P_802_2 0x0004 /* 802.2 frames */
+ETH_P_SNAP 0x0005 /* Internal only */
+ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
+ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
+ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
+ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
+ETH_P_CAN 0x000C /* CAN: Controller Area Network */
+ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/
+ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
+ETH_P_TR_802_2 0x0011 /* 802.2 frames */
+ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
+ETH_P_CONTROL 0x0016 /* Card specific control frames */
+ETH_P_IRDA 0x0017 /* Linux-IrDA */
+ETH_P_ECONET 0x0018 /* Acorn Econet */
+ETH_P_HDLC 0x0019 /* HDLC frames */
+ETH_P_ARCNET 0x001A /* 1A for ArcNet :-) */
+ETH_P_DSA 0x001B /* Distributed Switch Arch. */
+ETH_P_TRAILER 0x001C /* Trailer switch tagging */
+ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
+ETH_P_PHONET 0x00F5 /* Nokia Phonet frames */
+ETH_P_IEEE802154 0x00F6 /* IEEE802.15.4 frame */
+ETH_P_CAIF 0x00F7 /* ST-Ericsson CAIF protocol */
+ETH_P_XDSA 0x00F8 /* Multiplexed DSA protocol */
+ETH_P_MAP 0x00F9 /* Qualcomm multiplexing and aggregation protocol */
+ETH_P_PUP 0x0200 /* Xerox PUP packet */
+ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
+ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value then the frame is Ethernet II. Else it is 802.3 */
+ETH_P_IP 0x0800 /* Internet Protocol packet */
+ETH_P_X25 0x0805 /* CCITT X.25 */
+ETH_P_ARP 0x0806 /* Address Resolution packet */
+ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
+ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
+ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
+ETH_P_ERSPAN2 0x22EB /* ERSPAN version 2 (type III) */
+ETH_P_TSN 0x22F0 /* TSN (IEEE 1722) packet */
+ETH_P_BATMAN 0x4305 /* B.A.T.M.A.N.-Advanced packet [ NOT AN OFFICIALLY REGISTERED ID ] */
+ETH_P_DEC 0x6000 /* DEC Assigned proto */
+ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
+ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
+ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
+ETH_P_LAT 0x6004 /* DEC LAT */
+ETH_P_DIAG 0x6005 /* DEC Diagnostics */
+ETH_P_CUST 0x6006 /* DEC Customer use */
+ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
+ETH_P_TEB 0x6558 /* Trans Ether Bridging */
+ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
+ETH_P_ATALK 0x809B /* Appletalk DDP */
+ETH_P_AARP 0x80F3 /* Appletalk AARP */
+ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
+ETH_P_IPX 0x8137 /* IPX over DIX */
+ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
+ETH_P_PAUSE 0x8808 /* IEEE Pause frames. See 802.3 31B */
+ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */
+ETH_P_WCCP 0x883E /* Web-cache coordination protocol */
+ETH_P_MPLS_UC 0x8847 /* MPLS Unicast traffic */
+ETH_P_MPLS_MC 0x8848 /* MPLS Multicast traffic */
+ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
+ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
+ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
+ETH_P_LINK_CTL 0x886c /* HPNA, wlan link local tunnel */
+ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport over Ethernet */
+ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
+ETH_P_AOE 0x88A2 /* ATA over Ethernet */
+ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
+ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
+ETH_P_ERSPAN 0x88BE /* ERSPAN type II */
+ETH_P_TIPC 0x88CA /* TIPC */
+ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */
+ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
+ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
+ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */
+ETH_P_NCSI 0x88F8 /* NCSI protocol */
+ETH_P_PRP 0x88FB /* IEC 62439-3 PRP/HSRv0 */
+ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */
+ETH_P_TDLS 0x890D /* TDLS */
+ETH_P_FIP 0x8914 /* FCoE Initialization Protocol */
+ETH_P_IBOE 0x8915 /* Infiniband over Ethernet */
+ETH_P_80221 0x8917 /* IEEE 802.21 Media Independent Handover Protocol */
+ETH_P_HSR 0x892F /* IEC 62439-3 HSRv1 */
+ETH_P_NSH 0x894F /* Network Service Header */
+ETH_P_LOOPBACK 0x9000 /* Ethernet loopback packet, per IEEE 802.3 */
+ETH_P_QINQ1 0x9100 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
+ETH_P_QINQ2 0x9200 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
+ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
+ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
+ETH_P_IFE 0xED3E /* ForCES inter-FE LFB type */
+ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */
diff --git a/xlat/evdev_autorepeat.h b/xlat/evdev_autorepeat.h
index 67f1ce6d..d06a02b3 100644
--- a/xlat/evdev_autorepeat.h
+++ b/xlat/evdev_autorepeat.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_autorepeat[];
+# error static const struct xlat evdev_autorepeat in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_autorepeat[] = {
#if defined(REP_DELAY) || (defined(HAVE_DECL_REP_DELAY) && HAVE_DECL_REP_DELAY)
XLAT(REP_DELAY),
diff --git a/xlat/evdev_ff_status.h b/xlat/evdev_ff_status.h
index 2313d1a0..107bb1a3 100644
--- a/xlat/evdev_ff_status.h
+++ b/xlat/evdev_ff_status.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_ff_status[];
+# error static const struct xlat evdev_ff_status in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_ff_status[] = {
#if defined(FF_STATUS_STOPPED) || (defined(HAVE_DECL_FF_STATUS_STOPPED) && HAVE_DECL_FF_STATUS_STOPPED)
XLAT(FF_STATUS_STOPPED),
diff --git a/xlat/evdev_ff_types.h b/xlat/evdev_ff_types.h
index 2608bb12..35dddc96 100644
--- a/xlat/evdev_ff_types.h
+++ b/xlat/evdev_ff_types.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_ff_types[];
+# error static const struct xlat evdev_ff_types in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_ff_types[] = {
#if defined(FF_RUMBLE) || (defined(HAVE_DECL_FF_RUMBLE) && HAVE_DECL_FF_RUMBLE)
XLAT(FF_RUMBLE),
diff --git a/xlat/evdev_keycode.h b/xlat/evdev_keycode.h
index 2ba214ec..44f28ef5 100644
--- a/xlat/evdev_keycode.h
+++ b/xlat/evdev_keycode.h
@@ -1,1723 +1,2258 @@
/* Generated by ./xlat/gen.sh from ./xlat/evdev_keycode.in; do not edit. */
-
-#ifdef IN_MPERS
-
-extern const struct xlat evdev_keycode[];
-
-#else
-
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
-static
-# endif
-const struct xlat evdev_keycode[] = {
-#if defined(KEY_RESERVED) || (defined(HAVE_DECL_KEY_RESERVED) && HAVE_DECL_KEY_RESERVED)
- XLAT(KEY_RESERVED),
+#if !(defined(KEY_RESERVED) || (defined(HAVE_DECL_KEY_RESERVED) && HAVE_DECL_KEY_RESERVED))
+# define KEY_RESERVED 0
#endif
-#if defined(KEY_ESC) || (defined(HAVE_DECL_KEY_ESC) && HAVE_DECL_KEY_ESC)
- XLAT(KEY_ESC),
+#if !(defined(KEY_ESC) || (defined(HAVE_DECL_KEY_ESC) && HAVE_DECL_KEY_ESC))
+# define KEY_ESC 1
#endif
-#if defined(KEY_1) || (defined(HAVE_DECL_KEY_1) && HAVE_DECL_KEY_1)
- XLAT(KEY_1),
+#if !(defined(KEY_1) || (defined(HAVE_DECL_KEY_1) && HAVE_DECL_KEY_1))
+# define KEY_1 2
#endif
-#if defined(KEY_2) || (defined(HAVE_DECL_KEY_2) && HAVE_DECL_KEY_2)
- XLAT(KEY_2),
+#if !(defined(KEY_2) || (defined(HAVE_DECL_KEY_2) && HAVE_DECL_KEY_2))
+# define KEY_2 3
#endif
-#if defined(KEY_3) || (defined(HAVE_DECL_KEY_3) && HAVE_DECL_KEY_3)
- XLAT(KEY_3),
+#if !(defined(KEY_3) || (defined(HAVE_DECL_KEY_3) && HAVE_DECL_KEY_3))
+# define KEY_3 4
#endif
-#if defined(KEY_4) || (defined(HAVE_DECL_KEY_4) && HAVE_DECL_KEY_4)
- XLAT(KEY_4),
+#if !(defined(KEY_4) || (defined(HAVE_DECL_KEY_4) && HAVE_DECL_KEY_4))
+# define KEY_4 5
#endif
-#if defined(KEY_5) || (defined(HAVE_DECL_KEY_5) && HAVE_DECL_KEY_5)
- XLAT(KEY_5),
+#if !(defined(KEY_5) || (defined(HAVE_DECL_KEY_5) && HAVE_DECL_KEY_5))
+# define KEY_5 6
#endif
-#if defined(KEY_6) || (defined(HAVE_DECL_KEY_6) && HAVE_DECL_KEY_6)
- XLAT(KEY_6),
+#if !(defined(KEY_6) || (defined(HAVE_DECL_KEY_6) && HAVE_DECL_KEY_6))
+# define KEY_6 7
#endif
-#if defined(KEY_7) || (defined(HAVE_DECL_KEY_7) && HAVE_DECL_KEY_7)
- XLAT(KEY_7),
+#if !(defined(KEY_7) || (defined(HAVE_DECL_KEY_7) && HAVE_DECL_KEY_7))
+# define KEY_7 8
#endif
-#if defined(KEY_8) || (defined(HAVE_DECL_KEY_8) && HAVE_DECL_KEY_8)
- XLAT(KEY_8),
+#if !(defined(KEY_8) || (defined(HAVE_DECL_KEY_8) && HAVE_DECL_KEY_8))
+# define KEY_8 9
#endif
-#if defined(KEY_9) || (defined(HAVE_DECL_KEY_9) && HAVE_DECL_KEY_9)
- XLAT(KEY_9),
+#if !(defined(KEY_9) || (defined(HAVE_DECL_KEY_9) && HAVE_DECL_KEY_9))
+# define KEY_9 10
#endif
-#if defined(KEY_0) || (defined(HAVE_DECL_KEY_0) && HAVE_DECL_KEY_0)
- XLAT(KEY_0),
+#if !(defined(KEY_0) || (defined(HAVE_DECL_KEY_0) && HAVE_DECL_KEY_0))
+# define KEY_0 11
#endif
-#if defined(KEY_MINUS) || (defined(HAVE_DECL_KEY_MINUS) && HAVE_DECL_KEY_MINUS)
- XLAT(KEY_MINUS),
+#if !(defined(KEY_MINUS) || (defined(HAVE_DECL_KEY_MINUS) && HAVE_DECL_KEY_MINUS))
+# define KEY_MINUS 12
#endif
-#if defined(KEY_EQUAL) || (defined(HAVE_DECL_KEY_EQUAL) && HAVE_DECL_KEY_EQUAL)
- XLAT(KEY_EQUAL),
+#if !(defined(KEY_EQUAL) || (defined(HAVE_DECL_KEY_EQUAL) && HAVE_DECL_KEY_EQUAL))
+# define KEY_EQUAL 13
#endif
-#if defined(KEY_BACKSPACE) || (defined(HAVE_DECL_KEY_BACKSPACE) && HAVE_DECL_KEY_BACKSPACE)
- XLAT(KEY_BACKSPACE),
+#if !(defined(KEY_BACKSPACE) || (defined(HAVE_DECL_KEY_BACKSPACE) && HAVE_DECL_KEY_BACKSPACE))
+# define KEY_BACKSPACE 14
#endif
-#if defined(KEY_TAB) || (defined(HAVE_DECL_KEY_TAB) && HAVE_DECL_KEY_TAB)
- XLAT(KEY_TAB),
+#if !(defined(KEY_TAB) || (defined(HAVE_DECL_KEY_TAB) && HAVE_DECL_KEY_TAB))
+# define KEY_TAB 15
#endif
-#if defined(KEY_Q) || (defined(HAVE_DECL_KEY_Q) && HAVE_DECL_KEY_Q)
- XLAT(KEY_Q),
+#if !(defined(KEY_Q) || (defined(HAVE_DECL_KEY_Q) && HAVE_DECL_KEY_Q))
+# define KEY_Q 16
#endif
-#if defined(KEY_W) || (defined(HAVE_DECL_KEY_W) && HAVE_DECL_KEY_W)
- XLAT(KEY_W),
+#if !(defined(KEY_W) || (defined(HAVE_DECL_KEY_W) && HAVE_DECL_KEY_W))
+# define KEY_W 17
#endif
-#if defined(KEY_E) || (defined(HAVE_DECL_KEY_E) && HAVE_DECL_KEY_E)
- XLAT(KEY_E),
+#if !(defined(KEY_E) || (defined(HAVE_DECL_KEY_E) && HAVE_DECL_KEY_E))
+# define KEY_E 18
#endif
-#if defined(KEY_R) || (defined(HAVE_DECL_KEY_R) && HAVE_DECL_KEY_R)
- XLAT(KEY_R),
+#if !(defined(KEY_R) || (defined(HAVE_DECL_KEY_R) && HAVE_DECL_KEY_R))
+# define KEY_R 19
#endif
-#if defined(KEY_T) || (defined(HAVE_DECL_KEY_T) && HAVE_DECL_KEY_T)
- XLAT(KEY_T),
+#if !(defined(KEY_T) || (defined(HAVE_DECL_KEY_T) && HAVE_DECL_KEY_T))
+# define KEY_T 20
#endif
-#if defined(KEY_Y) || (defined(HAVE_DECL_KEY_Y) && HAVE_DECL_KEY_Y)
- XLAT(KEY_Y),
+#if !(defined(KEY_Y) || (defined(HAVE_DECL_KEY_Y) && HAVE_DECL_KEY_Y))
+# define KEY_Y 21
#endif
-#if defined(KEY_U) || (defined(HAVE_DECL_KEY_U) && HAVE_DECL_KEY_U)
- XLAT(KEY_U),
+#if !(defined(KEY_U) || (defined(HAVE_DECL_KEY_U) && HAVE_DECL_KEY_U))
+# define KEY_U 22
#endif
-#if defined(KEY_I) || (defined(HAVE_DECL_KEY_I) && HAVE_DECL_KEY_I)
- XLAT(KEY_I),
+#if !(defined(KEY_I) || (defined(HAVE_DECL_KEY_I) && HAVE_DECL_KEY_I))
+# define KEY_I 23
#endif
-#if defined(KEY_O) || (defined(HAVE_DECL_KEY_O) && HAVE_DECL_KEY_O)
- XLAT(KEY_O),
+#if !(defined(KEY_O) || (defined(HAVE_DECL_KEY_O) && HAVE_DECL_KEY_O))
+# define KEY_O 24
#endif
-#if defined(KEY_P) || (defined(HAVE_DECL_KEY_P) && HAVE_DECL_KEY_P)
- XLAT(KEY_P),
+#if !(defined(KEY_P) || (defined(HAVE_DECL_KEY_P) && HAVE_DECL_KEY_P))
+# define KEY_P 25
#endif
-#if defined(KEY_LEFTBRACE) || (defined(HAVE_DECL_KEY_LEFTBRACE) && HAVE_DECL_KEY_LEFTBRACE)
- XLAT(KEY_LEFTBRACE),
+#if !(defined(KEY_LEFTBRACE) || (defined(HAVE_DECL_KEY_LEFTBRACE) && HAVE_DECL_KEY_LEFTBRACE))
+# define KEY_LEFTBRACE 26
#endif
-#if defined(KEY_RIGHTBRACE) || (defined(HAVE_DECL_KEY_RIGHTBRACE) && HAVE_DECL_KEY_RIGHTBRACE)
- XLAT(KEY_RIGHTBRACE),
+#if !(defined(KEY_RIGHTBRACE) || (defined(HAVE_DECL_KEY_RIGHTBRACE) && HAVE_DECL_KEY_RIGHTBRACE))
+# define KEY_RIGHTBRACE 27
#endif
-#if defined(KEY_ENTER) || (defined(HAVE_DECL_KEY_ENTER) && HAVE_DECL_KEY_ENTER)
- XLAT(KEY_ENTER),
+#if !(defined(KEY_ENTER) || (defined(HAVE_DECL_KEY_ENTER) && HAVE_DECL_KEY_ENTER))
+# define KEY_ENTER 28
#endif
-#if defined(KEY_LEFTCTRL) || (defined(HAVE_DECL_KEY_LEFTCTRL) && HAVE_DECL_KEY_LEFTCTRL)
- XLAT(KEY_LEFTCTRL),
+#if !(defined(KEY_LEFTCTRL) || (defined(HAVE_DECL_KEY_LEFTCTRL) && HAVE_DECL_KEY_LEFTCTRL))
+# define KEY_LEFTCTRL 29
#endif
-#if defined(KEY_A) || (defined(HAVE_DECL_KEY_A) && HAVE_DECL_KEY_A)
- XLAT(KEY_A),
+#if !(defined(KEY_A) || (defined(HAVE_DECL_KEY_A) && HAVE_DECL_KEY_A))
+# define KEY_A 30
#endif
-#if defined(KEY_S) || (defined(HAVE_DECL_KEY_S) && HAVE_DECL_KEY_S)
- XLAT(KEY_S),
+#if !(defined(KEY_S) || (defined(HAVE_DECL_KEY_S) && HAVE_DECL_KEY_S))
+# define KEY_S 31
#endif
-#if defined(KEY_D) || (defined(HAVE_DECL_KEY_D) && HAVE_DECL_KEY_D)
- XLAT(KEY_D),
+#if !(defined(KEY_D) || (defined(HAVE_DECL_KEY_D) && HAVE_DECL_KEY_D))
+# define KEY_D 32
#endif
-#if defined(KEY_F) || (defined(HAVE_DECL_KEY_F) && HAVE_DECL_KEY_F)
- XLAT(KEY_F),
+#if !(defined(KEY_F) || (defined(HAVE_DECL_KEY_F) && HAVE_DECL_KEY_F))
+# define KEY_F 33
#endif
-#if defined(KEY_G) || (defined(HAVE_DECL_KEY_G) && HAVE_DECL_KEY_G)
- XLAT(KEY_G),
+#if !(defined(KEY_G) || (defined(HAVE_DECL_KEY_G) && HAVE_DECL_KEY_G))
+# define KEY_G 34
#endif
-#if defined(KEY_H) || (defined(HAVE_DECL_KEY_H) && HAVE_DECL_KEY_H)
- XLAT(KEY_H),
+#if !(defined(KEY_H) || (defined(HAVE_DECL_KEY_H) && HAVE_DECL_KEY_H))
+# define KEY_H 35
#endif
-#if defined(KEY_J) || (defined(HAVE_DECL_KEY_J) && HAVE_DECL_KEY_J)
- XLAT(KEY_J),
+#if !(defined(KEY_J) || (defined(HAVE_DECL_KEY_J) && HAVE_DECL_KEY_J))
+# define KEY_J 36
#endif
-#if defined(KEY_K) || (defined(HAVE_DECL_KEY_K) && HAVE_DECL_KEY_K)
- XLAT(KEY_K),
+#if !(defined(KEY_K) || (defined(HAVE_DECL_KEY_K) && HAVE_DECL_KEY_K))
+# define KEY_K 37
#endif
-#if defined(KEY_L) || (defined(HAVE_DECL_KEY_L) && HAVE_DECL_KEY_L)
- XLAT(KEY_L),
+#if !(defined(KEY_L) || (defined(HAVE_DECL_KEY_L) && HAVE_DECL_KEY_L))
+# define KEY_L 38
#endif
-#if defined(KEY_SEMICOLON) || (defined(HAVE_DECL_KEY_SEMICOLON) && HAVE_DECL_KEY_SEMICOLON)
- XLAT(KEY_SEMICOLON),
+#if !(defined(KEY_SEMICOLON) || (defined(HAVE_DECL_KEY_SEMICOLON) && HAVE_DECL_KEY_SEMICOLON))
+# define KEY_SEMICOLON 39
#endif
-#if defined(KEY_APOSTROPHE) || (defined(HAVE_DECL_KEY_APOSTROPHE) && HAVE_DECL_KEY_APOSTROPHE)
- XLAT(KEY_APOSTROPHE),
+#if !(defined(KEY_APOSTROPHE) || (defined(HAVE_DECL_KEY_APOSTROPHE) && HAVE_DECL_KEY_APOSTROPHE))
+# define KEY_APOSTROPHE 40
#endif
-#if defined(KEY_GRAVE) || (defined(HAVE_DECL_KEY_GRAVE) && HAVE_DECL_KEY_GRAVE)
- XLAT(KEY_GRAVE),
+#if !(defined(KEY_GRAVE) || (defined(HAVE_DECL_KEY_GRAVE) && HAVE_DECL_KEY_GRAVE))
+# define KEY_GRAVE 41
#endif
-#if defined(KEY_LEFTSHIFT) || (defined(HAVE_DECL_KEY_LEFTSHIFT) && HAVE_DECL_KEY_LEFTSHIFT)
- XLAT(KEY_LEFTSHIFT),
+#if !(defined(KEY_LEFTSHIFT) || (defined(HAVE_DECL_KEY_LEFTSHIFT) && HAVE_DECL_KEY_LEFTSHIFT))
+# define KEY_LEFTSHIFT 42
#endif
-#if defined(KEY_BACKSLASH) || (defined(HAVE_DECL_KEY_BACKSLASH) && HAVE_DECL_KEY_BACKSLASH)
- XLAT(KEY_BACKSLASH),
+#if !(defined(KEY_BACKSLASH) || (defined(HAVE_DECL_KEY_BACKSLASH) && HAVE_DECL_KEY_BACKSLASH))
+# define KEY_BACKSLASH 43
#endif
-#if defined(KEY_Z) || (defined(HAVE_DECL_KEY_Z) && HAVE_DECL_KEY_Z)
- XLAT(KEY_Z),
+#if !(defined(KEY_Z) || (defined(HAVE_DECL_KEY_Z) && HAVE_DECL_KEY_Z))
+# define KEY_Z 44
#endif
-#if defined(KEY_X) || (defined(HAVE_DECL_KEY_X) && HAVE_DECL_KEY_X)
- XLAT(KEY_X),
+#if !(defined(KEY_X) || (defined(HAVE_DECL_KEY_X) && HAVE_DECL_KEY_X))
+# define KEY_X 45
#endif
-#if defined(KEY_C) || (defined(HAVE_DECL_KEY_C) && HAVE_DECL_KEY_C)
- XLAT(KEY_C),
+#if !(defined(KEY_C) || (defined(HAVE_DECL_KEY_C) && HAVE_DECL_KEY_C))
+# define KEY_C 46
#endif
-#if defined(KEY_V) || (defined(HAVE_DECL_KEY_V) && HAVE_DECL_KEY_V)
- XLAT(KEY_V),
+#if !(defined(KEY_V) || (defined(HAVE_DECL_KEY_V) && HAVE_DECL_KEY_V))
+# define KEY_V 47
#endif
-#if defined(KEY_B) || (defined(HAVE_DECL_KEY_B) && HAVE_DECL_KEY_B)
- XLAT(KEY_B),
+#if !(defined(KEY_B) || (defined(HAVE_DECL_KEY_B) && HAVE_DECL_KEY_B))
+# define KEY_B 48
#endif
-#if defined(KEY_N) || (defined(HAVE_DECL_KEY_N) && HAVE_DECL_KEY_N)
- XLAT(KEY_N),
+#if !(defined(KEY_N) || (defined(HAVE_DECL_KEY_N) && HAVE_DECL_KEY_N))
+# define KEY_N 49
#endif
-#if defined(KEY_M) || (defined(HAVE_DECL_KEY_M) && HAVE_DECL_KEY_M)
- XLAT(KEY_M),
+#if !(defined(KEY_M) || (defined(HAVE_DECL_KEY_M) && HAVE_DECL_KEY_M))
+# define KEY_M 50
#endif
-#if defined(KEY_COMMA) || (defined(HAVE_DECL_KEY_COMMA) && HAVE_DECL_KEY_COMMA)
- XLAT(KEY_COMMA),
+#if !(defined(KEY_COMMA) || (defined(HAVE_DECL_KEY_COMMA) && HAVE_DECL_KEY_COMMA))
+# define KEY_COMMA 51
#endif
-#if defined(KEY_DOT) || (defined(HAVE_DECL_KEY_DOT) && HAVE_DECL_KEY_DOT)
- XLAT(KEY_DOT),
+#if !(defined(KEY_DOT) || (defined(HAVE_DECL_KEY_DOT) && HAVE_DECL_KEY_DOT))
+# define KEY_DOT 52
#endif
-#if defined(KEY_SLASH) || (defined(HAVE_DECL_KEY_SLASH) && HAVE_DECL_KEY_SLASH)
- XLAT(KEY_SLASH),
+#if !(defined(KEY_SLASH) || (defined(HAVE_DECL_KEY_SLASH) && HAVE_DECL_KEY_SLASH))
+# define KEY_SLASH 53
#endif
-#if defined(KEY_RIGHTSHIFT) || (defined(HAVE_DECL_KEY_RIGHTSHIFT) && HAVE_DECL_KEY_RIGHTSHIFT)
- XLAT(KEY_RIGHTSHIFT),
+#if !(defined(KEY_RIGHTSHIFT) || (defined(HAVE_DECL_KEY_RIGHTSHIFT) && HAVE_DECL_KEY_RIGHTSHIFT))
+# define KEY_RIGHTSHIFT 54
#endif
-#if defined(KEY_KPASTERISK) || (defined(HAVE_DECL_KEY_KPASTERISK) && HAVE_DECL_KEY_KPASTERISK)
- XLAT(KEY_KPASTERISK),
+#if !(defined(KEY_KPASTERISK) || (defined(HAVE_DECL_KEY_KPASTERISK) && HAVE_DECL_KEY_KPASTERISK))
+# define KEY_KPASTERISK 55
#endif
-#if defined(KEY_LEFTALT) || (defined(HAVE_DECL_KEY_LEFTALT) && HAVE_DECL_KEY_LEFTALT)
- XLAT(KEY_LEFTALT),
+#if !(defined(KEY_LEFTALT) || (defined(HAVE_DECL_KEY_LEFTALT) && HAVE_DECL_KEY_LEFTALT))
+# define KEY_LEFTALT 56
#endif
-#if defined(KEY_SPACE) || (defined(HAVE_DECL_KEY_SPACE) && HAVE_DECL_KEY_SPACE)
- XLAT(KEY_SPACE),
+#if !(defined(KEY_SPACE) || (defined(HAVE_DECL_KEY_SPACE) && HAVE_DECL_KEY_SPACE))
+# define KEY_SPACE 57
#endif
-#if defined(KEY_CAPSLOCK) || (defined(HAVE_DECL_KEY_CAPSLOCK) && HAVE_DECL_KEY_CAPSLOCK)
- XLAT(KEY_CAPSLOCK),
+#if !(defined(KEY_CAPSLOCK) || (defined(HAVE_DECL_KEY_CAPSLOCK) && HAVE_DECL_KEY_CAPSLOCK))
+# define KEY_CAPSLOCK 58
#endif
-#if defined(KEY_F1) || (defined(HAVE_DECL_KEY_F1) && HAVE_DECL_KEY_F1)
- XLAT(KEY_F1),
+#if !(defined(KEY_F1) || (defined(HAVE_DECL_KEY_F1) && HAVE_DECL_KEY_F1))
+# define KEY_F1 59
#endif
-#if defined(KEY_F2) || (defined(HAVE_DECL_KEY_F2) && HAVE_DECL_KEY_F2)
- XLAT(KEY_F2),
+#if !(defined(KEY_F2) || (defined(HAVE_DECL_KEY_F2) && HAVE_DECL_KEY_F2))
+# define KEY_F2 60
#endif
-#if defined(KEY_F3) || (defined(HAVE_DECL_KEY_F3) && HAVE_DECL_KEY_F3)
- XLAT(KEY_F3),
+#if !(defined(KEY_F3) || (defined(HAVE_DECL_KEY_F3) && HAVE_DECL_KEY_F3))
+# define KEY_F3 61
#endif
-#if defined(KEY_F4) || (defined(HAVE_DECL_KEY_F4) && HAVE_DECL_KEY_F4)
- XLAT(KEY_F4),
+#if !(defined(KEY_F4) || (defined(HAVE_DECL_KEY_F4) && HAVE_DECL_KEY_F4))
+# define KEY_F4 62
#endif
-#if defined(KEY_F5) || (defined(HAVE_DECL_KEY_F5) && HAVE_DECL_KEY_F5)
- XLAT(KEY_F5),
+#if !(defined(KEY_F5) || (defined(HAVE_DECL_KEY_F5) && HAVE_DECL_KEY_F5))
+# define KEY_F5 63
#endif
-#if defined(KEY_F6) || (defined(HAVE_DECL_KEY_F6) && HAVE_DECL_KEY_F6)
- XLAT(KEY_F6),
+#if !(defined(KEY_F6) || (defined(HAVE_DECL_KEY_F6) && HAVE_DECL_KEY_F6))
+# define KEY_F6 64
#endif
-#if defined(KEY_F7) || (defined(HAVE_DECL_KEY_F7) && HAVE_DECL_KEY_F7)
- XLAT(KEY_F7),
+#if !(defined(KEY_F7) || (defined(HAVE_DECL_KEY_F7) && HAVE_DECL_KEY_F7))
+# define KEY_F7 65
#endif
-#if defined(KEY_F8) || (defined(HAVE_DECL_KEY_F8) && HAVE_DECL_KEY_F8)
- XLAT(KEY_F8),
+#if !(defined(KEY_F8) || (defined(HAVE_DECL_KEY_F8) && HAVE_DECL_KEY_F8))
+# define KEY_F8 66
#endif
-#if defined(KEY_F9) || (defined(HAVE_DECL_KEY_F9) && HAVE_DECL_KEY_F9)
- XLAT(KEY_F9),
+#if !(defined(KEY_F9) || (defined(HAVE_DECL_KEY_F9) && HAVE_DECL_KEY_F9))
+# define KEY_F9 67
#endif
-#if defined(KEY_F10) || (defined(HAVE_DECL_KEY_F10) && HAVE_DECL_KEY_F10)
- XLAT(KEY_F10),
+#if !(defined(KEY_F10) || (defined(HAVE_DECL_KEY_F10) && HAVE_DECL_KEY_F10))
+# define KEY_F10 68
#endif
-#if defined(KEY_NUMLOCK) || (defined(HAVE_DECL_KEY_NUMLOCK) && HAVE_DECL_KEY_NUMLOCK)
- XLAT(KEY_NUMLOCK),
+#if !(defined(KEY_NUMLOCK) || (defined(HAVE_DECL_KEY_NUMLOCK) && HAVE_DECL_KEY_NUMLOCK))
+# define KEY_NUMLOCK 69
#endif
-#if defined(KEY_SCROLLLOCK) || (defined(HAVE_DECL_KEY_SCROLLLOCK) && HAVE_DECL_KEY_SCROLLLOCK)
- XLAT(KEY_SCROLLLOCK),
+#if !(defined(KEY_SCROLLLOCK) || (defined(HAVE_DECL_KEY_SCROLLLOCK) && HAVE_DECL_KEY_SCROLLLOCK))
+# define KEY_SCROLLLOCK 70
#endif
-#if defined(KEY_KP7) || (defined(HAVE_DECL_KEY_KP7) && HAVE_DECL_KEY_KP7)
- XLAT(KEY_KP7),
+#if !(defined(KEY_KP7) || (defined(HAVE_DECL_KEY_KP7) && HAVE_DECL_KEY_KP7))
+# define KEY_KP7 71
#endif
-#if defined(KEY_KP8) || (defined(HAVE_DECL_KEY_KP8) && HAVE_DECL_KEY_KP8)
- XLAT(KEY_KP8),
+#if !(defined(KEY_KP8) || (defined(HAVE_DECL_KEY_KP8) && HAVE_DECL_KEY_KP8))
+# define KEY_KP8 72
#endif
-#if defined(KEY_KP9) || (defined(HAVE_DECL_KEY_KP9) && HAVE_DECL_KEY_KP9)
- XLAT(KEY_KP9),
+#if !(defined(KEY_KP9) || (defined(HAVE_DECL_KEY_KP9) && HAVE_DECL_KEY_KP9))
+# define KEY_KP9 73
#endif
-#if defined(KEY_KPMINUS) || (defined(HAVE_DECL_KEY_KPMINUS) && HAVE_DECL_KEY_KPMINUS)
- XLAT(KEY_KPMINUS),
+#if !(defined(KEY_KPMINUS) || (defined(HAVE_DECL_KEY_KPMINUS) && HAVE_DECL_KEY_KPMINUS))
+# define KEY_KPMINUS 74
#endif
-#if defined(KEY_KP4) || (defined(HAVE_DECL_KEY_KP4) && HAVE_DECL_KEY_KP4)
- XLAT(KEY_KP4),
+#if !(defined(KEY_KP4) || (defined(HAVE_DECL_KEY_KP4) && HAVE_DECL_KEY_KP4))
+# define KEY_KP4 75
#endif
-#if defined(KEY_KP5) || (defined(HAVE_DECL_KEY_KP5) && HAVE_DECL_KEY_KP5)
- XLAT(KEY_KP5),
+#if !(defined(KEY_KP5) || (defined(HAVE_DECL_KEY_KP5) && HAVE_DECL_KEY_KP5))
+# define KEY_KP5 76
#endif
-#if defined(KEY_KP6) || (defined(HAVE_DECL_KEY_KP6) && HAVE_DECL_KEY_KP6)
- XLAT(KEY_KP6),
+#if !(defined(KEY_KP6) || (defined(HAVE_DECL_KEY_KP6) && HAVE_DECL_KEY_KP6))
+# define KEY_KP6 77
#endif
-#if defined(KEY_KPPLUS) || (defined(HAVE_DECL_KEY_KPPLUS) && HAVE_DECL_KEY_KPPLUS)
- XLAT(KEY_KPPLUS),
+#if !(defined(KEY_KPPLUS) || (defined(HAVE_DECL_KEY_KPPLUS) && HAVE_DECL_KEY_KPPLUS))
+# define KEY_KPPLUS 78
#endif
-#if defined(KEY_KP1) || (defined(HAVE_DECL_KEY_KP1) && HAVE_DECL_KEY_KP1)
- XLAT(KEY_KP1),
+#if !(defined(KEY_KP1) || (defined(HAVE_DECL_KEY_KP1) && HAVE_DECL_KEY_KP1))
+# define KEY_KP1 79
#endif
-#if defined(KEY_KP2) || (defined(HAVE_DECL_KEY_KP2) && HAVE_DECL_KEY_KP2)
- XLAT(KEY_KP2),
+#if !(defined(KEY_KP2) || (defined(HAVE_DECL_KEY_KP2) && HAVE_DECL_KEY_KP2))
+# define KEY_KP2 80
#endif
-#if defined(KEY_KP3) || (defined(HAVE_DECL_KEY_KP3) && HAVE_DECL_KEY_KP3)
- XLAT(KEY_KP3),
+#if !(defined(KEY_KP3) || (defined(HAVE_DECL_KEY_KP3) && HAVE_DECL_KEY_KP3))
+# define KEY_KP3 81
#endif
-#if defined(KEY_KP0) || (defined(HAVE_DECL_KEY_KP0) && HAVE_DECL_KEY_KP0)
- XLAT(KEY_KP0),
+#if !(defined(KEY_KP0) || (defined(HAVE_DECL_KEY_KP0) && HAVE_DECL_KEY_KP0))
+# define KEY_KP0 82
#endif
-#if defined(KEY_KPDOT) || (defined(HAVE_DECL_KEY_KPDOT) && HAVE_DECL_KEY_KPDOT)
- XLAT(KEY_KPDOT),
+#if !(defined(KEY_KPDOT) || (defined(HAVE_DECL_KEY_KPDOT) && HAVE_DECL_KEY_KPDOT))
+# define KEY_KPDOT 83
#endif
-
-#if defined(KEY_ZENKAKUHANKAKU) || (defined(HAVE_DECL_KEY_ZENKAKUHANKAKU) && HAVE_DECL_KEY_ZENKAKUHANKAKU)
- XLAT(KEY_ZENKAKUHANKAKU),
+#if !(defined(KEY_ZENKAKUHANKAKU) || (defined(HAVE_DECL_KEY_ZENKAKUHANKAKU) && HAVE_DECL_KEY_ZENKAKUHANKAKU))
+# define KEY_ZENKAKUHANKAKU 85
#endif
-#if defined(KEY_102ND) || (defined(HAVE_DECL_KEY_102ND) && HAVE_DECL_KEY_102ND)
- XLAT(KEY_102ND),
+#if !(defined(KEY_102ND) || (defined(HAVE_DECL_KEY_102ND) && HAVE_DECL_KEY_102ND))
+# define KEY_102ND 86
#endif
-#if defined(KEY_F11) || (defined(HAVE_DECL_KEY_F11) && HAVE_DECL_KEY_F11)
- XLAT(KEY_F11),
+#if !(defined(KEY_F11) || (defined(HAVE_DECL_KEY_F11) && HAVE_DECL_KEY_F11))
+# define KEY_F11 87
#endif
-#if defined(KEY_F12) || (defined(HAVE_DECL_KEY_F12) && HAVE_DECL_KEY_F12)
- XLAT(KEY_F12),
+#if !(defined(KEY_F12) || (defined(HAVE_DECL_KEY_F12) && HAVE_DECL_KEY_F12))
+# define KEY_F12 88
#endif
-#if defined(KEY_RO) || (defined(HAVE_DECL_KEY_RO) && HAVE_DECL_KEY_RO)
- XLAT(KEY_RO),
+#if !(defined(KEY_RO) || (defined(HAVE_DECL_KEY_RO) && HAVE_DECL_KEY_RO))
+# define KEY_RO 89
#endif
-#if defined(KEY_KATAKANA) || (defined(HAVE_DECL_KEY_KATAKANA) && HAVE_DECL_KEY_KATAKANA)
- XLAT(KEY_KATAKANA),
+#if !(defined(KEY_KATAKANA) || (defined(HAVE_DECL_KEY_KATAKANA) && HAVE_DECL_KEY_KATAKANA))
+# define KEY_KATAKANA 90
#endif
-#if defined(KEY_HIRAGANA) || (defined(HAVE_DECL_KEY_HIRAGANA) && HAVE_DECL_KEY_HIRAGANA)
- XLAT(KEY_HIRAGANA),
+#if !(defined(KEY_HIRAGANA) || (defined(HAVE_DECL_KEY_HIRAGANA) && HAVE_DECL_KEY_HIRAGANA))
+# define KEY_HIRAGANA 91
#endif
-#if defined(KEY_HENKAN) || (defined(HAVE_DECL_KEY_HENKAN) && HAVE_DECL_KEY_HENKAN)
- XLAT(KEY_HENKAN),
+#if !(defined(KEY_HENKAN) || (defined(HAVE_DECL_KEY_HENKAN) && HAVE_DECL_KEY_HENKAN))
+# define KEY_HENKAN 92
#endif
-#if defined(KEY_KATAKANAHIRAGANA) || (defined(HAVE_DECL_KEY_KATAKANAHIRAGANA) && HAVE_DECL_KEY_KATAKANAHIRAGANA)
- XLAT(KEY_KATAKANAHIRAGANA),
+#if !(defined(KEY_KATAKANAHIRAGANA) || (defined(HAVE_DECL_KEY_KATAKANAHIRAGANA) && HAVE_DECL_KEY_KATAKANAHIRAGANA))
+# define KEY_KATAKANAHIRAGANA 93
#endif
-#if defined(KEY_MUHENKAN) || (defined(HAVE_DECL_KEY_MUHENKAN) && HAVE_DECL_KEY_MUHENKAN)
- XLAT(KEY_MUHENKAN),
+#if !(defined(KEY_MUHENKAN) || (defined(HAVE_DECL_KEY_MUHENKAN) && HAVE_DECL_KEY_MUHENKAN))
+# define KEY_MUHENKAN 94
#endif
-#if defined(KEY_KPJPCOMMA) || (defined(HAVE_DECL_KEY_KPJPCOMMA) && HAVE_DECL_KEY_KPJPCOMMA)
- XLAT(KEY_KPJPCOMMA),
+#if !(defined(KEY_KPJPCOMMA) || (defined(HAVE_DECL_KEY_KPJPCOMMA) && HAVE_DECL_KEY_KPJPCOMMA))
+# define KEY_KPJPCOMMA 95
#endif
-#if defined(KEY_KPENTER) || (defined(HAVE_DECL_KEY_KPENTER) && HAVE_DECL_KEY_KPENTER)
- XLAT(KEY_KPENTER),
+#if !(defined(KEY_KPENTER) || (defined(HAVE_DECL_KEY_KPENTER) && HAVE_DECL_KEY_KPENTER))
+# define KEY_KPENTER 96
#endif
-#if defined(KEY_RIGHTCTRL) || (defined(HAVE_DECL_KEY_RIGHTCTRL) && HAVE_DECL_KEY_RIGHTCTRL)
- XLAT(KEY_RIGHTCTRL),
+#if !(defined(KEY_RIGHTCTRL) || (defined(HAVE_DECL_KEY_RIGHTCTRL) && HAVE_DECL_KEY_RIGHTCTRL))
+# define KEY_RIGHTCTRL 97
#endif
-#if defined(KEY_KPSLASH) || (defined(HAVE_DECL_KEY_KPSLASH) && HAVE_DECL_KEY_KPSLASH)
- XLAT(KEY_KPSLASH),
+#if !(defined(KEY_KPSLASH) || (defined(HAVE_DECL_KEY_KPSLASH) && HAVE_DECL_KEY_KPSLASH))
+# define KEY_KPSLASH 98
#endif
-#if defined(KEY_SYSRQ) || (defined(HAVE_DECL_KEY_SYSRQ) && HAVE_DECL_KEY_SYSRQ)
- XLAT(KEY_SYSRQ),
+#if !(defined(KEY_SYSRQ) || (defined(HAVE_DECL_KEY_SYSRQ) && HAVE_DECL_KEY_SYSRQ))
+# define KEY_SYSRQ 99
#endif
-#if defined(KEY_RIGHTALT) || (defined(HAVE_DECL_KEY_RIGHTALT) && HAVE_DECL_KEY_RIGHTALT)
- XLAT(KEY_RIGHTALT),
+#if !(defined(KEY_RIGHTALT) || (defined(HAVE_DECL_KEY_RIGHTALT) && HAVE_DECL_KEY_RIGHTALT))
+# define KEY_RIGHTALT 100
#endif
-#if defined(KEY_LINEFEED) || (defined(HAVE_DECL_KEY_LINEFEED) && HAVE_DECL_KEY_LINEFEED)
- XLAT(KEY_LINEFEED),
+#if !(defined(KEY_LINEFEED) || (defined(HAVE_DECL_KEY_LINEFEED) && HAVE_DECL_KEY_LINEFEED))
+# define KEY_LINEFEED 101
#endif
-#if defined(KEY_HOME) || (defined(HAVE_DECL_KEY_HOME) && HAVE_DECL_KEY_HOME)
- XLAT(KEY_HOME),
+#if !(defined(KEY_HOME) || (defined(HAVE_DECL_KEY_HOME) && HAVE_DECL_KEY_HOME))
+# define KEY_HOME 102
#endif
-#if defined(KEY_UP) || (defined(HAVE_DECL_KEY_UP) && HAVE_DECL_KEY_UP)
- XLAT(KEY_UP),
+#if !(defined(KEY_UP) || (defined(HAVE_DECL_KEY_UP) && HAVE_DECL_KEY_UP))
+# define KEY_UP 103
#endif
-#if defined(KEY_PAGEUP) || (defined(HAVE_DECL_KEY_PAGEUP) && HAVE_DECL_KEY_PAGEUP)
- XLAT(KEY_PAGEUP),
+#if !(defined(KEY_PAGEUP) || (defined(HAVE_DECL_KEY_PAGEUP) && HAVE_DECL_KEY_PAGEUP))
+# define KEY_PAGEUP 104
#endif
-#if defined(KEY_LEFT) || (defined(HAVE_DECL_KEY_LEFT) && HAVE_DECL_KEY_LEFT)
- XLAT(KEY_LEFT),
+#if !(defined(KEY_LEFT) || (defined(HAVE_DECL_KEY_LEFT) && HAVE_DECL_KEY_LEFT))
+# define KEY_LEFT 105
#endif
-#if defined(KEY_RIGHT) || (defined(HAVE_DECL_KEY_RIGHT) && HAVE_DECL_KEY_RIGHT)
- XLAT(KEY_RIGHT),
+#if !(defined(KEY_RIGHT) || (defined(HAVE_DECL_KEY_RIGHT) && HAVE_DECL_KEY_RIGHT))
+# define KEY_RIGHT 106
#endif
-#if defined(KEY_END) || (defined(HAVE_DECL_KEY_END) && HAVE_DECL_KEY_END)
- XLAT(KEY_END),
+#if !(defined(KEY_END) || (defined(HAVE_DECL_KEY_END) && HAVE_DECL_KEY_END))
+# define KEY_END 107
#endif
-#if defined(KEY_DOWN) || (defined(HAVE_DECL_KEY_DOWN) && HAVE_DECL_KEY_DOWN)
- XLAT(KEY_DOWN),
+#if !(defined(KEY_DOWN) || (defined(HAVE_DECL_KEY_DOWN) && HAVE_DECL_KEY_DOWN))
+# define KEY_DOWN 108
#endif
-#if defined(KEY_PAGEDOWN) || (defined(HAVE_DECL_KEY_PAGEDOWN) && HAVE_DECL_KEY_PAGEDOWN)
- XLAT(KEY_PAGEDOWN),
+#if !(defined(KEY_PAGEDOWN) || (defined(HAVE_DECL_KEY_PAGEDOWN) && HAVE_DECL_KEY_PAGEDOWN))
+# define KEY_PAGEDOWN 109
#endif
-#if defined(KEY_INSERT) || (defined(HAVE_DECL_KEY_INSERT) && HAVE_DECL_KEY_INSERT)
- XLAT(KEY_INSERT),
+#if !(defined(KEY_INSERT) || (defined(HAVE_DECL_KEY_INSERT) && HAVE_DECL_KEY_INSERT))
+# define KEY_INSERT 110
#endif
-#if defined(KEY_DELETE) || (defined(HAVE_DECL_KEY_DELETE) && HAVE_DECL_KEY_DELETE)
- XLAT(KEY_DELETE),
+#if !(defined(KEY_DELETE) || (defined(HAVE_DECL_KEY_DELETE) && HAVE_DECL_KEY_DELETE))
+# define KEY_DELETE 111
#endif
-#if defined(KEY_MACRO) || (defined(HAVE_DECL_KEY_MACRO) && HAVE_DECL_KEY_MACRO)
- XLAT(KEY_MACRO),
+#if !(defined(KEY_MACRO) || (defined(HAVE_DECL_KEY_MACRO) && HAVE_DECL_KEY_MACRO))
+# define KEY_MACRO 112
#endif
-#if defined(KEY_MUTE) || (defined(HAVE_DECL_KEY_MUTE) && HAVE_DECL_KEY_MUTE)
- XLAT(KEY_MUTE),
+#if !(defined(KEY_MUTE) || (defined(HAVE_DECL_KEY_MUTE) && HAVE_DECL_KEY_MUTE))
+# define KEY_MUTE 113
#endif
-#if defined(KEY_VOLUMEDOWN) || (defined(HAVE_DECL_KEY_VOLUMEDOWN) && HAVE_DECL_KEY_VOLUMEDOWN)
- XLAT(KEY_VOLUMEDOWN),
+#if !(defined(KEY_VOLUMEDOWN) || (defined(HAVE_DECL_KEY_VOLUMEDOWN) && HAVE_DECL_KEY_VOLUMEDOWN))
+# define KEY_VOLUMEDOWN 114
#endif
-#if defined(KEY_VOLUMEUP) || (defined(HAVE_DECL_KEY_VOLUMEUP) && HAVE_DECL_KEY_VOLUMEUP)
- XLAT(KEY_VOLUMEUP),
+#if !(defined(KEY_VOLUMEUP) || (defined(HAVE_DECL_KEY_VOLUMEUP) && HAVE_DECL_KEY_VOLUMEUP))
+# define KEY_VOLUMEUP 115
#endif
-#if defined(KEY_POWER) || (defined(HAVE_DECL_KEY_POWER) && HAVE_DECL_KEY_POWER)
- XLAT(KEY_POWER),
+#if !(defined(KEY_POWER) || (defined(HAVE_DECL_KEY_POWER) && HAVE_DECL_KEY_POWER))
+# define KEY_POWER 116
#endif
-#if defined(KEY_KPEQUAL) || (defined(HAVE_DECL_KEY_KPEQUAL) && HAVE_DECL_KEY_KPEQUAL)
- XLAT(KEY_KPEQUAL),
+#if !(defined(KEY_KPEQUAL) || (defined(HAVE_DECL_KEY_KPEQUAL) && HAVE_DECL_KEY_KPEQUAL))
+# define KEY_KPEQUAL 117
#endif
-#if defined(KEY_KPPLUSMINUS) || (defined(HAVE_DECL_KEY_KPPLUSMINUS) && HAVE_DECL_KEY_KPPLUSMINUS)
- XLAT(KEY_KPPLUSMINUS),
+#if !(defined(KEY_KPPLUSMINUS) || (defined(HAVE_DECL_KEY_KPPLUSMINUS) && HAVE_DECL_KEY_KPPLUSMINUS))
+# define KEY_KPPLUSMINUS 118
#endif
-#if defined(KEY_PAUSE) || (defined(HAVE_DECL_KEY_PAUSE) && HAVE_DECL_KEY_PAUSE)
- XLAT(KEY_PAUSE),
+#if !(defined(KEY_PAUSE) || (defined(HAVE_DECL_KEY_PAUSE) && HAVE_DECL_KEY_PAUSE))
+# define KEY_PAUSE 119
#endif
-#if defined(KEY_SCALE) || (defined(HAVE_DECL_KEY_SCALE) && HAVE_DECL_KEY_SCALE)
- XLAT(KEY_SCALE),
+#if !(defined(KEY_SCALE) || (defined(HAVE_DECL_KEY_SCALE) && HAVE_DECL_KEY_SCALE))
+# define KEY_SCALE 120
#endif
-
-#if defined(KEY_KPCOMMA) || (defined(HAVE_DECL_KEY_KPCOMMA) && HAVE_DECL_KEY_KPCOMMA)
- XLAT(KEY_KPCOMMA),
+#if !(defined(KEY_KPCOMMA) || (defined(HAVE_DECL_KEY_KPCOMMA) && HAVE_DECL_KEY_KPCOMMA))
+# define KEY_KPCOMMA 121
#endif
-#if defined(KEY_HANGEUL) || (defined(HAVE_DECL_KEY_HANGEUL) && HAVE_DECL_KEY_HANGEUL)
- XLAT(KEY_HANGEUL),
+#if !(defined(KEY_HANGEUL) || (defined(HAVE_DECL_KEY_HANGEUL) && HAVE_DECL_KEY_HANGEUL))
+# define KEY_HANGEUL 122
#endif
-#if defined(KEY_HANGUEL) || (defined(HAVE_DECL_KEY_HANGUEL) && HAVE_DECL_KEY_HANGUEL)
- XLAT(KEY_HANGUEL),
+#if !(defined(KEY_HANJA) || (defined(HAVE_DECL_KEY_HANJA) && HAVE_DECL_KEY_HANJA))
+# define KEY_HANJA 123
#endif
-#if defined(KEY_HANJA) || (defined(HAVE_DECL_KEY_HANJA) && HAVE_DECL_KEY_HANJA)
- XLAT(KEY_HANJA),
+#if !(defined(KEY_YEN) || (defined(HAVE_DECL_KEY_YEN) && HAVE_DECL_KEY_YEN))
+# define KEY_YEN 124
#endif
-#if defined(KEY_YEN) || (defined(HAVE_DECL_KEY_YEN) && HAVE_DECL_KEY_YEN)
- XLAT(KEY_YEN),
+#if !(defined(KEY_LEFTMETA) || (defined(HAVE_DECL_KEY_LEFTMETA) && HAVE_DECL_KEY_LEFTMETA))
+# define KEY_LEFTMETA 125
#endif
-#if defined(KEY_LEFTMETA) || (defined(HAVE_DECL_KEY_LEFTMETA) && HAVE_DECL_KEY_LEFTMETA)
- XLAT(KEY_LEFTMETA),
+#if !(defined(KEY_RIGHTMETA) || (defined(HAVE_DECL_KEY_RIGHTMETA) && HAVE_DECL_KEY_RIGHTMETA))
+# define KEY_RIGHTMETA 126
#endif
-#if defined(KEY_RIGHTMETA) || (defined(HAVE_DECL_KEY_RIGHTMETA) && HAVE_DECL_KEY_RIGHTMETA)
- XLAT(KEY_RIGHTMETA),
+#if !(defined(KEY_COMPOSE) || (defined(HAVE_DECL_KEY_COMPOSE) && HAVE_DECL_KEY_COMPOSE))
+# define KEY_COMPOSE 127
#endif
-#if defined(KEY_COMPOSE) || (defined(HAVE_DECL_KEY_COMPOSE) && HAVE_DECL_KEY_COMPOSE)
- XLAT(KEY_COMPOSE),
+#if !(defined(KEY_STOP) || (defined(HAVE_DECL_KEY_STOP) && HAVE_DECL_KEY_STOP))
+# define KEY_STOP 128
#endif
-
-#if defined(KEY_STOP) || (defined(HAVE_DECL_KEY_STOP) && HAVE_DECL_KEY_STOP)
- XLAT(KEY_STOP),
+#if !(defined(KEY_AGAIN) || (defined(HAVE_DECL_KEY_AGAIN) && HAVE_DECL_KEY_AGAIN))
+# define KEY_AGAIN 129
#endif
-#if defined(KEY_AGAIN) || (defined(HAVE_DECL_KEY_AGAIN) && HAVE_DECL_KEY_AGAIN)
- XLAT(KEY_AGAIN),
+#if !(defined(KEY_PROPS) || (defined(HAVE_DECL_KEY_PROPS) && HAVE_DECL_KEY_PROPS))
+# define KEY_PROPS 130
#endif
-#if defined(KEY_PROPS) || (defined(HAVE_DECL_KEY_PROPS) && HAVE_DECL_KEY_PROPS)
- XLAT(KEY_PROPS),
+#if !(defined(KEY_UNDO) || (defined(HAVE_DECL_KEY_UNDO) && HAVE_DECL_KEY_UNDO))
+# define KEY_UNDO 131
#endif
-#if defined(KEY_UNDO) || (defined(HAVE_DECL_KEY_UNDO) && HAVE_DECL_KEY_UNDO)
- XLAT(KEY_UNDO),
+#if !(defined(KEY_FRONT) || (defined(HAVE_DECL_KEY_FRONT) && HAVE_DECL_KEY_FRONT))
+# define KEY_FRONT 132
#endif
-#if defined(KEY_FRONT) || (defined(HAVE_DECL_KEY_FRONT) && HAVE_DECL_KEY_FRONT)
- XLAT(KEY_FRONT),
+#if !(defined(KEY_COPY) || (defined(HAVE_DECL_KEY_COPY) && HAVE_DECL_KEY_COPY))
+# define KEY_COPY 133
#endif
-#if defined(KEY_COPY) || (defined(HAVE_DECL_KEY_COPY) && HAVE_DECL_KEY_COPY)
- XLAT(KEY_COPY),
+#if !(defined(KEY_OPEN) || (defined(HAVE_DECL_KEY_OPEN) && HAVE_DECL_KEY_OPEN))
+# define KEY_OPEN 134
#endif
-#if defined(KEY_OPEN) || (defined(HAVE_DECL_KEY_OPEN) && HAVE_DECL_KEY_OPEN)
- XLAT(KEY_OPEN),
+#if !(defined(KEY_PASTE) || (defined(HAVE_DECL_KEY_PASTE) && HAVE_DECL_KEY_PASTE))
+# define KEY_PASTE 135
#endif
-#if defined(KEY_PASTE) || (defined(HAVE_DECL_KEY_PASTE) && HAVE_DECL_KEY_PASTE)
- XLAT(KEY_PASTE),
+#if !(defined(KEY_FIND) || (defined(HAVE_DECL_KEY_FIND) && HAVE_DECL_KEY_FIND))
+# define KEY_FIND 136
#endif
-#if defined(KEY_FIND) || (defined(HAVE_DECL_KEY_FIND) && HAVE_DECL_KEY_FIND)
- XLAT(KEY_FIND),
+#if !(defined(KEY_CUT) || (defined(HAVE_DECL_KEY_CUT) && HAVE_DECL_KEY_CUT))
+# define KEY_CUT 137
#endif
-#if defined(KEY_CUT) || (defined(HAVE_DECL_KEY_CUT) && HAVE_DECL_KEY_CUT)
- XLAT(KEY_CUT),
+#if !(defined(KEY_HELP) || (defined(HAVE_DECL_KEY_HELP) && HAVE_DECL_KEY_HELP))
+# define KEY_HELP 138
#endif
-#if defined(KEY_HELP) || (defined(HAVE_DECL_KEY_HELP) && HAVE_DECL_KEY_HELP)
- XLAT(KEY_HELP),
+#if !(defined(KEY_MENU) || (defined(HAVE_DECL_KEY_MENU) && HAVE_DECL_KEY_MENU))
+# define KEY_MENU 139
#endif
-#if defined(KEY_MENU) || (defined(HAVE_DECL_KEY_MENU) && HAVE_DECL_KEY_MENU)
- XLAT(KEY_MENU),
+#if !(defined(KEY_CALC) || (defined(HAVE_DECL_KEY_CALC) && HAVE_DECL_KEY_CALC))
+# define KEY_CALC 140
#endif
-#if defined(KEY_CALC) || (defined(HAVE_DECL_KEY_CALC) && HAVE_DECL_KEY_CALC)
- XLAT(KEY_CALC),
+#if !(defined(KEY_SETUP) || (defined(HAVE_DECL_KEY_SETUP) && HAVE_DECL_KEY_SETUP))
+# define KEY_SETUP 141
#endif
-#if defined(KEY_SETUP) || (defined(HAVE_DECL_KEY_SETUP) && HAVE_DECL_KEY_SETUP)
- XLAT(KEY_SETUP),
+#if !(defined(KEY_SLEEP) || (defined(HAVE_DECL_KEY_SLEEP) && HAVE_DECL_KEY_SLEEP))
+# define KEY_SLEEP 142
#endif
-#if defined(KEY_SLEEP) || (defined(HAVE_DECL_KEY_SLEEP) && HAVE_DECL_KEY_SLEEP)
- XLAT(KEY_SLEEP),
+#if !(defined(KEY_WAKEUP) || (defined(HAVE_DECL_KEY_WAKEUP) && HAVE_DECL_KEY_WAKEUP))
+# define KEY_WAKEUP 143
#endif
-#if defined(KEY_WAKEUP) || (defined(HAVE_DECL_KEY_WAKEUP) && HAVE_DECL_KEY_WAKEUP)
- XLAT(KEY_WAKEUP),
+#if !(defined(KEY_FILE) || (defined(HAVE_DECL_KEY_FILE) && HAVE_DECL_KEY_FILE))
+# define KEY_FILE 144
#endif
-#if defined(KEY_FILE) || (defined(HAVE_DECL_KEY_FILE) && HAVE_DECL_KEY_FILE)
- XLAT(KEY_FILE),
+#if !(defined(KEY_SENDFILE) || (defined(HAVE_DECL_KEY_SENDFILE) && HAVE_DECL_KEY_SENDFILE))
+# define KEY_SENDFILE 145
#endif
-#if defined(KEY_SENDFILE) || (defined(HAVE_DECL_KEY_SENDFILE) && HAVE_DECL_KEY_SENDFILE)
- XLAT(KEY_SENDFILE),
+#if !(defined(KEY_DELETEFILE) || (defined(HAVE_DECL_KEY_DELETEFILE) && HAVE_DECL_KEY_DELETEFILE))
+# define KEY_DELETEFILE 146
#endif
-#if defined(KEY_DELETEFILE) || (defined(HAVE_DECL_KEY_DELETEFILE) && HAVE_DECL_KEY_DELETEFILE)
- XLAT(KEY_DELETEFILE),
+#if !(defined(KEY_XFER) || (defined(HAVE_DECL_KEY_XFER) && HAVE_DECL_KEY_XFER))
+# define KEY_XFER 147
#endif
-#if defined(KEY_XFER) || (defined(HAVE_DECL_KEY_XFER) && HAVE_DECL_KEY_XFER)
- XLAT(KEY_XFER),
+#if !(defined(KEY_PROG1) || (defined(HAVE_DECL_KEY_PROG1) && HAVE_DECL_KEY_PROG1))
+# define KEY_PROG1 148
#endif
-#if defined(KEY_PROG1) || (defined(HAVE_DECL_KEY_PROG1) && HAVE_DECL_KEY_PROG1)
- XLAT(KEY_PROG1),
+#if !(defined(KEY_PROG2) || (defined(HAVE_DECL_KEY_PROG2) && HAVE_DECL_KEY_PROG2))
+# define KEY_PROG2 149
#endif
-#if defined(KEY_PROG2) || (defined(HAVE_DECL_KEY_PROG2) && HAVE_DECL_KEY_PROG2)
- XLAT(KEY_PROG2),
+#if !(defined(KEY_WWW) || (defined(HAVE_DECL_KEY_WWW) && HAVE_DECL_KEY_WWW))
+# define KEY_WWW 150
#endif
-#if defined(KEY_WWW) || (defined(HAVE_DECL_KEY_WWW) && HAVE_DECL_KEY_WWW)
- XLAT(KEY_WWW),
+#if !(defined(KEY_MSDOS) || (defined(HAVE_DECL_KEY_MSDOS) && HAVE_DECL_KEY_MSDOS))
+# define KEY_MSDOS 151
#endif
-#if defined(KEY_MSDOS) || (defined(HAVE_DECL_KEY_MSDOS) && HAVE_DECL_KEY_MSDOS)
- XLAT(KEY_MSDOS),
+#if !(defined(KEY_COFFEE) || (defined(HAVE_DECL_KEY_COFFEE) && HAVE_DECL_KEY_COFFEE))
+# define KEY_COFFEE 152
#endif
-#if defined(KEY_COFFEE) || (defined(HAVE_DECL_KEY_COFFEE) && HAVE_DECL_KEY_COFFEE)
- XLAT(KEY_COFFEE),
+#if !(defined(KEY_ROTATE_DISPLAY) || (defined(HAVE_DECL_KEY_ROTATE_DISPLAY) && HAVE_DECL_KEY_ROTATE_DISPLAY))
+# define KEY_ROTATE_DISPLAY 153
#endif
-#if defined(KEY_ROTATE_DISPLAY) || (defined(HAVE_DECL_KEY_ROTATE_DISPLAY) && HAVE_DECL_KEY_ROTATE_DISPLAY)
- XLAT(KEY_ROTATE_DISPLAY),
+#if !(defined(KEY_CYCLEWINDOWS) || (defined(HAVE_DECL_KEY_CYCLEWINDOWS) && HAVE_DECL_KEY_CYCLEWINDOWS))
+# define KEY_CYCLEWINDOWS 154
#endif
-#if defined(KEY_DIRECTION) || (defined(HAVE_DECL_KEY_DIRECTION) && HAVE_DECL_KEY_DIRECTION)
- XLAT(KEY_DIRECTION),
+#if !(defined(KEY_MAIL) || (defined(HAVE_DECL_KEY_MAIL) && HAVE_DECL_KEY_MAIL))
+# define KEY_MAIL 155
#endif
-#if defined(KEY_CYCLEWINDOWS) || (defined(HAVE_DECL_KEY_CYCLEWINDOWS) && HAVE_DECL_KEY_CYCLEWINDOWS)
- XLAT(KEY_CYCLEWINDOWS),
+#if !(defined(KEY_BOOKMARKS) || (defined(HAVE_DECL_KEY_BOOKMARKS) && HAVE_DECL_KEY_BOOKMARKS))
+# define KEY_BOOKMARKS 156
#endif
-#if defined(KEY_MAIL) || (defined(HAVE_DECL_KEY_MAIL) && HAVE_DECL_KEY_MAIL)
- XLAT(KEY_MAIL),
+#if !(defined(KEY_COMPUTER) || (defined(HAVE_DECL_KEY_COMPUTER) && HAVE_DECL_KEY_COMPUTER))
+# define KEY_COMPUTER 157
#endif
-#if defined(KEY_BOOKMARKS) || (defined(HAVE_DECL_KEY_BOOKMARKS) && HAVE_DECL_KEY_BOOKMARKS)
- XLAT(KEY_BOOKMARKS),
+#if !(defined(KEY_BACK) || (defined(HAVE_DECL_KEY_BACK) && HAVE_DECL_KEY_BACK))
+# define KEY_BACK 158
#endif
-#if defined(KEY_COMPUTER) || (defined(HAVE_DECL_KEY_COMPUTER) && HAVE_DECL_KEY_COMPUTER)
- XLAT(KEY_COMPUTER),
+#if !(defined(KEY_FORWARD) || (defined(HAVE_DECL_KEY_FORWARD) && HAVE_DECL_KEY_FORWARD))
+# define KEY_FORWARD 159
#endif
-#if defined(KEY_BACK) || (defined(HAVE_DECL_KEY_BACK) && HAVE_DECL_KEY_BACK)
- XLAT(KEY_BACK),
+#if !(defined(KEY_CLOSECD) || (defined(HAVE_DECL_KEY_CLOSECD) && HAVE_DECL_KEY_CLOSECD))
+# define KEY_CLOSECD 160
#endif
-#if defined(KEY_FORWARD) || (defined(HAVE_DECL_KEY_FORWARD) && HAVE_DECL_KEY_FORWARD)
- XLAT(KEY_FORWARD),
+#if !(defined(KEY_EJECTCD) || (defined(HAVE_DECL_KEY_EJECTCD) && HAVE_DECL_KEY_EJECTCD))
+# define KEY_EJECTCD 161
#endif
-#if defined(KEY_CLOSECD) || (defined(HAVE_DECL_KEY_CLOSECD) && HAVE_DECL_KEY_CLOSECD)
- XLAT(KEY_CLOSECD),
+#if !(defined(KEY_EJECTCLOSECD) || (defined(HAVE_DECL_KEY_EJECTCLOSECD) && HAVE_DECL_KEY_EJECTCLOSECD))
+# define KEY_EJECTCLOSECD 162
#endif
-#if defined(KEY_EJECTCD) || (defined(HAVE_DECL_KEY_EJECTCD) && HAVE_DECL_KEY_EJECTCD)
- XLAT(KEY_EJECTCD),
+#if !(defined(KEY_NEXTSONG) || (defined(HAVE_DECL_KEY_NEXTSONG) && HAVE_DECL_KEY_NEXTSONG))
+# define KEY_NEXTSONG 163
#endif
-#if defined(KEY_EJECTCLOSECD) || (defined(HAVE_DECL_KEY_EJECTCLOSECD) && HAVE_DECL_KEY_EJECTCLOSECD)
- XLAT(KEY_EJECTCLOSECD),
+#if !(defined(KEY_PLAYPAUSE) || (defined(HAVE_DECL_KEY_PLAYPAUSE) && HAVE_DECL_KEY_PLAYPAUSE))
+# define KEY_PLAYPAUSE 164
#endif
-#if defined(KEY_NEXTSONG) || (defined(HAVE_DECL_KEY_NEXTSONG) && HAVE_DECL_KEY_NEXTSONG)
- XLAT(KEY_NEXTSONG),
+#if !(defined(KEY_PREVIOUSSONG) || (defined(HAVE_DECL_KEY_PREVIOUSSONG) && HAVE_DECL_KEY_PREVIOUSSONG))
+# define KEY_PREVIOUSSONG 165
#endif
-#if defined(KEY_PLAYPAUSE) || (defined(HAVE_DECL_KEY_PLAYPAUSE) && HAVE_DECL_KEY_PLAYPAUSE)
- XLAT(KEY_PLAYPAUSE),
+#if !(defined(KEY_STOPCD) || (defined(HAVE_DECL_KEY_STOPCD) && HAVE_DECL_KEY_STOPCD))
+# define KEY_STOPCD 166
#endif
-#if defined(KEY_PREVIOUSSONG) || (defined(HAVE_DECL_KEY_PREVIOUSSONG) && HAVE_DECL_KEY_PREVIOUSSONG)
- XLAT(KEY_PREVIOUSSONG),
+#if !(defined(KEY_RECORD) || (defined(HAVE_DECL_KEY_RECORD) && HAVE_DECL_KEY_RECORD))
+# define KEY_RECORD 167
#endif
-#if defined(KEY_STOPCD) || (defined(HAVE_DECL_KEY_STOPCD) && HAVE_DECL_KEY_STOPCD)
- XLAT(KEY_STOPCD),
+#if !(defined(KEY_REWIND) || (defined(HAVE_DECL_KEY_REWIND) && HAVE_DECL_KEY_REWIND))
+# define KEY_REWIND 168
#endif
-#if defined(KEY_RECORD) || (defined(HAVE_DECL_KEY_RECORD) && HAVE_DECL_KEY_RECORD)
- XLAT(KEY_RECORD),
+#if !(defined(KEY_PHONE) || (defined(HAVE_DECL_KEY_PHONE) && HAVE_DECL_KEY_PHONE))
+# define KEY_PHONE 169
#endif
-#if defined(KEY_REWIND) || (defined(HAVE_DECL_KEY_REWIND) && HAVE_DECL_KEY_REWIND)
- XLAT(KEY_REWIND),
+#if !(defined(KEY_ISO) || (defined(HAVE_DECL_KEY_ISO) && HAVE_DECL_KEY_ISO))
+# define KEY_ISO 170
#endif
-#if defined(KEY_PHONE) || (defined(HAVE_DECL_KEY_PHONE) && HAVE_DECL_KEY_PHONE)
- XLAT(KEY_PHONE),
+#if !(defined(KEY_CONFIG) || (defined(HAVE_DECL_KEY_CONFIG) && HAVE_DECL_KEY_CONFIG))
+# define KEY_CONFIG 171
#endif
-#if defined(KEY_ISO) || (defined(HAVE_DECL_KEY_ISO) && HAVE_DECL_KEY_ISO)
- XLAT(KEY_ISO),
+#if !(defined(KEY_HOMEPAGE) || (defined(HAVE_DECL_KEY_HOMEPAGE) && HAVE_DECL_KEY_HOMEPAGE))
+# define KEY_HOMEPAGE 172
#endif
-#if defined(KEY_CONFIG) || (defined(HAVE_DECL_KEY_CONFIG) && HAVE_DECL_KEY_CONFIG)
- XLAT(KEY_CONFIG),
+#if !(defined(KEY_REFRESH) || (defined(HAVE_DECL_KEY_REFRESH) && HAVE_DECL_KEY_REFRESH))
+# define KEY_REFRESH 173
#endif
-#if defined(KEY_HOMEPAGE) || (defined(HAVE_DECL_KEY_HOMEPAGE) && HAVE_DECL_KEY_HOMEPAGE)
- XLAT(KEY_HOMEPAGE),
+#if !(defined(KEY_EXIT) || (defined(HAVE_DECL_KEY_EXIT) && HAVE_DECL_KEY_EXIT))
+# define KEY_EXIT 174
#endif
-#if defined(KEY_REFRESH) || (defined(HAVE_DECL_KEY_REFRESH) && HAVE_DECL_KEY_REFRESH)
- XLAT(KEY_REFRESH),
+#if !(defined(KEY_MOVE) || (defined(HAVE_DECL_KEY_MOVE) && HAVE_DECL_KEY_MOVE))
+# define KEY_MOVE 175
#endif
-#if defined(KEY_EXIT) || (defined(HAVE_DECL_KEY_EXIT) && HAVE_DECL_KEY_EXIT)
- XLAT(KEY_EXIT),
+#if !(defined(KEY_EDIT) || (defined(HAVE_DECL_KEY_EDIT) && HAVE_DECL_KEY_EDIT))
+# define KEY_EDIT 176
#endif
-#if defined(KEY_MOVE) || (defined(HAVE_DECL_KEY_MOVE) && HAVE_DECL_KEY_MOVE)
- XLAT(KEY_MOVE),
+#if !(defined(KEY_SCROLLUP) || (defined(HAVE_DECL_KEY_SCROLLUP) && HAVE_DECL_KEY_SCROLLUP))
+# define KEY_SCROLLUP 177
#endif
-#if defined(KEY_EDIT) || (defined(HAVE_DECL_KEY_EDIT) && HAVE_DECL_KEY_EDIT)
- XLAT(KEY_EDIT),
+#if !(defined(KEY_SCROLLDOWN) || (defined(HAVE_DECL_KEY_SCROLLDOWN) && HAVE_DECL_KEY_SCROLLDOWN))
+# define KEY_SCROLLDOWN 178
#endif
-#if defined(KEY_SCROLLUP) || (defined(HAVE_DECL_KEY_SCROLLUP) && HAVE_DECL_KEY_SCROLLUP)
- XLAT(KEY_SCROLLUP),
+#if !(defined(KEY_KPLEFTPAREN) || (defined(HAVE_DECL_KEY_KPLEFTPAREN) && HAVE_DECL_KEY_KPLEFTPAREN))
+# define KEY_KPLEFTPAREN 179
#endif
-#if defined(KEY_SCROLLDOWN) || (defined(HAVE_DECL_KEY_SCROLLDOWN) && HAVE_DECL_KEY_SCROLLDOWN)
- XLAT(KEY_SCROLLDOWN),
+#if !(defined(KEY_KPRIGHTPAREN) || (defined(HAVE_DECL_KEY_KPRIGHTPAREN) && HAVE_DECL_KEY_KPRIGHTPAREN))
+# define KEY_KPRIGHTPAREN 180
#endif
-#if defined(KEY_KPLEFTPAREN) || (defined(HAVE_DECL_KEY_KPLEFTPAREN) && HAVE_DECL_KEY_KPLEFTPAREN)
- XLAT(KEY_KPLEFTPAREN),
+#if !(defined(KEY_NEW) || (defined(HAVE_DECL_KEY_NEW) && HAVE_DECL_KEY_NEW))
+# define KEY_NEW 181
#endif
-#if defined(KEY_KPRIGHTPAREN) || (defined(HAVE_DECL_KEY_KPRIGHTPAREN) && HAVE_DECL_KEY_KPRIGHTPAREN)
- XLAT(KEY_KPRIGHTPAREN),
+#if !(defined(KEY_REDO) || (defined(HAVE_DECL_KEY_REDO) && HAVE_DECL_KEY_REDO))
+# define KEY_REDO 182
#endif
-#if defined(KEY_NEW) || (defined(HAVE_DECL_KEY_NEW) && HAVE_DECL_KEY_NEW)
- XLAT(KEY_NEW),
+#if !(defined(KEY_F13) || (defined(HAVE_DECL_KEY_F13) && HAVE_DECL_KEY_F13))
+# define KEY_F13 183
#endif
-#if defined(KEY_REDO) || (defined(HAVE_DECL_KEY_REDO) && HAVE_DECL_KEY_REDO)
- XLAT(KEY_REDO),
+#if !(defined(KEY_F14) || (defined(HAVE_DECL_KEY_F14) && HAVE_DECL_KEY_F14))
+# define KEY_F14 184
#endif
-
-#if defined(KEY_F13) || (defined(HAVE_DECL_KEY_F13) && HAVE_DECL_KEY_F13)
- XLAT(KEY_F13),
+#if !(defined(KEY_F15) || (defined(HAVE_DECL_KEY_F15) && HAVE_DECL_KEY_F15))
+# define KEY_F15 185
#endif
-#if defined(KEY_F14) || (defined(HAVE_DECL_KEY_F14) && HAVE_DECL_KEY_F14)
- XLAT(KEY_F14),
+#if !(defined(KEY_F16) || (defined(HAVE_DECL_KEY_F16) && HAVE_DECL_KEY_F16))
+# define KEY_F16 186
#endif
-#if defined(KEY_F15) || (defined(HAVE_DECL_KEY_F15) && HAVE_DECL_KEY_F15)
- XLAT(KEY_F15),
+#if !(defined(KEY_F17) || (defined(HAVE_DECL_KEY_F17) && HAVE_DECL_KEY_F17))
+# define KEY_F17 187
#endif
-#if defined(KEY_F16) || (defined(HAVE_DECL_KEY_F16) && HAVE_DECL_KEY_F16)
- XLAT(KEY_F16),
+#if !(defined(KEY_F18) || (defined(HAVE_DECL_KEY_F18) && HAVE_DECL_KEY_F18))
+# define KEY_F18 188
#endif
-#if defined(KEY_F17) || (defined(HAVE_DECL_KEY_F17) && HAVE_DECL_KEY_F17)
- XLAT(KEY_F17),
+#if !(defined(KEY_F19) || (defined(HAVE_DECL_KEY_F19) && HAVE_DECL_KEY_F19))
+# define KEY_F19 189
#endif
-#if defined(KEY_F18) || (defined(HAVE_DECL_KEY_F18) && HAVE_DECL_KEY_F18)
- XLAT(KEY_F18),
+#if !(defined(KEY_F20) || (defined(HAVE_DECL_KEY_F20) && HAVE_DECL_KEY_F20))
+# define KEY_F20 190
#endif
-#if defined(KEY_F19) || (defined(HAVE_DECL_KEY_F19) && HAVE_DECL_KEY_F19)
- XLAT(KEY_F19),
+#if !(defined(KEY_F21) || (defined(HAVE_DECL_KEY_F21) && HAVE_DECL_KEY_F21))
+# define KEY_F21 191
#endif
-#if defined(KEY_F20) || (defined(HAVE_DECL_KEY_F20) && HAVE_DECL_KEY_F20)
- XLAT(KEY_F20),
+#if !(defined(KEY_F22) || (defined(HAVE_DECL_KEY_F22) && HAVE_DECL_KEY_F22))
+# define KEY_F22 192
#endif
-#if defined(KEY_F21) || (defined(HAVE_DECL_KEY_F21) && HAVE_DECL_KEY_F21)
- XLAT(KEY_F21),
+#if !(defined(KEY_F23) || (defined(HAVE_DECL_KEY_F23) && HAVE_DECL_KEY_F23))
+# define KEY_F23 193
#endif
-#if defined(KEY_F22) || (defined(HAVE_DECL_KEY_F22) && HAVE_DECL_KEY_F22)
- XLAT(KEY_F22),
+#if !(defined(KEY_F24) || (defined(HAVE_DECL_KEY_F24) && HAVE_DECL_KEY_F24))
+# define KEY_F24 194
#endif
-#if defined(KEY_F23) || (defined(HAVE_DECL_KEY_F23) && HAVE_DECL_KEY_F23)
- XLAT(KEY_F23),
+#if !(defined(KEY_PLAYCD) || (defined(HAVE_DECL_KEY_PLAYCD) && HAVE_DECL_KEY_PLAYCD))
+# define KEY_PLAYCD 200
#endif
-#if defined(KEY_F24) || (defined(HAVE_DECL_KEY_F24) && HAVE_DECL_KEY_F24)
- XLAT(KEY_F24),
+#if !(defined(KEY_PAUSECD) || (defined(HAVE_DECL_KEY_PAUSECD) && HAVE_DECL_KEY_PAUSECD))
+# define KEY_PAUSECD 201
#endif
-
-#if defined(KEY_PLAYCD) || (defined(HAVE_DECL_KEY_PLAYCD) && HAVE_DECL_KEY_PLAYCD)
- XLAT(KEY_PLAYCD),
+#if !(defined(KEY_PROG3) || (defined(HAVE_DECL_KEY_PROG3) && HAVE_DECL_KEY_PROG3))
+# define KEY_PROG3 202
#endif
-#if defined(KEY_PAUSECD) || (defined(HAVE_DECL_KEY_PAUSECD) && HAVE_DECL_KEY_PAUSECD)
- XLAT(KEY_PAUSECD),
+#if !(defined(KEY_PROG4) || (defined(HAVE_DECL_KEY_PROG4) && HAVE_DECL_KEY_PROG4))
+# define KEY_PROG4 203
#endif
-#if defined(KEY_PROG3) || (defined(HAVE_DECL_KEY_PROG3) && HAVE_DECL_KEY_PROG3)
- XLAT(KEY_PROG3),
+#if !(defined(KEY_DASHBOARD) || (defined(HAVE_DECL_KEY_DASHBOARD) && HAVE_DECL_KEY_DASHBOARD))
+# define KEY_DASHBOARD 204
#endif
-#if defined(KEY_PROG4) || (defined(HAVE_DECL_KEY_PROG4) && HAVE_DECL_KEY_PROG4)
- XLAT(KEY_PROG4),
+#if !(defined(KEY_SUSPEND) || (defined(HAVE_DECL_KEY_SUSPEND) && HAVE_DECL_KEY_SUSPEND))
+# define KEY_SUSPEND 205
#endif
-#if defined(KEY_DASHBOARD) || (defined(HAVE_DECL_KEY_DASHBOARD) && HAVE_DECL_KEY_DASHBOARD)
- XLAT(KEY_DASHBOARD),
+#if !(defined(KEY_CLOSE) || (defined(HAVE_DECL_KEY_CLOSE) && HAVE_DECL_KEY_CLOSE))
+# define KEY_CLOSE 206
#endif
-#if defined(KEY_SUSPEND) || (defined(HAVE_DECL_KEY_SUSPEND) && HAVE_DECL_KEY_SUSPEND)
- XLAT(KEY_SUSPEND),
+#if !(defined(KEY_PLAY) || (defined(HAVE_DECL_KEY_PLAY) && HAVE_DECL_KEY_PLAY))
+# define KEY_PLAY 207
#endif
-#if defined(KEY_CLOSE) || (defined(HAVE_DECL_KEY_CLOSE) && HAVE_DECL_KEY_CLOSE)
- XLAT(KEY_CLOSE),
+#if !(defined(KEY_FASTFORWARD) || (defined(HAVE_DECL_KEY_FASTFORWARD) && HAVE_DECL_KEY_FASTFORWARD))
+# define KEY_FASTFORWARD 208
#endif
-#if defined(KEY_PLAY) || (defined(HAVE_DECL_KEY_PLAY) && HAVE_DECL_KEY_PLAY)
- XLAT(KEY_PLAY),
+#if !(defined(KEY_BASSBOOST) || (defined(HAVE_DECL_KEY_BASSBOOST) && HAVE_DECL_KEY_BASSBOOST))
+# define KEY_BASSBOOST 209
#endif
-#if defined(KEY_FASTFORWARD) || (defined(HAVE_DECL_KEY_FASTFORWARD) && HAVE_DECL_KEY_FASTFORWARD)
- XLAT(KEY_FASTFORWARD),
+#if !(defined(KEY_PRINT) || (defined(HAVE_DECL_KEY_PRINT) && HAVE_DECL_KEY_PRINT))
+# define KEY_PRINT 210
#endif
-#if defined(KEY_BASSBOOST) || (defined(HAVE_DECL_KEY_BASSBOOST) && HAVE_DECL_KEY_BASSBOOST)
- XLAT(KEY_BASSBOOST),
+#if !(defined(KEY_HP) || (defined(HAVE_DECL_KEY_HP) && HAVE_DECL_KEY_HP))
+# define KEY_HP 211
#endif
-#if defined(KEY_PRINT) || (defined(HAVE_DECL_KEY_PRINT) && HAVE_DECL_KEY_PRINT)
- XLAT(KEY_PRINT),
+#if !(defined(KEY_CAMERA) || (defined(HAVE_DECL_KEY_CAMERA) && HAVE_DECL_KEY_CAMERA))
+# define KEY_CAMERA 212
#endif
-#if defined(KEY_HP) || (defined(HAVE_DECL_KEY_HP) && HAVE_DECL_KEY_HP)
- XLAT(KEY_HP),
+#if !(defined(KEY_SOUND) || (defined(HAVE_DECL_KEY_SOUND) && HAVE_DECL_KEY_SOUND))
+# define KEY_SOUND 213
#endif
-#if defined(KEY_CAMERA) || (defined(HAVE_DECL_KEY_CAMERA) && HAVE_DECL_KEY_CAMERA)
- XLAT(KEY_CAMERA),
+#if !(defined(KEY_QUESTION) || (defined(HAVE_DECL_KEY_QUESTION) && HAVE_DECL_KEY_QUESTION))
+# define KEY_QUESTION 214
#endif
-#if defined(KEY_SOUND) || (defined(HAVE_DECL_KEY_SOUND) && HAVE_DECL_KEY_SOUND)
- XLAT(KEY_SOUND),
+#if !(defined(KEY_EMAIL) || (defined(HAVE_DECL_KEY_EMAIL) && HAVE_DECL_KEY_EMAIL))
+# define KEY_EMAIL 215
#endif
-#if defined(KEY_QUESTION) || (defined(HAVE_DECL_KEY_QUESTION) && HAVE_DECL_KEY_QUESTION)
- XLAT(KEY_QUESTION),
+#if !(defined(KEY_CHAT) || (defined(HAVE_DECL_KEY_CHAT) && HAVE_DECL_KEY_CHAT))
+# define KEY_CHAT 216
#endif
-#if defined(KEY_EMAIL) || (defined(HAVE_DECL_KEY_EMAIL) && HAVE_DECL_KEY_EMAIL)
- XLAT(KEY_EMAIL),
+#if !(defined(KEY_SEARCH) || (defined(HAVE_DECL_KEY_SEARCH) && HAVE_DECL_KEY_SEARCH))
+# define KEY_SEARCH 217
#endif
-#if defined(KEY_CHAT) || (defined(HAVE_DECL_KEY_CHAT) && HAVE_DECL_KEY_CHAT)
- XLAT(KEY_CHAT),
+#if !(defined(KEY_CONNECT) || (defined(HAVE_DECL_KEY_CONNECT) && HAVE_DECL_KEY_CONNECT))
+# define KEY_CONNECT 218
#endif
-#if defined(KEY_SEARCH) || (defined(HAVE_DECL_KEY_SEARCH) && HAVE_DECL_KEY_SEARCH)
- XLAT(KEY_SEARCH),
+#if !(defined(KEY_FINANCE) || (defined(HAVE_DECL_KEY_FINANCE) && HAVE_DECL_KEY_FINANCE))
+# define KEY_FINANCE 219
#endif
-#if defined(KEY_CONNECT) || (defined(HAVE_DECL_KEY_CONNECT) && HAVE_DECL_KEY_CONNECT)
- XLAT(KEY_CONNECT),
+#if !(defined(KEY_SPORT) || (defined(HAVE_DECL_KEY_SPORT) && HAVE_DECL_KEY_SPORT))
+# define KEY_SPORT 220
#endif
-#if defined(KEY_FINANCE) || (defined(HAVE_DECL_KEY_FINANCE) && HAVE_DECL_KEY_FINANCE)
- XLAT(KEY_FINANCE),
+#if !(defined(KEY_SHOP) || (defined(HAVE_DECL_KEY_SHOP) && HAVE_DECL_KEY_SHOP))
+# define KEY_SHOP 221
#endif
-#if defined(KEY_SPORT) || (defined(HAVE_DECL_KEY_SPORT) && HAVE_DECL_KEY_SPORT)
- XLAT(KEY_SPORT),
+#if !(defined(KEY_ALTERASE) || (defined(HAVE_DECL_KEY_ALTERASE) && HAVE_DECL_KEY_ALTERASE))
+# define KEY_ALTERASE 222
#endif
-#if defined(KEY_SHOP) || (defined(HAVE_DECL_KEY_SHOP) && HAVE_DECL_KEY_SHOP)
- XLAT(KEY_SHOP),
+#if !(defined(KEY_CANCEL) || (defined(HAVE_DECL_KEY_CANCEL) && HAVE_DECL_KEY_CANCEL))
+# define KEY_CANCEL 223
#endif
-#if defined(KEY_ALTERASE) || (defined(HAVE_DECL_KEY_ALTERASE) && HAVE_DECL_KEY_ALTERASE)
- XLAT(KEY_ALTERASE),
+#if !(defined(KEY_BRIGHTNESSDOWN) || (defined(HAVE_DECL_KEY_BRIGHTNESSDOWN) && HAVE_DECL_KEY_BRIGHTNESSDOWN))
+# define KEY_BRIGHTNESSDOWN 224
#endif
-#if defined(KEY_CANCEL) || (defined(HAVE_DECL_KEY_CANCEL) && HAVE_DECL_KEY_CANCEL)
- XLAT(KEY_CANCEL),
+#if !(defined(KEY_BRIGHTNESSUP) || (defined(HAVE_DECL_KEY_BRIGHTNESSUP) && HAVE_DECL_KEY_BRIGHTNESSUP))
+# define KEY_BRIGHTNESSUP 225
#endif
-#if defined(KEY_BRIGHTNESSDOWN) || (defined(HAVE_DECL_KEY_BRIGHTNESSDOWN) && HAVE_DECL_KEY_BRIGHTNESSDOWN)
- XLAT(KEY_BRIGHTNESSDOWN),
+#if !(defined(KEY_MEDIA) || (defined(HAVE_DECL_KEY_MEDIA) && HAVE_DECL_KEY_MEDIA))
+# define KEY_MEDIA 226
#endif
-#if defined(KEY_BRIGHTNESSUP) || (defined(HAVE_DECL_KEY_BRIGHTNESSUP) && HAVE_DECL_KEY_BRIGHTNESSUP)
- XLAT(KEY_BRIGHTNESSUP),
+#if !(defined(KEY_SWITCHVIDEOMODE) || (defined(HAVE_DECL_KEY_SWITCHVIDEOMODE) && HAVE_DECL_KEY_SWITCHVIDEOMODE))
+# define KEY_SWITCHVIDEOMODE 227
#endif
-#if defined(KEY_MEDIA) || (defined(HAVE_DECL_KEY_MEDIA) && HAVE_DECL_KEY_MEDIA)
- XLAT(KEY_MEDIA),
+#if !(defined(KEY_KBDILLUMTOGGLE) || (defined(HAVE_DECL_KEY_KBDILLUMTOGGLE) && HAVE_DECL_KEY_KBDILLUMTOGGLE))
+# define KEY_KBDILLUMTOGGLE 228
#endif
-
-#if defined(KEY_SWITCHVIDEOMODE) || (defined(HAVE_DECL_KEY_SWITCHVIDEOMODE) && HAVE_DECL_KEY_SWITCHVIDEOMODE)
- XLAT(KEY_SWITCHVIDEOMODE),
+#if !(defined(KEY_KBDILLUMDOWN) || (defined(HAVE_DECL_KEY_KBDILLUMDOWN) && HAVE_DECL_KEY_KBDILLUMDOWN))
+# define KEY_KBDILLUMDOWN 229
#endif
-
-#if defined(KEY_KBDILLUMTOGGLE) || (defined(HAVE_DECL_KEY_KBDILLUMTOGGLE) && HAVE_DECL_KEY_KBDILLUMTOGGLE)
- XLAT(KEY_KBDILLUMTOGGLE),
+#if !(defined(KEY_KBDILLUMUP) || (defined(HAVE_DECL_KEY_KBDILLUMUP) && HAVE_DECL_KEY_KBDILLUMUP))
+# define KEY_KBDILLUMUP 230
#endif
-#if defined(KEY_KBDILLUMDOWN) || (defined(HAVE_DECL_KEY_KBDILLUMDOWN) && HAVE_DECL_KEY_KBDILLUMDOWN)
- XLAT(KEY_KBDILLUMDOWN),
+#if !(defined(KEY_SEND) || (defined(HAVE_DECL_KEY_SEND) && HAVE_DECL_KEY_SEND))
+# define KEY_SEND 231
#endif
-#if defined(KEY_KBDILLUMUP) || (defined(HAVE_DECL_KEY_KBDILLUMUP) && HAVE_DECL_KEY_KBDILLUMUP)
- XLAT(KEY_KBDILLUMUP),
+#if !(defined(KEY_REPLY) || (defined(HAVE_DECL_KEY_REPLY) && HAVE_DECL_KEY_REPLY))
+# define KEY_REPLY 232
#endif
-
-#if defined(KEY_SEND) || (defined(HAVE_DECL_KEY_SEND) && HAVE_DECL_KEY_SEND)
- XLAT(KEY_SEND),
+#if !(defined(KEY_FORWARDMAIL) || (defined(HAVE_DECL_KEY_FORWARDMAIL) && HAVE_DECL_KEY_FORWARDMAIL))
+# define KEY_FORWARDMAIL 233
#endif
-#if defined(KEY_REPLY) || (defined(HAVE_DECL_KEY_REPLY) && HAVE_DECL_KEY_REPLY)
- XLAT(KEY_REPLY),
+#if !(defined(KEY_SAVE) || (defined(HAVE_DECL_KEY_SAVE) && HAVE_DECL_KEY_SAVE))
+# define KEY_SAVE 234
#endif
-#if defined(KEY_FORWARDMAIL) || (defined(HAVE_DECL_KEY_FORWARDMAIL) && HAVE_DECL_KEY_FORWARDMAIL)
- XLAT(KEY_FORWARDMAIL),
+#if !(defined(KEY_DOCUMENTS) || (defined(HAVE_DECL_KEY_DOCUMENTS) && HAVE_DECL_KEY_DOCUMENTS))
+# define KEY_DOCUMENTS 235
#endif
-#if defined(KEY_SAVE) || (defined(HAVE_DECL_KEY_SAVE) && HAVE_DECL_KEY_SAVE)
- XLAT(KEY_SAVE),
+#if !(defined(KEY_BATTERY) || (defined(HAVE_DECL_KEY_BATTERY) && HAVE_DECL_KEY_BATTERY))
+# define KEY_BATTERY 236
#endif
-#if defined(KEY_DOCUMENTS) || (defined(HAVE_DECL_KEY_DOCUMENTS) && HAVE_DECL_KEY_DOCUMENTS)
- XLAT(KEY_DOCUMENTS),
+#if !(defined(KEY_BLUETOOTH) || (defined(HAVE_DECL_KEY_BLUETOOTH) && HAVE_DECL_KEY_BLUETOOTH))
+# define KEY_BLUETOOTH 237
#endif
-
-#if defined(KEY_BATTERY) || (defined(HAVE_DECL_KEY_BATTERY) && HAVE_DECL_KEY_BATTERY)
- XLAT(KEY_BATTERY),
+#if !(defined(KEY_WLAN) || (defined(HAVE_DECL_KEY_WLAN) && HAVE_DECL_KEY_WLAN))
+# define KEY_WLAN 238
#endif
-
-#if defined(KEY_BLUETOOTH) || (defined(HAVE_DECL_KEY_BLUETOOTH) && HAVE_DECL_KEY_BLUETOOTH)
- XLAT(KEY_BLUETOOTH),
+#if !(defined(KEY_UWB) || (defined(HAVE_DECL_KEY_UWB) && HAVE_DECL_KEY_UWB))
+# define KEY_UWB 239
#endif
-#if defined(KEY_WLAN) || (defined(HAVE_DECL_KEY_WLAN) && HAVE_DECL_KEY_WLAN)
- XLAT(KEY_WLAN),
+#if !(defined(KEY_UNKNOWN) || (defined(HAVE_DECL_KEY_UNKNOWN) && HAVE_DECL_KEY_UNKNOWN))
+# define KEY_UNKNOWN 240
#endif
-#if defined(KEY_UWB) || (defined(HAVE_DECL_KEY_UWB) && HAVE_DECL_KEY_UWB)
- XLAT(KEY_UWB),
+#if !(defined(KEY_VIDEO_NEXT) || (defined(HAVE_DECL_KEY_VIDEO_NEXT) && HAVE_DECL_KEY_VIDEO_NEXT))
+# define KEY_VIDEO_NEXT 241
#endif
-
-#if defined(KEY_UNKNOWN) || (defined(HAVE_DECL_KEY_UNKNOWN) && HAVE_DECL_KEY_UNKNOWN)
- XLAT(KEY_UNKNOWN),
+#if !(defined(KEY_VIDEO_PREV) || (defined(HAVE_DECL_KEY_VIDEO_PREV) && HAVE_DECL_KEY_VIDEO_PREV))
+# define KEY_VIDEO_PREV 242
#endif
-
-#if defined(KEY_VIDEO_NEXT) || (defined(HAVE_DECL_KEY_VIDEO_NEXT) && HAVE_DECL_KEY_VIDEO_NEXT)
- XLAT(KEY_VIDEO_NEXT),
+#if !(defined(KEY_BRIGHTNESS_CYCLE) || (defined(HAVE_DECL_KEY_BRIGHTNESS_CYCLE) && HAVE_DECL_KEY_BRIGHTNESS_CYCLE))
+# define KEY_BRIGHTNESS_CYCLE 243
#endif
-#if defined(KEY_VIDEO_PREV) || (defined(HAVE_DECL_KEY_VIDEO_PREV) && HAVE_DECL_KEY_VIDEO_PREV)
- XLAT(KEY_VIDEO_PREV),
+#if !(defined(KEY_BRIGHTNESS_AUTO) || (defined(HAVE_DECL_KEY_BRIGHTNESS_AUTO) && HAVE_DECL_KEY_BRIGHTNESS_AUTO))
+# define KEY_BRIGHTNESS_AUTO 244
#endif
-#if defined(KEY_BRIGHTNESS_CYCLE) || (defined(HAVE_DECL_KEY_BRIGHTNESS_CYCLE) && HAVE_DECL_KEY_BRIGHTNESS_CYCLE)
- XLAT(KEY_BRIGHTNESS_CYCLE),
+#if !(defined(KEY_DISPLAY_OFF) || (defined(HAVE_DECL_KEY_DISPLAY_OFF) && HAVE_DECL_KEY_DISPLAY_OFF))
+# define KEY_DISPLAY_OFF 245
#endif
-#if defined(KEY_BRIGHTNESS_AUTO) || (defined(HAVE_DECL_KEY_BRIGHTNESS_AUTO) && HAVE_DECL_KEY_BRIGHTNESS_AUTO)
- XLAT(KEY_BRIGHTNESS_AUTO),
+#if !(defined(KEY_WWAN) || (defined(HAVE_DECL_KEY_WWAN) && HAVE_DECL_KEY_WWAN))
+# define KEY_WWAN 246
#endif
-#if defined(KEY_BRIGHTNESS_ZERO) || (defined(HAVE_DECL_KEY_BRIGHTNESS_ZERO) && HAVE_DECL_KEY_BRIGHTNESS_ZERO)
- XLAT(KEY_BRIGHTNESS_ZERO),
+#if !(defined(KEY_RFKILL) || (defined(HAVE_DECL_KEY_RFKILL) && HAVE_DECL_KEY_RFKILL))
+# define KEY_RFKILL 247
#endif
-#if defined(KEY_DISPLAY_OFF) || (defined(HAVE_DECL_KEY_DISPLAY_OFF) && HAVE_DECL_KEY_DISPLAY_OFF)
- XLAT(KEY_DISPLAY_OFF),
+#if !(defined(KEY_MICMUTE) || (defined(HAVE_DECL_KEY_MICMUTE) && HAVE_DECL_KEY_MICMUTE))
+# define KEY_MICMUTE 248
#endif
-
-#if defined(KEY_WWAN) || (defined(HAVE_DECL_KEY_WWAN) && HAVE_DECL_KEY_WWAN)
- XLAT(KEY_WWAN),
+#if !(defined(BTN_0) || (defined(HAVE_DECL_BTN_0) && HAVE_DECL_BTN_0))
+# define BTN_0 0x100
#endif
-#if defined(KEY_WIMAX) || (defined(HAVE_DECL_KEY_WIMAX) && HAVE_DECL_KEY_WIMAX)
- XLAT(KEY_WIMAX),
+#if !(defined(BTN_1) || (defined(HAVE_DECL_BTN_1) && HAVE_DECL_BTN_1))
+# define BTN_1 0x101
#endif
-#if defined(KEY_RFKILL) || (defined(HAVE_DECL_KEY_RFKILL) && HAVE_DECL_KEY_RFKILL)
- XLAT(KEY_RFKILL),
+#if !(defined(BTN_2) || (defined(HAVE_DECL_BTN_2) && HAVE_DECL_BTN_2))
+# define BTN_2 0x102
#endif
-
-#if defined(KEY_MICMUTE) || (defined(HAVE_DECL_KEY_MICMUTE) && HAVE_DECL_KEY_MICMUTE)
- XLAT(KEY_MICMUTE),
+#if !(defined(BTN_3) || (defined(HAVE_DECL_BTN_3) && HAVE_DECL_BTN_3))
+# define BTN_3 0x103
#endif
-
-#if defined(BTN_0) || (defined(HAVE_DECL_BTN_0) && HAVE_DECL_BTN_0)
- XLAT(BTN_0),
+#if !(defined(BTN_4) || (defined(HAVE_DECL_BTN_4) && HAVE_DECL_BTN_4))
+# define BTN_4 0x104
#endif
-#if defined(BTN_1) || (defined(HAVE_DECL_BTN_1) && HAVE_DECL_BTN_1)
- XLAT(BTN_1),
+#if !(defined(BTN_5) || (defined(HAVE_DECL_BTN_5) && HAVE_DECL_BTN_5))
+# define BTN_5 0x105
#endif
-#if defined(BTN_2) || (defined(HAVE_DECL_BTN_2) && HAVE_DECL_BTN_2)
- XLAT(BTN_2),
+#if !(defined(BTN_6) || (defined(HAVE_DECL_BTN_6) && HAVE_DECL_BTN_6))
+# define BTN_6 0x106
#endif
-#if defined(BTN_3) || (defined(HAVE_DECL_BTN_3) && HAVE_DECL_BTN_3)
- XLAT(BTN_3),
+#if !(defined(BTN_7) || (defined(HAVE_DECL_BTN_7) && HAVE_DECL_BTN_7))
+# define BTN_7 0x107
#endif
-#if defined(BTN_4) || (defined(HAVE_DECL_BTN_4) && HAVE_DECL_BTN_4)
- XLAT(BTN_4),
+#if !(defined(BTN_8) || (defined(HAVE_DECL_BTN_8) && HAVE_DECL_BTN_8))
+# define BTN_8 0x108
#endif
-#if defined(BTN_5) || (defined(HAVE_DECL_BTN_5) && HAVE_DECL_BTN_5)
- XLAT(BTN_5),
+#if !(defined(BTN_9) || (defined(HAVE_DECL_BTN_9) && HAVE_DECL_BTN_9))
+# define BTN_9 0x109
#endif
-#if defined(BTN_6) || (defined(HAVE_DECL_BTN_6) && HAVE_DECL_BTN_6)
- XLAT(BTN_6),
+#if !(defined(BTN_MOUSE) || (defined(HAVE_DECL_BTN_MOUSE) && HAVE_DECL_BTN_MOUSE))
+# define BTN_MOUSE 0x110
#endif
-#if defined(BTN_7) || (defined(HAVE_DECL_BTN_7) && HAVE_DECL_BTN_7)
- XLAT(BTN_7),
+#if !(defined(BTN_LEFT) || (defined(HAVE_DECL_BTN_LEFT) && HAVE_DECL_BTN_LEFT))
+# define BTN_LEFT 0x110
#endif
-#if defined(BTN_8) || (defined(HAVE_DECL_BTN_8) && HAVE_DECL_BTN_8)
- XLAT(BTN_8),
+#if !(defined(BTN_RIGHT) || (defined(HAVE_DECL_BTN_RIGHT) && HAVE_DECL_BTN_RIGHT))
+# define BTN_RIGHT 0x111
#endif
-#if defined(BTN_9) || (defined(HAVE_DECL_BTN_9) && HAVE_DECL_BTN_9)
- XLAT(BTN_9),
+#if !(defined(BTN_MIDDLE) || (defined(HAVE_DECL_BTN_MIDDLE) && HAVE_DECL_BTN_MIDDLE))
+# define BTN_MIDDLE 0x112
#endif
-
-#if defined(BTN_MOUSE) || (defined(HAVE_DECL_BTN_MOUSE) && HAVE_DECL_BTN_MOUSE)
- XLAT(BTN_MOUSE),
+#if !(defined(BTN_SIDE) || (defined(HAVE_DECL_BTN_SIDE) && HAVE_DECL_BTN_SIDE))
+# define BTN_SIDE 0x113
#endif
-#if defined(BTN_LEFT) || (defined(HAVE_DECL_BTN_LEFT) && HAVE_DECL_BTN_LEFT)
- XLAT(BTN_LEFT),
+#if !(defined(BTN_EXTRA) || (defined(HAVE_DECL_BTN_EXTRA) && HAVE_DECL_BTN_EXTRA))
+# define BTN_EXTRA 0x114
#endif
-#if defined(BTN_RIGHT) || (defined(HAVE_DECL_BTN_RIGHT) && HAVE_DECL_BTN_RIGHT)
- XLAT(BTN_RIGHT),
+#if !(defined(BTN_FORWARD) || (defined(HAVE_DECL_BTN_FORWARD) && HAVE_DECL_BTN_FORWARD))
+# define BTN_FORWARD 0x115
#endif
-#if defined(BTN_MIDDLE) || (defined(HAVE_DECL_BTN_MIDDLE) && HAVE_DECL_BTN_MIDDLE)
- XLAT(BTN_MIDDLE),
+#if !(defined(BTN_BACK) || (defined(HAVE_DECL_BTN_BACK) && HAVE_DECL_BTN_BACK))
+# define BTN_BACK 0x116
#endif
-#if defined(BTN_SIDE) || (defined(HAVE_DECL_BTN_SIDE) && HAVE_DECL_BTN_SIDE)
- XLAT(BTN_SIDE),
+#if !(defined(BTN_TASK) || (defined(HAVE_DECL_BTN_TASK) && HAVE_DECL_BTN_TASK))
+# define BTN_TASK 0x117
#endif
-#if defined(BTN_EXTRA) || (defined(HAVE_DECL_BTN_EXTRA) && HAVE_DECL_BTN_EXTRA)
- XLAT(BTN_EXTRA),
+#if !(defined(BTN_JOYSTICK) || (defined(HAVE_DECL_BTN_JOYSTICK) && HAVE_DECL_BTN_JOYSTICK))
+# define BTN_JOYSTICK 0x120
#endif
-#if defined(BTN_FORWARD) || (defined(HAVE_DECL_BTN_FORWARD) && HAVE_DECL_BTN_FORWARD)
- XLAT(BTN_FORWARD),
+#if !(defined(BTN_TRIGGER) || (defined(HAVE_DECL_BTN_TRIGGER) && HAVE_DECL_BTN_TRIGGER))
+# define BTN_TRIGGER 0x120
#endif
-#if defined(BTN_BACK) || (defined(HAVE_DECL_BTN_BACK) && HAVE_DECL_BTN_BACK)
- XLAT(BTN_BACK),
+#if !(defined(BTN_THUMB) || (defined(HAVE_DECL_BTN_THUMB) && HAVE_DECL_BTN_THUMB))
+# define BTN_THUMB 0x121
#endif
-#if defined(BTN_TASK) || (defined(HAVE_DECL_BTN_TASK) && HAVE_DECL_BTN_TASK)
- XLAT(BTN_TASK),
+#if !(defined(BTN_THUMB2) || (defined(HAVE_DECL_BTN_THUMB2) && HAVE_DECL_BTN_THUMB2))
+# define BTN_THUMB2 0x122
#endif
-
-#if defined(BTN_JOYSTICK) || (defined(HAVE_DECL_BTN_JOYSTICK) && HAVE_DECL_BTN_JOYSTICK)
- XLAT(BTN_JOYSTICK),
+#if !(defined(BTN_TOP) || (defined(HAVE_DECL_BTN_TOP) && HAVE_DECL_BTN_TOP))
+# define BTN_TOP 0x123
#endif
-#if defined(BTN_TRIGGER) || (defined(HAVE_DECL_BTN_TRIGGER) && HAVE_DECL_BTN_TRIGGER)
- XLAT(BTN_TRIGGER),
+#if !(defined(BTN_TOP2) || (defined(HAVE_DECL_BTN_TOP2) && HAVE_DECL_BTN_TOP2))
+# define BTN_TOP2 0x124
#endif
-#if defined(BTN_THUMB) || (defined(HAVE_DECL_BTN_THUMB) && HAVE_DECL_BTN_THUMB)
- XLAT(BTN_THUMB),
+#if !(defined(BTN_PINKIE) || (defined(HAVE_DECL_BTN_PINKIE) && HAVE_DECL_BTN_PINKIE))
+# define BTN_PINKIE 0x125
#endif
-#if defined(BTN_THUMB2) || (defined(HAVE_DECL_BTN_THUMB2) && HAVE_DECL_BTN_THUMB2)
- XLAT(BTN_THUMB2),
+#if !(defined(BTN_BASE) || (defined(HAVE_DECL_BTN_BASE) && HAVE_DECL_BTN_BASE))
+# define BTN_BASE 0x126
#endif
-#if defined(BTN_TOP) || (defined(HAVE_DECL_BTN_TOP) && HAVE_DECL_BTN_TOP)
- XLAT(BTN_TOP),
+#if !(defined(BTN_BASE2) || (defined(HAVE_DECL_BTN_BASE2) && HAVE_DECL_BTN_BASE2))
+# define BTN_BASE2 0x127
#endif
-#if defined(BTN_TOP2) || (defined(HAVE_DECL_BTN_TOP2) && HAVE_DECL_BTN_TOP2)
- XLAT(BTN_TOP2),
+#if !(defined(BTN_BASE3) || (defined(HAVE_DECL_BTN_BASE3) && HAVE_DECL_BTN_BASE3))
+# define BTN_BASE3 0x128
#endif
-#if defined(BTN_PINKIE) || (defined(HAVE_DECL_BTN_PINKIE) && HAVE_DECL_BTN_PINKIE)
- XLAT(BTN_PINKIE),
+#if !(defined(BTN_BASE4) || (defined(HAVE_DECL_BTN_BASE4) && HAVE_DECL_BTN_BASE4))
+# define BTN_BASE4 0x129
#endif
-#if defined(BTN_BASE) || (defined(HAVE_DECL_BTN_BASE) && HAVE_DECL_BTN_BASE)
- XLAT(BTN_BASE),
+#if !(defined(BTN_BASE5) || (defined(HAVE_DECL_BTN_BASE5) && HAVE_DECL_BTN_BASE5))
+# define BTN_BASE5 0x12a
#endif
-#if defined(BTN_BASE2) || (defined(HAVE_DECL_BTN_BASE2) && HAVE_DECL_BTN_BASE2)
- XLAT(BTN_BASE2),
+#if !(defined(BTN_BASE6) || (defined(HAVE_DECL_BTN_BASE6) && HAVE_DECL_BTN_BASE6))
+# define BTN_BASE6 0x12b
#endif
-#if defined(BTN_BASE3) || (defined(HAVE_DECL_BTN_BASE3) && HAVE_DECL_BTN_BASE3)
- XLAT(BTN_BASE3),
+#if !(defined(BTN_DEAD) || (defined(HAVE_DECL_BTN_DEAD) && HAVE_DECL_BTN_DEAD))
+# define BTN_DEAD 0x12f
#endif
-#if defined(BTN_BASE4) || (defined(HAVE_DECL_BTN_BASE4) && HAVE_DECL_BTN_BASE4)
- XLAT(BTN_BASE4),
+#if !(defined(BTN_GAMEPAD) || (defined(HAVE_DECL_BTN_GAMEPAD) && HAVE_DECL_BTN_GAMEPAD))
+# define BTN_GAMEPAD 0x130
#endif
-#if defined(BTN_BASE5) || (defined(HAVE_DECL_BTN_BASE5) && HAVE_DECL_BTN_BASE5)
- XLAT(BTN_BASE5),
+#if !(defined(BTN_SOUTH) || (defined(HAVE_DECL_BTN_SOUTH) && HAVE_DECL_BTN_SOUTH))
+# define BTN_SOUTH 0x130
#endif
-#if defined(BTN_BASE6) || (defined(HAVE_DECL_BTN_BASE6) && HAVE_DECL_BTN_BASE6)
- XLAT(BTN_BASE6),
+#if !(defined(BTN_EAST) || (defined(HAVE_DECL_BTN_EAST) && HAVE_DECL_BTN_EAST))
+# define BTN_EAST 0x131
#endif
-#if defined(BTN_DEAD) || (defined(HAVE_DECL_BTN_DEAD) && HAVE_DECL_BTN_DEAD)
- XLAT(BTN_DEAD),
+#if !(defined(BTN_C) || (defined(HAVE_DECL_BTN_C) && HAVE_DECL_BTN_C))
+# define BTN_C 0x132
#endif
-
-#if defined(BTN_GAMEPAD) || (defined(HAVE_DECL_BTN_GAMEPAD) && HAVE_DECL_BTN_GAMEPAD)
- XLAT(BTN_GAMEPAD),
+#if !(defined(BTN_NORTH) || (defined(HAVE_DECL_BTN_NORTH) && HAVE_DECL_BTN_NORTH))
+# define BTN_NORTH 0x133
#endif
-#if defined(BTN_SOUTH) || (defined(HAVE_DECL_BTN_SOUTH) && HAVE_DECL_BTN_SOUTH)
- XLAT(BTN_SOUTH),
+#if !(defined(BTN_WEST) || (defined(HAVE_DECL_BTN_WEST) && HAVE_DECL_BTN_WEST))
+# define BTN_WEST 0x134
#endif
-#if defined(BTN_A) || (defined(HAVE_DECL_BTN_A) && HAVE_DECL_BTN_A)
- XLAT(BTN_A),
+#if !(defined(BTN_Z) || (defined(HAVE_DECL_BTN_Z) && HAVE_DECL_BTN_Z))
+# define BTN_Z 0x135
#endif
-#if defined(BTN_EAST) || (defined(HAVE_DECL_BTN_EAST) && HAVE_DECL_BTN_EAST)
- XLAT(BTN_EAST),
+#if !(defined(BTN_TL) || (defined(HAVE_DECL_BTN_TL) && HAVE_DECL_BTN_TL))
+# define BTN_TL 0x136
#endif
-#if defined(BTN_B) || (defined(HAVE_DECL_BTN_B) && HAVE_DECL_BTN_B)
- XLAT(BTN_B),
+#if !(defined(BTN_TR) || (defined(HAVE_DECL_BTN_TR) && HAVE_DECL_BTN_TR))
+# define BTN_TR 0x137
#endif
-#if defined(BTN_C) || (defined(HAVE_DECL_BTN_C) && HAVE_DECL_BTN_C)
- XLAT(BTN_C),
+#if !(defined(BTN_TL2) || (defined(HAVE_DECL_BTN_TL2) && HAVE_DECL_BTN_TL2))
+# define BTN_TL2 0x138
#endif
-#if defined(BTN_NORTH) || (defined(HAVE_DECL_BTN_NORTH) && HAVE_DECL_BTN_NORTH)
- XLAT(BTN_NORTH),
+#if !(defined(BTN_TR2) || (defined(HAVE_DECL_BTN_TR2) && HAVE_DECL_BTN_TR2))
+# define BTN_TR2 0x139
#endif
-#if defined(BTN_X) || (defined(HAVE_DECL_BTN_X) && HAVE_DECL_BTN_X)
- XLAT(BTN_X),
+#if !(defined(BTN_SELECT) || (defined(HAVE_DECL_BTN_SELECT) && HAVE_DECL_BTN_SELECT))
+# define BTN_SELECT 0x13a
#endif
-#if defined(BTN_WEST) || (defined(HAVE_DECL_BTN_WEST) && HAVE_DECL_BTN_WEST)
- XLAT(BTN_WEST),
+#if !(defined(BTN_START) || (defined(HAVE_DECL_BTN_START) && HAVE_DECL_BTN_START))
+# define BTN_START 0x13b
#endif
-#if defined(BTN_Y) || (defined(HAVE_DECL_BTN_Y) && HAVE_DECL_BTN_Y)
- XLAT(BTN_Y),
+#if !(defined(BTN_MODE) || (defined(HAVE_DECL_BTN_MODE) && HAVE_DECL_BTN_MODE))
+# define BTN_MODE 0x13c
#endif
-#if defined(BTN_Z) || (defined(HAVE_DECL_BTN_Z) && HAVE_DECL_BTN_Z)
- XLAT(BTN_Z),
+#if !(defined(BTN_THUMBL) || (defined(HAVE_DECL_BTN_THUMBL) && HAVE_DECL_BTN_THUMBL))
+# define BTN_THUMBL 0x13d
#endif
-#if defined(BTN_TL) || (defined(HAVE_DECL_BTN_TL) && HAVE_DECL_BTN_TL)
- XLAT(BTN_TL),
+#if !(defined(BTN_THUMBR) || (defined(HAVE_DECL_BTN_THUMBR) && HAVE_DECL_BTN_THUMBR))
+# define BTN_THUMBR 0x13e
#endif
-#if defined(BTN_TR) || (defined(HAVE_DECL_BTN_TR) && HAVE_DECL_BTN_TR)
- XLAT(BTN_TR),
+#if !(defined(BTN_DIGI) || (defined(HAVE_DECL_BTN_DIGI) && HAVE_DECL_BTN_DIGI))
+# define BTN_DIGI 0x140
#endif
-#if defined(BTN_TL2) || (defined(HAVE_DECL_BTN_TL2) && HAVE_DECL_BTN_TL2)
- XLAT(BTN_TL2),
+#if !(defined(BTN_TOOL_PEN) || (defined(HAVE_DECL_BTN_TOOL_PEN) && HAVE_DECL_BTN_TOOL_PEN))
+# define BTN_TOOL_PEN 0x140
#endif
-#if defined(BTN_TR2) || (defined(HAVE_DECL_BTN_TR2) && HAVE_DECL_BTN_TR2)
- XLAT(BTN_TR2),
+#if !(defined(BTN_TOOL_RUBBER) || (defined(HAVE_DECL_BTN_TOOL_RUBBER) && HAVE_DECL_BTN_TOOL_RUBBER))
+# define BTN_TOOL_RUBBER 0x141
#endif
-#if defined(BTN_SELECT) || (defined(HAVE_DECL_BTN_SELECT) && HAVE_DECL_BTN_SELECT)
- XLAT(BTN_SELECT),
+#if !(defined(BTN_TOOL_BRUSH) || (defined(HAVE_DECL_BTN_TOOL_BRUSH) && HAVE_DECL_BTN_TOOL_BRUSH))
+# define BTN_TOOL_BRUSH 0x142
#endif
-#if defined(BTN_START) || (defined(HAVE_DECL_BTN_START) && HAVE_DECL_BTN_START)
- XLAT(BTN_START),
+#if !(defined(BTN_TOOL_PENCIL) || (defined(HAVE_DECL_BTN_TOOL_PENCIL) && HAVE_DECL_BTN_TOOL_PENCIL))
+# define BTN_TOOL_PENCIL 0x143
#endif
-#if defined(BTN_MODE) || (defined(HAVE_DECL_BTN_MODE) && HAVE_DECL_BTN_MODE)
- XLAT(BTN_MODE),
+#if !(defined(BTN_TOOL_AIRBRUSH) || (defined(HAVE_DECL_BTN_TOOL_AIRBRUSH) && HAVE_DECL_BTN_TOOL_AIRBRUSH))
+# define BTN_TOOL_AIRBRUSH 0x144
#endif
-#if defined(BTN_THUMBL) || (defined(HAVE_DECL_BTN_THUMBL) && HAVE_DECL_BTN_THUMBL)
- XLAT(BTN_THUMBL),
+#if !(defined(BTN_TOOL_FINGER) || (defined(HAVE_DECL_BTN_TOOL_FINGER) && HAVE_DECL_BTN_TOOL_FINGER))
+# define BTN_TOOL_FINGER 0x145
#endif
-#if defined(BTN_THUMBR) || (defined(HAVE_DECL_BTN_THUMBR) && HAVE_DECL_BTN_THUMBR)
- XLAT(BTN_THUMBR),
+#if !(defined(BTN_TOOL_MOUSE) || (defined(HAVE_DECL_BTN_TOOL_MOUSE) && HAVE_DECL_BTN_TOOL_MOUSE))
+# define BTN_TOOL_MOUSE 0x146
#endif
-
-#if defined(BTN_DIGI) || (defined(HAVE_DECL_BTN_DIGI) && HAVE_DECL_BTN_DIGI)
- XLAT(BTN_DIGI),
+#if !(defined(BTN_TOOL_LENS) || (defined(HAVE_DECL_BTN_TOOL_LENS) && HAVE_DECL_BTN_TOOL_LENS))
+# define BTN_TOOL_LENS 0x147
#endif
-#if defined(BTN_TOOL_PEN) || (defined(HAVE_DECL_BTN_TOOL_PEN) && HAVE_DECL_BTN_TOOL_PEN)
- XLAT(BTN_TOOL_PEN),
+#if !(defined(BTN_TOOL_QUINTTAP) || (defined(HAVE_DECL_BTN_TOOL_QUINTTAP) && HAVE_DECL_BTN_TOOL_QUINTTAP))
+# define BTN_TOOL_QUINTTAP 0x148
#endif
-#if defined(BTN_TOOL_RUBBER) || (defined(HAVE_DECL_BTN_TOOL_RUBBER) && HAVE_DECL_BTN_TOOL_RUBBER)
- XLAT(BTN_TOOL_RUBBER),
+#if !(defined(BTN_STYLUS3) || (defined(HAVE_DECL_BTN_STYLUS3) && HAVE_DECL_BTN_STYLUS3))
+# define BTN_STYLUS3 0x149
#endif
-#if defined(BTN_TOOL_BRUSH) || (defined(HAVE_DECL_BTN_TOOL_BRUSH) && HAVE_DECL_BTN_TOOL_BRUSH)
- XLAT(BTN_TOOL_BRUSH),
+#if !(defined(BTN_TOUCH) || (defined(HAVE_DECL_BTN_TOUCH) && HAVE_DECL_BTN_TOUCH))
+# define BTN_TOUCH 0x14a
#endif
-#if defined(BTN_TOOL_PENCIL) || (defined(HAVE_DECL_BTN_TOOL_PENCIL) && HAVE_DECL_BTN_TOOL_PENCIL)
- XLAT(BTN_TOOL_PENCIL),
+#if !(defined(BTN_STYLUS) || (defined(HAVE_DECL_BTN_STYLUS) && HAVE_DECL_BTN_STYLUS))
+# define BTN_STYLUS 0x14b
#endif
-#if defined(BTN_TOOL_AIRBRUSH) || (defined(HAVE_DECL_BTN_TOOL_AIRBRUSH) && HAVE_DECL_BTN_TOOL_AIRBRUSH)
- XLAT(BTN_TOOL_AIRBRUSH),
+#if !(defined(BTN_STYLUS2) || (defined(HAVE_DECL_BTN_STYLUS2) && HAVE_DECL_BTN_STYLUS2))
+# define BTN_STYLUS2 0x14c
#endif
-#if defined(BTN_TOOL_FINGER) || (defined(HAVE_DECL_BTN_TOOL_FINGER) && HAVE_DECL_BTN_TOOL_FINGER)
- XLAT(BTN_TOOL_FINGER),
+#if !(defined(BTN_TOOL_DOUBLETAP) || (defined(HAVE_DECL_BTN_TOOL_DOUBLETAP) && HAVE_DECL_BTN_TOOL_DOUBLETAP))
+# define BTN_TOOL_DOUBLETAP 0x14d
#endif
-#if defined(BTN_TOOL_MOUSE) || (defined(HAVE_DECL_BTN_TOOL_MOUSE) && HAVE_DECL_BTN_TOOL_MOUSE)
- XLAT(BTN_TOOL_MOUSE),
+#if !(defined(BTN_TOOL_TRIPLETAP) || (defined(HAVE_DECL_BTN_TOOL_TRIPLETAP) && HAVE_DECL_BTN_TOOL_TRIPLETAP))
+# define BTN_TOOL_TRIPLETAP 0x14e
#endif
-#if defined(BTN_TOOL_LENS) || (defined(HAVE_DECL_BTN_TOOL_LENS) && HAVE_DECL_BTN_TOOL_LENS)
- XLAT(BTN_TOOL_LENS),
+#if !(defined(BTN_TOOL_QUADTAP) || (defined(HAVE_DECL_BTN_TOOL_QUADTAP) && HAVE_DECL_BTN_TOOL_QUADTAP))
+# define BTN_TOOL_QUADTAP 0x14f
#endif
-#if defined(BTN_TOOL_QUINTTAP) || (defined(HAVE_DECL_BTN_TOOL_QUINTTAP) && HAVE_DECL_BTN_TOOL_QUINTTAP)
- XLAT(BTN_TOOL_QUINTTAP),
+#if !(defined(BTN_WHEEL) || (defined(HAVE_DECL_BTN_WHEEL) && HAVE_DECL_BTN_WHEEL))
+# define BTN_WHEEL 0x150
#endif
-#if defined(BTN_TOUCH) || (defined(HAVE_DECL_BTN_TOUCH) && HAVE_DECL_BTN_TOUCH)
- XLAT(BTN_TOUCH),
+#if !(defined(BTN_GEAR_DOWN) || (defined(HAVE_DECL_BTN_GEAR_DOWN) && HAVE_DECL_BTN_GEAR_DOWN))
+# define BTN_GEAR_DOWN 0x150
#endif
-#if defined(BTN_STYLUS) || (defined(HAVE_DECL_BTN_STYLUS) && HAVE_DECL_BTN_STYLUS)
- XLAT(BTN_STYLUS),
+#if !(defined(BTN_GEAR_UP) || (defined(HAVE_DECL_BTN_GEAR_UP) && HAVE_DECL_BTN_GEAR_UP))
+# define BTN_GEAR_UP 0x151
#endif
-#if defined(BTN_STYLUS2) || (defined(HAVE_DECL_BTN_STYLUS2) && HAVE_DECL_BTN_STYLUS2)
- XLAT(BTN_STYLUS2),
+#if !(defined(KEY_OK) || (defined(HAVE_DECL_KEY_OK) && HAVE_DECL_KEY_OK))
+# define KEY_OK 0x160
#endif
-#if defined(BTN_TOOL_DOUBLETAP) || (defined(HAVE_DECL_BTN_TOOL_DOUBLETAP) && HAVE_DECL_BTN_TOOL_DOUBLETAP)
- XLAT(BTN_TOOL_DOUBLETAP),
+#if !(defined(KEY_SELECT) || (defined(HAVE_DECL_KEY_SELECT) && HAVE_DECL_KEY_SELECT))
+# define KEY_SELECT 0x161
#endif
-#if defined(BTN_TOOL_TRIPLETAP) || (defined(HAVE_DECL_BTN_TOOL_TRIPLETAP) && HAVE_DECL_BTN_TOOL_TRIPLETAP)
- XLAT(BTN_TOOL_TRIPLETAP),
+#if !(defined(KEY_GOTO) || (defined(HAVE_DECL_KEY_GOTO) && HAVE_DECL_KEY_GOTO))
+# define KEY_GOTO 0x162
#endif
-#if defined(BTN_TOOL_QUADTAP) || (defined(HAVE_DECL_BTN_TOOL_QUADTAP) && HAVE_DECL_BTN_TOOL_QUADTAP)
- XLAT(BTN_TOOL_QUADTAP),
+#if !(defined(KEY_CLEAR) || (defined(HAVE_DECL_KEY_CLEAR) && HAVE_DECL_KEY_CLEAR))
+# define KEY_CLEAR 0x163
#endif
-
-#if defined(BTN_WHEEL) || (defined(HAVE_DECL_BTN_WHEEL) && HAVE_DECL_BTN_WHEEL)
- XLAT(BTN_WHEEL),
+#if !(defined(KEY_POWER2) || (defined(HAVE_DECL_KEY_POWER2) && HAVE_DECL_KEY_POWER2))
+# define KEY_POWER2 0x164
#endif
-#if defined(BTN_GEAR_DOWN) || (defined(HAVE_DECL_BTN_GEAR_DOWN) && HAVE_DECL_BTN_GEAR_DOWN)
- XLAT(BTN_GEAR_DOWN),
+#if !(defined(KEY_OPTION) || (defined(HAVE_DECL_KEY_OPTION) && HAVE_DECL_KEY_OPTION))
+# define KEY_OPTION 0x165
#endif
-#if defined(BTN_GEAR_UP) || (defined(HAVE_DECL_BTN_GEAR_UP) && HAVE_DECL_BTN_GEAR_UP)
- XLAT(BTN_GEAR_UP),
+#if !(defined(KEY_INFO) || (defined(HAVE_DECL_KEY_INFO) && HAVE_DECL_KEY_INFO))
+# define KEY_INFO 0x166
#endif
-
-#if defined(KEY_OK) || (defined(HAVE_DECL_KEY_OK) && HAVE_DECL_KEY_OK)
- XLAT(KEY_OK),
+#if !(defined(KEY_TIME) || (defined(HAVE_DECL_KEY_TIME) && HAVE_DECL_KEY_TIME))
+# define KEY_TIME 0x167
#endif
-#if defined(KEY_SELECT) || (defined(HAVE_DECL_KEY_SELECT) && HAVE_DECL_KEY_SELECT)
- XLAT(KEY_SELECT),
+#if !(defined(KEY_VENDOR) || (defined(HAVE_DECL_KEY_VENDOR) && HAVE_DECL_KEY_VENDOR))
+# define KEY_VENDOR 0x168
#endif
-#if defined(KEY_GOTO) || (defined(HAVE_DECL_KEY_GOTO) && HAVE_DECL_KEY_GOTO)
- XLAT(KEY_GOTO),
+#if !(defined(KEY_ARCHIVE) || (defined(HAVE_DECL_KEY_ARCHIVE) && HAVE_DECL_KEY_ARCHIVE))
+# define KEY_ARCHIVE 0x169
#endif
-#if defined(KEY_CLEAR) || (defined(HAVE_DECL_KEY_CLEAR) && HAVE_DECL_KEY_CLEAR)
- XLAT(KEY_CLEAR),
+#if !(defined(KEY_PROGRAM) || (defined(HAVE_DECL_KEY_PROGRAM) && HAVE_DECL_KEY_PROGRAM))
+# define KEY_PROGRAM 0x16a
#endif
-#if defined(KEY_POWER2) || (defined(HAVE_DECL_KEY_POWER2) && HAVE_DECL_KEY_POWER2)
- XLAT(KEY_POWER2),
+#if !(defined(KEY_CHANNEL) || (defined(HAVE_DECL_KEY_CHANNEL) && HAVE_DECL_KEY_CHANNEL))
+# define KEY_CHANNEL 0x16b
#endif
-#if defined(KEY_OPTION) || (defined(HAVE_DECL_KEY_OPTION) && HAVE_DECL_KEY_OPTION)
- XLAT(KEY_OPTION),
+#if !(defined(KEY_FAVORITES) || (defined(HAVE_DECL_KEY_FAVORITES) && HAVE_DECL_KEY_FAVORITES))
+# define KEY_FAVORITES 0x16c
#endif
-#if defined(KEY_INFO) || (defined(HAVE_DECL_KEY_INFO) && HAVE_DECL_KEY_INFO)
- XLAT(KEY_INFO),
+#if !(defined(KEY_EPG) || (defined(HAVE_DECL_KEY_EPG) && HAVE_DECL_KEY_EPG))
+# define KEY_EPG 0x16d
#endif
-#if defined(KEY_TIME) || (defined(HAVE_DECL_KEY_TIME) && HAVE_DECL_KEY_TIME)
- XLAT(KEY_TIME),
+#if !(defined(KEY_PVR) || (defined(HAVE_DECL_KEY_PVR) && HAVE_DECL_KEY_PVR))
+# define KEY_PVR 0x16e
#endif
-#if defined(KEY_VENDOR) || (defined(HAVE_DECL_KEY_VENDOR) && HAVE_DECL_KEY_VENDOR)
- XLAT(KEY_VENDOR),
+#if !(defined(KEY_MHP) || (defined(HAVE_DECL_KEY_MHP) && HAVE_DECL_KEY_MHP))
+# define KEY_MHP 0x16f
#endif
-#if defined(KEY_ARCHIVE) || (defined(HAVE_DECL_KEY_ARCHIVE) && HAVE_DECL_KEY_ARCHIVE)
- XLAT(KEY_ARCHIVE),
+#if !(defined(KEY_LANGUAGE) || (defined(HAVE_DECL_KEY_LANGUAGE) && HAVE_DECL_KEY_LANGUAGE))
+# define KEY_LANGUAGE 0x170
#endif
-#if defined(KEY_PROGRAM) || (defined(HAVE_DECL_KEY_PROGRAM) && HAVE_DECL_KEY_PROGRAM)
- XLAT(KEY_PROGRAM),
+#if !(defined(KEY_TITLE) || (defined(HAVE_DECL_KEY_TITLE) && HAVE_DECL_KEY_TITLE))
+# define KEY_TITLE 0x171
#endif
-#if defined(KEY_CHANNEL) || (defined(HAVE_DECL_KEY_CHANNEL) && HAVE_DECL_KEY_CHANNEL)
- XLAT(KEY_CHANNEL),
+#if !(defined(KEY_SUBTITLE) || (defined(HAVE_DECL_KEY_SUBTITLE) && HAVE_DECL_KEY_SUBTITLE))
+# define KEY_SUBTITLE 0x172
#endif
-#if defined(KEY_FAVORITES) || (defined(HAVE_DECL_KEY_FAVORITES) && HAVE_DECL_KEY_FAVORITES)
- XLAT(KEY_FAVORITES),
+#if !(defined(KEY_ANGLE) || (defined(HAVE_DECL_KEY_ANGLE) && HAVE_DECL_KEY_ANGLE))
+# define KEY_ANGLE 0x173
#endif
-#if defined(KEY_EPG) || (defined(HAVE_DECL_KEY_EPG) && HAVE_DECL_KEY_EPG)
- XLAT(KEY_EPG),
+#if !(defined(KEY_ZOOM) || (defined(HAVE_DECL_KEY_ZOOM) && HAVE_DECL_KEY_ZOOM))
+# define KEY_ZOOM 0x174
#endif
-#if defined(KEY_PVR) || (defined(HAVE_DECL_KEY_PVR) && HAVE_DECL_KEY_PVR)
- XLAT(KEY_PVR),
+#if !(defined(KEY_MODE) || (defined(HAVE_DECL_KEY_MODE) && HAVE_DECL_KEY_MODE))
+# define KEY_MODE 0x175
#endif
-#if defined(KEY_MHP) || (defined(HAVE_DECL_KEY_MHP) && HAVE_DECL_KEY_MHP)
- XLAT(KEY_MHP),
+#if !(defined(KEY_KEYBOARD) || (defined(HAVE_DECL_KEY_KEYBOARD) && HAVE_DECL_KEY_KEYBOARD))
+# define KEY_KEYBOARD 0x176
#endif
-#if defined(KEY_LANGUAGE) || (defined(HAVE_DECL_KEY_LANGUAGE) && HAVE_DECL_KEY_LANGUAGE)
- XLAT(KEY_LANGUAGE),
+#if !(defined(KEY_SCREEN) || (defined(HAVE_DECL_KEY_SCREEN) && HAVE_DECL_KEY_SCREEN))
+# define KEY_SCREEN 0x177
#endif
-#if defined(KEY_TITLE) || (defined(HAVE_DECL_KEY_TITLE) && HAVE_DECL_KEY_TITLE)
- XLAT(KEY_TITLE),
+#if !(defined(KEY_PC) || (defined(HAVE_DECL_KEY_PC) && HAVE_DECL_KEY_PC))
+# define KEY_PC 0x178
#endif
-#if defined(KEY_SUBTITLE) || (defined(HAVE_DECL_KEY_SUBTITLE) && HAVE_DECL_KEY_SUBTITLE)
- XLAT(KEY_SUBTITLE),
+#if !(defined(KEY_TV) || (defined(HAVE_DECL_KEY_TV) && HAVE_DECL_KEY_TV))
+# define KEY_TV 0x179
#endif
-#if defined(KEY_ANGLE) || (defined(HAVE_DECL_KEY_ANGLE) && HAVE_DECL_KEY_ANGLE)
- XLAT(KEY_ANGLE),
+#if !(defined(KEY_TV2) || (defined(HAVE_DECL_KEY_TV2) && HAVE_DECL_KEY_TV2))
+# define KEY_TV2 0x17a
#endif
-#if defined(KEY_ZOOM) || (defined(HAVE_DECL_KEY_ZOOM) && HAVE_DECL_KEY_ZOOM)
- XLAT(KEY_ZOOM),
+#if !(defined(KEY_VCR) || (defined(HAVE_DECL_KEY_VCR) && HAVE_DECL_KEY_VCR))
+# define KEY_VCR 0x17b
#endif
-#if defined(KEY_MODE) || (defined(HAVE_DECL_KEY_MODE) && HAVE_DECL_KEY_MODE)
- XLAT(KEY_MODE),
+#if !(defined(KEY_VCR2) || (defined(HAVE_DECL_KEY_VCR2) && HAVE_DECL_KEY_VCR2))
+# define KEY_VCR2 0x17c
#endif
-#if defined(KEY_KEYBOARD) || (defined(HAVE_DECL_KEY_KEYBOARD) && HAVE_DECL_KEY_KEYBOARD)
- XLAT(KEY_KEYBOARD),
+#if !(defined(KEY_SAT) || (defined(HAVE_DECL_KEY_SAT) && HAVE_DECL_KEY_SAT))
+# define KEY_SAT 0x17d
#endif
-#if defined(KEY_SCREEN) || (defined(HAVE_DECL_KEY_SCREEN) && HAVE_DECL_KEY_SCREEN)
- XLAT(KEY_SCREEN),
+#if !(defined(KEY_SAT2) || (defined(HAVE_DECL_KEY_SAT2) && HAVE_DECL_KEY_SAT2))
+# define KEY_SAT2 0x17e
#endif
-#if defined(KEY_PC) || (defined(HAVE_DECL_KEY_PC) && HAVE_DECL_KEY_PC)
- XLAT(KEY_PC),
+#if !(defined(KEY_CD) || (defined(HAVE_DECL_KEY_CD) && HAVE_DECL_KEY_CD))
+# define KEY_CD 0x17f
#endif
-#if defined(KEY_TV) || (defined(HAVE_DECL_KEY_TV) && HAVE_DECL_KEY_TV)
- XLAT(KEY_TV),
+#if !(defined(KEY_TAPE) || (defined(HAVE_DECL_KEY_TAPE) && HAVE_DECL_KEY_TAPE))
+# define KEY_TAPE 0x180
#endif
-#if defined(KEY_TV2) || (defined(HAVE_DECL_KEY_TV2) && HAVE_DECL_KEY_TV2)
- XLAT(KEY_TV2),
+#if !(defined(KEY_RADIO) || (defined(HAVE_DECL_KEY_RADIO) && HAVE_DECL_KEY_RADIO))
+# define KEY_RADIO 0x181
#endif
-#if defined(KEY_VCR) || (defined(HAVE_DECL_KEY_VCR) && HAVE_DECL_KEY_VCR)
- XLAT(KEY_VCR),
+#if !(defined(KEY_TUNER) || (defined(HAVE_DECL_KEY_TUNER) && HAVE_DECL_KEY_TUNER))
+# define KEY_TUNER 0x182
#endif
-#if defined(KEY_VCR2) || (defined(HAVE_DECL_KEY_VCR2) && HAVE_DECL_KEY_VCR2)
- XLAT(KEY_VCR2),
+#if !(defined(KEY_PLAYER) || (defined(HAVE_DECL_KEY_PLAYER) && HAVE_DECL_KEY_PLAYER))
+# define KEY_PLAYER 0x183
#endif
-#if defined(KEY_SAT) || (defined(HAVE_DECL_KEY_SAT) && HAVE_DECL_KEY_SAT)
- XLAT(KEY_SAT),
+#if !(defined(KEY_TEXT) || (defined(HAVE_DECL_KEY_TEXT) && HAVE_DECL_KEY_TEXT))
+# define KEY_TEXT 0x184
#endif
-#if defined(KEY_SAT2) || (defined(HAVE_DECL_KEY_SAT2) && HAVE_DECL_KEY_SAT2)
- XLAT(KEY_SAT2),
+#if !(defined(KEY_DVD) || (defined(HAVE_DECL_KEY_DVD) && HAVE_DECL_KEY_DVD))
+# define KEY_DVD 0x185
#endif
-#if defined(KEY_CD) || (defined(HAVE_DECL_KEY_CD) && HAVE_DECL_KEY_CD)
- XLAT(KEY_CD),
+#if !(defined(KEY_AUX) || (defined(HAVE_DECL_KEY_AUX) && HAVE_DECL_KEY_AUX))
+# define KEY_AUX 0x186
#endif
-#if defined(KEY_TAPE) || (defined(HAVE_DECL_KEY_TAPE) && HAVE_DECL_KEY_TAPE)
- XLAT(KEY_TAPE),
+#if !(defined(KEY_MP3) || (defined(HAVE_DECL_KEY_MP3) && HAVE_DECL_KEY_MP3))
+# define KEY_MP3 0x187
#endif
-#if defined(KEY_RADIO) || (defined(HAVE_DECL_KEY_RADIO) && HAVE_DECL_KEY_RADIO)
- XLAT(KEY_RADIO),
+#if !(defined(KEY_AUDIO) || (defined(HAVE_DECL_KEY_AUDIO) && HAVE_DECL_KEY_AUDIO))
+# define KEY_AUDIO 0x188
#endif
-#if defined(KEY_TUNER) || (defined(HAVE_DECL_KEY_TUNER) && HAVE_DECL_KEY_TUNER)
- XLAT(KEY_TUNER),
+#if !(defined(KEY_VIDEO) || (defined(HAVE_DECL_KEY_VIDEO) && HAVE_DECL_KEY_VIDEO))
+# define KEY_VIDEO 0x189
#endif
-#if defined(KEY_PLAYER) || (defined(HAVE_DECL_KEY_PLAYER) && HAVE_DECL_KEY_PLAYER)
- XLAT(KEY_PLAYER),
+#if !(defined(KEY_DIRECTORY) || (defined(HAVE_DECL_KEY_DIRECTORY) && HAVE_DECL_KEY_DIRECTORY))
+# define KEY_DIRECTORY 0x18a
#endif
-#if defined(KEY_TEXT) || (defined(HAVE_DECL_KEY_TEXT) && HAVE_DECL_KEY_TEXT)
- XLAT(KEY_TEXT),
+#if !(defined(KEY_LIST) || (defined(HAVE_DECL_KEY_LIST) && HAVE_DECL_KEY_LIST))
+# define KEY_LIST 0x18b
#endif
-#if defined(KEY_DVD) || (defined(HAVE_DECL_KEY_DVD) && HAVE_DECL_KEY_DVD)
- XLAT(KEY_DVD),
+#if !(defined(KEY_MEMO) || (defined(HAVE_DECL_KEY_MEMO) && HAVE_DECL_KEY_MEMO))
+# define KEY_MEMO 0x18c
#endif
-#if defined(KEY_AUX) || (defined(HAVE_DECL_KEY_AUX) && HAVE_DECL_KEY_AUX)
- XLAT(KEY_AUX),
+#if !(defined(KEY_CALENDAR) || (defined(HAVE_DECL_KEY_CALENDAR) && HAVE_DECL_KEY_CALENDAR))
+# define KEY_CALENDAR 0x18d
#endif
-#if defined(KEY_MP3) || (defined(HAVE_DECL_KEY_MP3) && HAVE_DECL_KEY_MP3)
- XLAT(KEY_MP3),
+#if !(defined(KEY_RED) || (defined(HAVE_DECL_KEY_RED) && HAVE_DECL_KEY_RED))
+# define KEY_RED 0x18e
#endif
-#if defined(KEY_AUDIO) || (defined(HAVE_DECL_KEY_AUDIO) && HAVE_DECL_KEY_AUDIO)
- XLAT(KEY_AUDIO),
+#if !(defined(KEY_GREEN) || (defined(HAVE_DECL_KEY_GREEN) && HAVE_DECL_KEY_GREEN))
+# define KEY_GREEN 0x18f
#endif
-#if defined(KEY_VIDEO) || (defined(HAVE_DECL_KEY_VIDEO) && HAVE_DECL_KEY_VIDEO)
- XLAT(KEY_VIDEO),
+#if !(defined(KEY_YELLOW) || (defined(HAVE_DECL_KEY_YELLOW) && HAVE_DECL_KEY_YELLOW))
+# define KEY_YELLOW 0x190
#endif
-#if defined(KEY_DIRECTORY) || (defined(HAVE_DECL_KEY_DIRECTORY) && HAVE_DECL_KEY_DIRECTORY)
- XLAT(KEY_DIRECTORY),
+#if !(defined(KEY_BLUE) || (defined(HAVE_DECL_KEY_BLUE) && HAVE_DECL_KEY_BLUE))
+# define KEY_BLUE 0x191
#endif
-#if defined(KEY_LIST) || (defined(HAVE_DECL_KEY_LIST) && HAVE_DECL_KEY_LIST)
- XLAT(KEY_LIST),
+#if !(defined(KEY_CHANNELUP) || (defined(HAVE_DECL_KEY_CHANNELUP) && HAVE_DECL_KEY_CHANNELUP))
+# define KEY_CHANNELUP 0x192
#endif
-#if defined(KEY_MEMO) || (defined(HAVE_DECL_KEY_MEMO) && HAVE_DECL_KEY_MEMO)
- XLAT(KEY_MEMO),
+#if !(defined(KEY_CHANNELDOWN) || (defined(HAVE_DECL_KEY_CHANNELDOWN) && HAVE_DECL_KEY_CHANNELDOWN))
+# define KEY_CHANNELDOWN 0x193
#endif
-#if defined(KEY_CALENDAR) || (defined(HAVE_DECL_KEY_CALENDAR) && HAVE_DECL_KEY_CALENDAR)
- XLAT(KEY_CALENDAR),
+#if !(defined(KEY_FIRST) || (defined(HAVE_DECL_KEY_FIRST) && HAVE_DECL_KEY_FIRST))
+# define KEY_FIRST 0x194
#endif
-#if defined(KEY_RED) || (defined(HAVE_DECL_KEY_RED) && HAVE_DECL_KEY_RED)
- XLAT(KEY_RED),
+#if !(defined(KEY_LAST) || (defined(HAVE_DECL_KEY_LAST) && HAVE_DECL_KEY_LAST))
+# define KEY_LAST 0x195
#endif
-#if defined(KEY_GREEN) || (defined(HAVE_DECL_KEY_GREEN) && HAVE_DECL_KEY_GREEN)
- XLAT(KEY_GREEN),
+#if !(defined(KEY_AB) || (defined(HAVE_DECL_KEY_AB) && HAVE_DECL_KEY_AB))
+# define KEY_AB 0x196
#endif
-#if defined(KEY_YELLOW) || (defined(HAVE_DECL_KEY_YELLOW) && HAVE_DECL_KEY_YELLOW)
- XLAT(KEY_YELLOW),
+#if !(defined(KEY_NEXT) || (defined(HAVE_DECL_KEY_NEXT) && HAVE_DECL_KEY_NEXT))
+# define KEY_NEXT 0x197
#endif
-#if defined(KEY_BLUE) || (defined(HAVE_DECL_KEY_BLUE) && HAVE_DECL_KEY_BLUE)
- XLAT(KEY_BLUE),
+#if !(defined(KEY_RESTART) || (defined(HAVE_DECL_KEY_RESTART) && HAVE_DECL_KEY_RESTART))
+# define KEY_RESTART 0x198
#endif
-#if defined(KEY_CHANNELUP) || (defined(HAVE_DECL_KEY_CHANNELUP) && HAVE_DECL_KEY_CHANNELUP)
- XLAT(KEY_CHANNELUP),
+#if !(defined(KEY_SLOW) || (defined(HAVE_DECL_KEY_SLOW) && HAVE_DECL_KEY_SLOW))
+# define KEY_SLOW 0x199
#endif
-#if defined(KEY_CHANNELDOWN) || (defined(HAVE_DECL_KEY_CHANNELDOWN) && HAVE_DECL_KEY_CHANNELDOWN)
- XLAT(KEY_CHANNELDOWN),
+#if !(defined(KEY_SHUFFLE) || (defined(HAVE_DECL_KEY_SHUFFLE) && HAVE_DECL_KEY_SHUFFLE))
+# define KEY_SHUFFLE 0x19a
#endif
-#if defined(KEY_FIRST) || (defined(HAVE_DECL_KEY_FIRST) && HAVE_DECL_KEY_FIRST)
- XLAT(KEY_FIRST),
+#if !(defined(KEY_BREAK) || (defined(HAVE_DECL_KEY_BREAK) && HAVE_DECL_KEY_BREAK))
+# define KEY_BREAK 0x19b
#endif
-#if defined(KEY_LAST) || (defined(HAVE_DECL_KEY_LAST) && HAVE_DECL_KEY_LAST)
- XLAT(KEY_LAST),
+#if !(defined(KEY_PREVIOUS) || (defined(HAVE_DECL_KEY_PREVIOUS) && HAVE_DECL_KEY_PREVIOUS))
+# define KEY_PREVIOUS 0x19c
#endif
-#if defined(KEY_AB) || (defined(HAVE_DECL_KEY_AB) && HAVE_DECL_KEY_AB)
- XLAT(KEY_AB),
+#if !(defined(KEY_DIGITS) || (defined(HAVE_DECL_KEY_DIGITS) && HAVE_DECL_KEY_DIGITS))
+# define KEY_DIGITS 0x19d
#endif
-#if defined(KEY_NEXT) || (defined(HAVE_DECL_KEY_NEXT) && HAVE_DECL_KEY_NEXT)
- XLAT(KEY_NEXT),
+#if !(defined(KEY_TEEN) || (defined(HAVE_DECL_KEY_TEEN) && HAVE_DECL_KEY_TEEN))
+# define KEY_TEEN 0x19e
#endif
-#if defined(KEY_RESTART) || (defined(HAVE_DECL_KEY_RESTART) && HAVE_DECL_KEY_RESTART)
- XLAT(KEY_RESTART),
+#if !(defined(KEY_TWEN) || (defined(HAVE_DECL_KEY_TWEN) && HAVE_DECL_KEY_TWEN))
+# define KEY_TWEN 0x19f
#endif
-#if defined(KEY_SLOW) || (defined(HAVE_DECL_KEY_SLOW) && HAVE_DECL_KEY_SLOW)
- XLAT(KEY_SLOW),
+#if !(defined(KEY_VIDEOPHONE) || (defined(HAVE_DECL_KEY_VIDEOPHONE) && HAVE_DECL_KEY_VIDEOPHONE))
+# define KEY_VIDEOPHONE 0x1a0
#endif
-#if defined(KEY_SHUFFLE) || (defined(HAVE_DECL_KEY_SHUFFLE) && HAVE_DECL_KEY_SHUFFLE)
- XLAT(KEY_SHUFFLE),
+#if !(defined(KEY_GAMES) || (defined(HAVE_DECL_KEY_GAMES) && HAVE_DECL_KEY_GAMES))
+# define KEY_GAMES 0x1a1
#endif
-#if defined(KEY_BREAK) || (defined(HAVE_DECL_KEY_BREAK) && HAVE_DECL_KEY_BREAK)
- XLAT(KEY_BREAK),
+#if !(defined(KEY_ZOOMIN) || (defined(HAVE_DECL_KEY_ZOOMIN) && HAVE_DECL_KEY_ZOOMIN))
+# define KEY_ZOOMIN 0x1a2
#endif
-#if defined(KEY_PREVIOUS) || (defined(HAVE_DECL_KEY_PREVIOUS) && HAVE_DECL_KEY_PREVIOUS)
- XLAT(KEY_PREVIOUS),
+#if !(defined(KEY_ZOOMOUT) || (defined(HAVE_DECL_KEY_ZOOMOUT) && HAVE_DECL_KEY_ZOOMOUT))
+# define KEY_ZOOMOUT 0x1a3
#endif
-#if defined(KEY_DIGITS) || (defined(HAVE_DECL_KEY_DIGITS) && HAVE_DECL_KEY_DIGITS)
- XLAT(KEY_DIGITS),
+#if !(defined(KEY_ZOOMRESET) || (defined(HAVE_DECL_KEY_ZOOMRESET) && HAVE_DECL_KEY_ZOOMRESET))
+# define KEY_ZOOMRESET 0x1a4
#endif
-#if defined(KEY_TEEN) || (defined(HAVE_DECL_KEY_TEEN) && HAVE_DECL_KEY_TEEN)
- XLAT(KEY_TEEN),
+#if !(defined(KEY_WORDPROCESSOR) || (defined(HAVE_DECL_KEY_WORDPROCESSOR) && HAVE_DECL_KEY_WORDPROCESSOR))
+# define KEY_WORDPROCESSOR 0x1a5
#endif
-#if defined(KEY_TWEN) || (defined(HAVE_DECL_KEY_TWEN) && HAVE_DECL_KEY_TWEN)
- XLAT(KEY_TWEN),
+#if !(defined(KEY_EDITOR) || (defined(HAVE_DECL_KEY_EDITOR) && HAVE_DECL_KEY_EDITOR))
+# define KEY_EDITOR 0x1a6
#endif
-#if defined(KEY_VIDEOPHONE) || (defined(HAVE_DECL_KEY_VIDEOPHONE) && HAVE_DECL_KEY_VIDEOPHONE)
- XLAT(KEY_VIDEOPHONE),
+#if !(defined(KEY_SPREADSHEET) || (defined(HAVE_DECL_KEY_SPREADSHEET) && HAVE_DECL_KEY_SPREADSHEET))
+# define KEY_SPREADSHEET 0x1a7
#endif
-#if defined(KEY_GAMES) || (defined(HAVE_DECL_KEY_GAMES) && HAVE_DECL_KEY_GAMES)
- XLAT(KEY_GAMES),
+#if !(defined(KEY_GRAPHICSEDITOR) || (defined(HAVE_DECL_KEY_GRAPHICSEDITOR) && HAVE_DECL_KEY_GRAPHICSEDITOR))
+# define KEY_GRAPHICSEDITOR 0x1a8
#endif
-#if defined(KEY_ZOOMIN) || (defined(HAVE_DECL_KEY_ZOOMIN) && HAVE_DECL_KEY_ZOOMIN)
- XLAT(KEY_ZOOMIN),
+#if !(defined(KEY_PRESENTATION) || (defined(HAVE_DECL_KEY_PRESENTATION) && HAVE_DECL_KEY_PRESENTATION))
+# define KEY_PRESENTATION 0x1a9
#endif
-#if defined(KEY_ZOOMOUT) || (defined(HAVE_DECL_KEY_ZOOMOUT) && HAVE_DECL_KEY_ZOOMOUT)
- XLAT(KEY_ZOOMOUT),
+#if !(defined(KEY_DATABASE) || (defined(HAVE_DECL_KEY_DATABASE) && HAVE_DECL_KEY_DATABASE))
+# define KEY_DATABASE 0x1aa
#endif
-#if defined(KEY_ZOOMRESET) || (defined(HAVE_DECL_KEY_ZOOMRESET) && HAVE_DECL_KEY_ZOOMRESET)
- XLAT(KEY_ZOOMRESET),
+#if !(defined(KEY_NEWS) || (defined(HAVE_DECL_KEY_NEWS) && HAVE_DECL_KEY_NEWS))
+# define KEY_NEWS 0x1ab
#endif
-#if defined(KEY_WORDPROCESSOR) || (defined(HAVE_DECL_KEY_WORDPROCESSOR) && HAVE_DECL_KEY_WORDPROCESSOR)
- XLAT(KEY_WORDPROCESSOR),
+#if !(defined(KEY_VOICEMAIL) || (defined(HAVE_DECL_KEY_VOICEMAIL) && HAVE_DECL_KEY_VOICEMAIL))
+# define KEY_VOICEMAIL 0x1ac
#endif
-#if defined(KEY_EDITOR) || (defined(HAVE_DECL_KEY_EDITOR) && HAVE_DECL_KEY_EDITOR)
- XLAT(KEY_EDITOR),
+#if !(defined(KEY_ADDRESSBOOK) || (defined(HAVE_DECL_KEY_ADDRESSBOOK) && HAVE_DECL_KEY_ADDRESSBOOK))
+# define KEY_ADDRESSBOOK 0x1ad
#endif
-#if defined(KEY_SPREADSHEET) || (defined(HAVE_DECL_KEY_SPREADSHEET) && HAVE_DECL_KEY_SPREADSHEET)
- XLAT(KEY_SPREADSHEET),
+#if !(defined(KEY_MESSENGER) || (defined(HAVE_DECL_KEY_MESSENGER) && HAVE_DECL_KEY_MESSENGER))
+# define KEY_MESSENGER 0x1ae
#endif
-#if defined(KEY_GRAPHICSEDITOR) || (defined(HAVE_DECL_KEY_GRAPHICSEDITOR) && HAVE_DECL_KEY_GRAPHICSEDITOR)
- XLAT(KEY_GRAPHICSEDITOR),
+#if !(defined(KEY_DISPLAYTOGGLE) || (defined(HAVE_DECL_KEY_DISPLAYTOGGLE) && HAVE_DECL_KEY_DISPLAYTOGGLE))
+# define KEY_DISPLAYTOGGLE 0x1af
#endif
-#if defined(KEY_PRESENTATION) || (defined(HAVE_DECL_KEY_PRESENTATION) && HAVE_DECL_KEY_PRESENTATION)
- XLAT(KEY_PRESENTATION),
+#if !(defined(KEY_SPELLCHECK) || (defined(HAVE_DECL_KEY_SPELLCHECK) && HAVE_DECL_KEY_SPELLCHECK))
+# define KEY_SPELLCHECK 0x1b0
#endif
-#if defined(KEY_DATABASE) || (defined(HAVE_DECL_KEY_DATABASE) && HAVE_DECL_KEY_DATABASE)
- XLAT(KEY_DATABASE),
+#if !(defined(KEY_LOGOFF) || (defined(HAVE_DECL_KEY_LOGOFF) && HAVE_DECL_KEY_LOGOFF))
+# define KEY_LOGOFF 0x1b1
#endif
-#if defined(KEY_NEWS) || (defined(HAVE_DECL_KEY_NEWS) && HAVE_DECL_KEY_NEWS)
- XLAT(KEY_NEWS),
+#if !(defined(KEY_DOLLAR) || (defined(HAVE_DECL_KEY_DOLLAR) && HAVE_DECL_KEY_DOLLAR))
+# define KEY_DOLLAR 0x1b2
#endif
-#if defined(KEY_VOICEMAIL) || (defined(HAVE_DECL_KEY_VOICEMAIL) && HAVE_DECL_KEY_VOICEMAIL)
- XLAT(KEY_VOICEMAIL),
+#if !(defined(KEY_EURO) || (defined(HAVE_DECL_KEY_EURO) && HAVE_DECL_KEY_EURO))
+# define KEY_EURO 0x1b3
#endif
-#if defined(KEY_ADDRESSBOOK) || (defined(HAVE_DECL_KEY_ADDRESSBOOK) && HAVE_DECL_KEY_ADDRESSBOOK)
- XLAT(KEY_ADDRESSBOOK),
+#if !(defined(KEY_FRAMEBACK) || (defined(HAVE_DECL_KEY_FRAMEBACK) && HAVE_DECL_KEY_FRAMEBACK))
+# define KEY_FRAMEBACK 0x1b4
#endif
-#if defined(KEY_MESSENGER) || (defined(HAVE_DECL_KEY_MESSENGER) && HAVE_DECL_KEY_MESSENGER)
- XLAT(KEY_MESSENGER),
+#if !(defined(KEY_FRAMEFORWARD) || (defined(HAVE_DECL_KEY_FRAMEFORWARD) && HAVE_DECL_KEY_FRAMEFORWARD))
+# define KEY_FRAMEFORWARD 0x1b5
#endif
-#if defined(KEY_DISPLAYTOGGLE) || (defined(HAVE_DECL_KEY_DISPLAYTOGGLE) && HAVE_DECL_KEY_DISPLAYTOGGLE)
- XLAT(KEY_DISPLAYTOGGLE),
+#if !(defined(KEY_CONTEXT_MENU) || (defined(HAVE_DECL_KEY_CONTEXT_MENU) && HAVE_DECL_KEY_CONTEXT_MENU))
+# define KEY_CONTEXT_MENU 0x1b6
#endif
-#if defined(KEY_BRIGHTNESS_TOGGLE) || (defined(HAVE_DECL_KEY_BRIGHTNESS_TOGGLE) && HAVE_DECL_KEY_BRIGHTNESS_TOGGLE)
- XLAT(KEY_BRIGHTNESS_TOGGLE),
+#if !(defined(KEY_MEDIA_REPEAT) || (defined(HAVE_DECL_KEY_MEDIA_REPEAT) && HAVE_DECL_KEY_MEDIA_REPEAT))
+# define KEY_MEDIA_REPEAT 0x1b7
#endif
-#if defined(KEY_SPELLCHECK) || (defined(HAVE_DECL_KEY_SPELLCHECK) && HAVE_DECL_KEY_SPELLCHECK)
- XLAT(KEY_SPELLCHECK),
+#if !(defined(KEY_10CHANNELSUP) || (defined(HAVE_DECL_KEY_10CHANNELSUP) && HAVE_DECL_KEY_10CHANNELSUP))
+# define KEY_10CHANNELSUP 0x1b8
#endif
-#if defined(KEY_LOGOFF) || (defined(HAVE_DECL_KEY_LOGOFF) && HAVE_DECL_KEY_LOGOFF)
- XLAT(KEY_LOGOFF),
+#if !(defined(KEY_10CHANNELSDOWN) || (defined(HAVE_DECL_KEY_10CHANNELSDOWN) && HAVE_DECL_KEY_10CHANNELSDOWN))
+# define KEY_10CHANNELSDOWN 0x1b9
#endif
-
-#if defined(KEY_DOLLAR) || (defined(HAVE_DECL_KEY_DOLLAR) && HAVE_DECL_KEY_DOLLAR)
- XLAT(KEY_DOLLAR),
+#if !(defined(KEY_IMAGES) || (defined(HAVE_DECL_KEY_IMAGES) && HAVE_DECL_KEY_IMAGES))
+# define KEY_IMAGES 0x1ba
#endif
-#if defined(KEY_EURO) || (defined(HAVE_DECL_KEY_EURO) && HAVE_DECL_KEY_EURO)
- XLAT(KEY_EURO),
+#if !(defined(KEY_DEL_EOL) || (defined(HAVE_DECL_KEY_DEL_EOL) && HAVE_DECL_KEY_DEL_EOL))
+# define KEY_DEL_EOL 0x1c0
#endif
-
-#if defined(KEY_FRAMEBACK) || (defined(HAVE_DECL_KEY_FRAMEBACK) && HAVE_DECL_KEY_FRAMEBACK)
- XLAT(KEY_FRAMEBACK),
+#if !(defined(KEY_DEL_EOS) || (defined(HAVE_DECL_KEY_DEL_EOS) && HAVE_DECL_KEY_DEL_EOS))
+# define KEY_DEL_EOS 0x1c1
#endif
-#if defined(KEY_FRAMEFORWARD) || (defined(HAVE_DECL_KEY_FRAMEFORWARD) && HAVE_DECL_KEY_FRAMEFORWARD)
- XLAT(KEY_FRAMEFORWARD),
+#if !(defined(KEY_INS_LINE) || (defined(HAVE_DECL_KEY_INS_LINE) && HAVE_DECL_KEY_INS_LINE))
+# define KEY_INS_LINE 0x1c2
#endif
-#if defined(KEY_CONTEXT_MENU) || (defined(HAVE_DECL_KEY_CONTEXT_MENU) && HAVE_DECL_KEY_CONTEXT_MENU)
- XLAT(KEY_CONTEXT_MENU),
+#if !(defined(KEY_DEL_LINE) || (defined(HAVE_DECL_KEY_DEL_LINE) && HAVE_DECL_KEY_DEL_LINE))
+# define KEY_DEL_LINE 0x1c3
#endif
-#if defined(KEY_MEDIA_REPEAT) || (defined(HAVE_DECL_KEY_MEDIA_REPEAT) && HAVE_DECL_KEY_MEDIA_REPEAT)
- XLAT(KEY_MEDIA_REPEAT),
+#if !(defined(KEY_FN) || (defined(HAVE_DECL_KEY_FN) && HAVE_DECL_KEY_FN))
+# define KEY_FN 0x1d0
#endif
-#if defined(KEY_10CHANNELSUP) || (defined(HAVE_DECL_KEY_10CHANNELSUP) && HAVE_DECL_KEY_10CHANNELSUP)
- XLAT(KEY_10CHANNELSUP),
+#if !(defined(KEY_FN_ESC) || (defined(HAVE_DECL_KEY_FN_ESC) && HAVE_DECL_KEY_FN_ESC))
+# define KEY_FN_ESC 0x1d1
#endif
-#if defined(KEY_10CHANNELSDOWN) || (defined(HAVE_DECL_KEY_10CHANNELSDOWN) && HAVE_DECL_KEY_10CHANNELSDOWN)
- XLAT(KEY_10CHANNELSDOWN),
+#if !(defined(KEY_FN_F1) || (defined(HAVE_DECL_KEY_FN_F1) && HAVE_DECL_KEY_FN_F1))
+# define KEY_FN_F1 0x1d2
#endif
-#if defined(KEY_IMAGES) || (defined(HAVE_DECL_KEY_IMAGES) && HAVE_DECL_KEY_IMAGES)
- XLAT(KEY_IMAGES),
+#if !(defined(KEY_FN_F2) || (defined(HAVE_DECL_KEY_FN_F2) && HAVE_DECL_KEY_FN_F2))
+# define KEY_FN_F2 0x1d3
#endif
-
-#if defined(KEY_DEL_EOL) || (defined(HAVE_DECL_KEY_DEL_EOL) && HAVE_DECL_KEY_DEL_EOL)
- XLAT(KEY_DEL_EOL),
+#if !(defined(KEY_FN_F3) || (defined(HAVE_DECL_KEY_FN_F3) && HAVE_DECL_KEY_FN_F3))
+# define KEY_FN_F3 0x1d4
#endif
-#if defined(KEY_DEL_EOS) || (defined(HAVE_DECL_KEY_DEL_EOS) && HAVE_DECL_KEY_DEL_EOS)
- XLAT(KEY_DEL_EOS),
+#if !(defined(KEY_FN_F4) || (defined(HAVE_DECL_KEY_FN_F4) && HAVE_DECL_KEY_FN_F4))
+# define KEY_FN_F4 0x1d5
#endif
-#if defined(KEY_INS_LINE) || (defined(HAVE_DECL_KEY_INS_LINE) && HAVE_DECL_KEY_INS_LINE)
- XLAT(KEY_INS_LINE),
+#if !(defined(KEY_FN_F5) || (defined(HAVE_DECL_KEY_FN_F5) && HAVE_DECL_KEY_FN_F5))
+# define KEY_FN_F5 0x1d6
#endif
-#if defined(KEY_DEL_LINE) || (defined(HAVE_DECL_KEY_DEL_LINE) && HAVE_DECL_KEY_DEL_LINE)
- XLAT(KEY_DEL_LINE),
+#if !(defined(KEY_FN_F6) || (defined(HAVE_DECL_KEY_FN_F6) && HAVE_DECL_KEY_FN_F6))
+# define KEY_FN_F6 0x1d7
#endif
-
-#if defined(KEY_FN) || (defined(HAVE_DECL_KEY_FN) && HAVE_DECL_KEY_FN)
- XLAT(KEY_FN),
+#if !(defined(KEY_FN_F7) || (defined(HAVE_DECL_KEY_FN_F7) && HAVE_DECL_KEY_FN_F7))
+# define KEY_FN_F7 0x1d8
#endif
-#if defined(KEY_FN_ESC) || (defined(HAVE_DECL_KEY_FN_ESC) && HAVE_DECL_KEY_FN_ESC)
- XLAT(KEY_FN_ESC),
+#if !(defined(KEY_FN_F8) || (defined(HAVE_DECL_KEY_FN_F8) && HAVE_DECL_KEY_FN_F8))
+# define KEY_FN_F8 0x1d9
#endif
-#if defined(KEY_FN_F1) || (defined(HAVE_DECL_KEY_FN_F1) && HAVE_DECL_KEY_FN_F1)
- XLAT(KEY_FN_F1),
+#if !(defined(KEY_FN_F9) || (defined(HAVE_DECL_KEY_FN_F9) && HAVE_DECL_KEY_FN_F9))
+# define KEY_FN_F9 0x1da
#endif
-#if defined(KEY_FN_F2) || (defined(HAVE_DECL_KEY_FN_F2) && HAVE_DECL_KEY_FN_F2)
- XLAT(KEY_FN_F2),
+#if !(defined(KEY_FN_F10) || (defined(HAVE_DECL_KEY_FN_F10) && HAVE_DECL_KEY_FN_F10))
+# define KEY_FN_F10 0x1db
#endif
-#if defined(KEY_FN_F3) || (defined(HAVE_DECL_KEY_FN_F3) && HAVE_DECL_KEY_FN_F3)
- XLAT(KEY_FN_F3),
+#if !(defined(KEY_FN_F11) || (defined(HAVE_DECL_KEY_FN_F11) && HAVE_DECL_KEY_FN_F11))
+# define KEY_FN_F11 0x1dc
#endif
-#if defined(KEY_FN_F4) || (defined(HAVE_DECL_KEY_FN_F4) && HAVE_DECL_KEY_FN_F4)
- XLAT(KEY_FN_F4),
+#if !(defined(KEY_FN_F12) || (defined(HAVE_DECL_KEY_FN_F12) && HAVE_DECL_KEY_FN_F12))
+# define KEY_FN_F12 0x1dd
#endif
-#if defined(KEY_FN_F5) || (defined(HAVE_DECL_KEY_FN_F5) && HAVE_DECL_KEY_FN_F5)
- XLAT(KEY_FN_F5),
+#if !(defined(KEY_FN_1) || (defined(HAVE_DECL_KEY_FN_1) && HAVE_DECL_KEY_FN_1))
+# define KEY_FN_1 0x1de
#endif
-#if defined(KEY_FN_F6) || (defined(HAVE_DECL_KEY_FN_F6) && HAVE_DECL_KEY_FN_F6)
- XLAT(KEY_FN_F6),
+#if !(defined(KEY_FN_2) || (defined(HAVE_DECL_KEY_FN_2) && HAVE_DECL_KEY_FN_2))
+# define KEY_FN_2 0x1df
#endif
-#if defined(KEY_FN_F7) || (defined(HAVE_DECL_KEY_FN_F7) && HAVE_DECL_KEY_FN_F7)
- XLAT(KEY_FN_F7),
+#if !(defined(KEY_FN_D) || (defined(HAVE_DECL_KEY_FN_D) && HAVE_DECL_KEY_FN_D))
+# define KEY_FN_D 0x1e0
#endif
-#if defined(KEY_FN_F8) || (defined(HAVE_DECL_KEY_FN_F8) && HAVE_DECL_KEY_FN_F8)
- XLAT(KEY_FN_F8),
+#if !(defined(KEY_FN_E) || (defined(HAVE_DECL_KEY_FN_E) && HAVE_DECL_KEY_FN_E))
+# define KEY_FN_E 0x1e1
#endif
-#if defined(KEY_FN_F9) || (defined(HAVE_DECL_KEY_FN_F9) && HAVE_DECL_KEY_FN_F9)
- XLAT(KEY_FN_F9),
+#if !(defined(KEY_FN_F) || (defined(HAVE_DECL_KEY_FN_F) && HAVE_DECL_KEY_FN_F))
+# define KEY_FN_F 0x1e2
#endif
-#if defined(KEY_FN_F10) || (defined(HAVE_DECL_KEY_FN_F10) && HAVE_DECL_KEY_FN_F10)
- XLAT(KEY_FN_F10),
+#if !(defined(KEY_FN_S) || (defined(HAVE_DECL_KEY_FN_S) && HAVE_DECL_KEY_FN_S))
+# define KEY_FN_S 0x1e3
#endif
-#if defined(KEY_FN_F11) || (defined(HAVE_DECL_KEY_FN_F11) && HAVE_DECL_KEY_FN_F11)
- XLAT(KEY_FN_F11),
+#if !(defined(KEY_FN_B) || (defined(HAVE_DECL_KEY_FN_B) && HAVE_DECL_KEY_FN_B))
+# define KEY_FN_B 0x1e4
#endif
-#if defined(KEY_FN_F12) || (defined(HAVE_DECL_KEY_FN_F12) && HAVE_DECL_KEY_FN_F12)
- XLAT(KEY_FN_F12),
+#if !(defined(KEY_BRL_DOT1) || (defined(HAVE_DECL_KEY_BRL_DOT1) && HAVE_DECL_KEY_BRL_DOT1))
+# define KEY_BRL_DOT1 0x1f1
#endif
-#if defined(KEY_FN_1) || (defined(HAVE_DECL_KEY_FN_1) && HAVE_DECL_KEY_FN_1)
- XLAT(KEY_FN_1),
+#if !(defined(KEY_BRL_DOT2) || (defined(HAVE_DECL_KEY_BRL_DOT2) && HAVE_DECL_KEY_BRL_DOT2))
+# define KEY_BRL_DOT2 0x1f2
#endif
-#if defined(KEY_FN_2) || (defined(HAVE_DECL_KEY_FN_2) && HAVE_DECL_KEY_FN_2)
- XLAT(KEY_FN_2),
+#if !(defined(KEY_BRL_DOT3) || (defined(HAVE_DECL_KEY_BRL_DOT3) && HAVE_DECL_KEY_BRL_DOT3))
+# define KEY_BRL_DOT3 0x1f3
#endif
-#if defined(KEY_FN_D) || (defined(HAVE_DECL_KEY_FN_D) && HAVE_DECL_KEY_FN_D)
- XLAT(KEY_FN_D),
+#if !(defined(KEY_BRL_DOT4) || (defined(HAVE_DECL_KEY_BRL_DOT4) && HAVE_DECL_KEY_BRL_DOT4))
+# define KEY_BRL_DOT4 0x1f4
#endif
-#if defined(KEY_FN_E) || (defined(HAVE_DECL_KEY_FN_E) && HAVE_DECL_KEY_FN_E)
- XLAT(KEY_FN_E),
+#if !(defined(KEY_BRL_DOT5) || (defined(HAVE_DECL_KEY_BRL_DOT5) && HAVE_DECL_KEY_BRL_DOT5))
+# define KEY_BRL_DOT5 0x1f5
#endif
-#if defined(KEY_FN_F) || (defined(HAVE_DECL_KEY_FN_F) && HAVE_DECL_KEY_FN_F)
- XLAT(KEY_FN_F),
+#if !(defined(KEY_BRL_DOT6) || (defined(HAVE_DECL_KEY_BRL_DOT6) && HAVE_DECL_KEY_BRL_DOT6))
+# define KEY_BRL_DOT6 0x1f6
#endif
-#if defined(KEY_FN_S) || (defined(HAVE_DECL_KEY_FN_S) && HAVE_DECL_KEY_FN_S)
- XLAT(KEY_FN_S),
+#if !(defined(KEY_BRL_DOT7) || (defined(HAVE_DECL_KEY_BRL_DOT7) && HAVE_DECL_KEY_BRL_DOT7))
+# define KEY_BRL_DOT7 0x1f7
#endif
-#if defined(KEY_FN_B) || (defined(HAVE_DECL_KEY_FN_B) && HAVE_DECL_KEY_FN_B)
- XLAT(KEY_FN_B),
+#if !(defined(KEY_BRL_DOT8) || (defined(HAVE_DECL_KEY_BRL_DOT8) && HAVE_DECL_KEY_BRL_DOT8))
+# define KEY_BRL_DOT8 0x1f8
#endif
-
-#if defined(KEY_BRL_DOT1) || (defined(HAVE_DECL_KEY_BRL_DOT1) && HAVE_DECL_KEY_BRL_DOT1)
- XLAT(KEY_BRL_DOT1),
+#if !(defined(KEY_BRL_DOT9) || (defined(HAVE_DECL_KEY_BRL_DOT9) && HAVE_DECL_KEY_BRL_DOT9))
+# define KEY_BRL_DOT9 0x1f9
#endif
-#if defined(KEY_BRL_DOT2) || (defined(HAVE_DECL_KEY_BRL_DOT2) && HAVE_DECL_KEY_BRL_DOT2)
- XLAT(KEY_BRL_DOT2),
+#if !(defined(KEY_BRL_DOT10) || (defined(HAVE_DECL_KEY_BRL_DOT10) && HAVE_DECL_KEY_BRL_DOT10))
+# define KEY_BRL_DOT10 0x1fa
#endif
-#if defined(KEY_BRL_DOT3) || (defined(HAVE_DECL_KEY_BRL_DOT3) && HAVE_DECL_KEY_BRL_DOT3)
- XLAT(KEY_BRL_DOT3),
+#if !(defined(KEY_NUMERIC_0) || (defined(HAVE_DECL_KEY_NUMERIC_0) && HAVE_DECL_KEY_NUMERIC_0))
+# define KEY_NUMERIC_0 0x200
#endif
-#if defined(KEY_BRL_DOT4) || (defined(HAVE_DECL_KEY_BRL_DOT4) && HAVE_DECL_KEY_BRL_DOT4)
- XLAT(KEY_BRL_DOT4),
+#if !(defined(KEY_NUMERIC_1) || (defined(HAVE_DECL_KEY_NUMERIC_1) && HAVE_DECL_KEY_NUMERIC_1))
+# define KEY_NUMERIC_1 0x201
#endif
-#if defined(KEY_BRL_DOT5) || (defined(HAVE_DECL_KEY_BRL_DOT5) && HAVE_DECL_KEY_BRL_DOT5)
- XLAT(KEY_BRL_DOT5),
+#if !(defined(KEY_NUMERIC_2) || (defined(HAVE_DECL_KEY_NUMERIC_2) && HAVE_DECL_KEY_NUMERIC_2))
+# define KEY_NUMERIC_2 0x202
#endif
-#if defined(KEY_BRL_DOT6) || (defined(HAVE_DECL_KEY_BRL_DOT6) && HAVE_DECL_KEY_BRL_DOT6)
- XLAT(KEY_BRL_DOT6),
+#if !(defined(KEY_NUMERIC_3) || (defined(HAVE_DECL_KEY_NUMERIC_3) && HAVE_DECL_KEY_NUMERIC_3))
+# define KEY_NUMERIC_3 0x203
#endif
-#if defined(KEY_BRL_DOT7) || (defined(HAVE_DECL_KEY_BRL_DOT7) && HAVE_DECL_KEY_BRL_DOT7)
- XLAT(KEY_BRL_DOT7),
+#if !(defined(KEY_NUMERIC_4) || (defined(HAVE_DECL_KEY_NUMERIC_4) && HAVE_DECL_KEY_NUMERIC_4))
+# define KEY_NUMERIC_4 0x204
#endif
-#if defined(KEY_BRL_DOT8) || (defined(HAVE_DECL_KEY_BRL_DOT8) && HAVE_DECL_KEY_BRL_DOT8)
- XLAT(KEY_BRL_DOT8),
+#if !(defined(KEY_NUMERIC_5) || (defined(HAVE_DECL_KEY_NUMERIC_5) && HAVE_DECL_KEY_NUMERIC_5))
+# define KEY_NUMERIC_5 0x205
#endif
-#if defined(KEY_BRL_DOT9) || (defined(HAVE_DECL_KEY_BRL_DOT9) && HAVE_DECL_KEY_BRL_DOT9)
- XLAT(KEY_BRL_DOT9),
+#if !(defined(KEY_NUMERIC_6) || (defined(HAVE_DECL_KEY_NUMERIC_6) && HAVE_DECL_KEY_NUMERIC_6))
+# define KEY_NUMERIC_6 0x206
#endif
-#if defined(KEY_BRL_DOT10) || (defined(HAVE_DECL_KEY_BRL_DOT10) && HAVE_DECL_KEY_BRL_DOT10)
- XLAT(KEY_BRL_DOT10),
+#if !(defined(KEY_NUMERIC_7) || (defined(HAVE_DECL_KEY_NUMERIC_7) && HAVE_DECL_KEY_NUMERIC_7))
+# define KEY_NUMERIC_7 0x207
#endif
-
-#if defined(KEY_NUMERIC_0) || (defined(HAVE_DECL_KEY_NUMERIC_0) && HAVE_DECL_KEY_NUMERIC_0)
- XLAT(KEY_NUMERIC_0),
+#if !(defined(KEY_NUMERIC_8) || (defined(HAVE_DECL_KEY_NUMERIC_8) && HAVE_DECL_KEY_NUMERIC_8))
+# define KEY_NUMERIC_8 0x208
#endif
-#if defined(KEY_NUMERIC_1) || (defined(HAVE_DECL_KEY_NUMERIC_1) && HAVE_DECL_KEY_NUMERIC_1)
- XLAT(KEY_NUMERIC_1),
+#if !(defined(KEY_NUMERIC_9) || (defined(HAVE_DECL_KEY_NUMERIC_9) && HAVE_DECL_KEY_NUMERIC_9))
+# define KEY_NUMERIC_9 0x209
#endif
-#if defined(KEY_NUMERIC_2) || (defined(HAVE_DECL_KEY_NUMERIC_2) && HAVE_DECL_KEY_NUMERIC_2)
- XLAT(KEY_NUMERIC_2),
+#if !(defined(KEY_NUMERIC_STAR) || (defined(HAVE_DECL_KEY_NUMERIC_STAR) && HAVE_DECL_KEY_NUMERIC_STAR))
+# define KEY_NUMERIC_STAR 0x20a
#endif
-#if defined(KEY_NUMERIC_3) || (defined(HAVE_DECL_KEY_NUMERIC_3) && HAVE_DECL_KEY_NUMERIC_3)
- XLAT(KEY_NUMERIC_3),
+#if !(defined(KEY_NUMERIC_POUND) || (defined(HAVE_DECL_KEY_NUMERIC_POUND) && HAVE_DECL_KEY_NUMERIC_POUND))
+# define KEY_NUMERIC_POUND 0x20b
#endif
-#if defined(KEY_NUMERIC_4) || (defined(HAVE_DECL_KEY_NUMERIC_4) && HAVE_DECL_KEY_NUMERIC_4)
- XLAT(KEY_NUMERIC_4),
+#if !(defined(KEY_NUMERIC_A) || (defined(HAVE_DECL_KEY_NUMERIC_A) && HAVE_DECL_KEY_NUMERIC_A))
+# define KEY_NUMERIC_A 0x20c
#endif
-#if defined(KEY_NUMERIC_5) || (defined(HAVE_DECL_KEY_NUMERIC_5) && HAVE_DECL_KEY_NUMERIC_5)
- XLAT(KEY_NUMERIC_5),
+#if !(defined(KEY_NUMERIC_B) || (defined(HAVE_DECL_KEY_NUMERIC_B) && HAVE_DECL_KEY_NUMERIC_B))
+# define KEY_NUMERIC_B 0x20d
#endif
-#if defined(KEY_NUMERIC_6) || (defined(HAVE_DECL_KEY_NUMERIC_6) && HAVE_DECL_KEY_NUMERIC_6)
- XLAT(KEY_NUMERIC_6),
+#if !(defined(KEY_NUMERIC_C) || (defined(HAVE_DECL_KEY_NUMERIC_C) && HAVE_DECL_KEY_NUMERIC_C))
+# define KEY_NUMERIC_C 0x20e
#endif
-#if defined(KEY_NUMERIC_7) || (defined(HAVE_DECL_KEY_NUMERIC_7) && HAVE_DECL_KEY_NUMERIC_7)
- XLAT(KEY_NUMERIC_7),
+#if !(defined(KEY_NUMERIC_D) || (defined(HAVE_DECL_KEY_NUMERIC_D) && HAVE_DECL_KEY_NUMERIC_D))
+# define KEY_NUMERIC_D 0x20f
#endif
-#if defined(KEY_NUMERIC_8) || (defined(HAVE_DECL_KEY_NUMERIC_8) && HAVE_DECL_KEY_NUMERIC_8)
- XLAT(KEY_NUMERIC_8),
+#if !(defined(KEY_CAMERA_FOCUS) || (defined(HAVE_DECL_KEY_CAMERA_FOCUS) && HAVE_DECL_KEY_CAMERA_FOCUS))
+# define KEY_CAMERA_FOCUS 0x210
#endif
-#if defined(KEY_NUMERIC_9) || (defined(HAVE_DECL_KEY_NUMERIC_9) && HAVE_DECL_KEY_NUMERIC_9)
- XLAT(KEY_NUMERIC_9),
+#if !(defined(KEY_WPS_BUTTON) || (defined(HAVE_DECL_KEY_WPS_BUTTON) && HAVE_DECL_KEY_WPS_BUTTON))
+# define KEY_WPS_BUTTON 0x211
#endif
-#if defined(KEY_NUMERIC_STAR) || (defined(HAVE_DECL_KEY_NUMERIC_STAR) && HAVE_DECL_KEY_NUMERIC_STAR)
- XLAT(KEY_NUMERIC_STAR),
+#if !(defined(KEY_TOUCHPAD_TOGGLE) || (defined(HAVE_DECL_KEY_TOUCHPAD_TOGGLE) && HAVE_DECL_KEY_TOUCHPAD_TOGGLE))
+# define KEY_TOUCHPAD_TOGGLE 0x212
#endif
-#if defined(KEY_NUMERIC_POUND) || (defined(HAVE_DECL_KEY_NUMERIC_POUND) && HAVE_DECL_KEY_NUMERIC_POUND)
- XLAT(KEY_NUMERIC_POUND),
+#if !(defined(KEY_TOUCHPAD_ON) || (defined(HAVE_DECL_KEY_TOUCHPAD_ON) && HAVE_DECL_KEY_TOUCHPAD_ON))
+# define KEY_TOUCHPAD_ON 0x213
#endif
-#if defined(KEY_NUMERIC_A) || (defined(HAVE_DECL_KEY_NUMERIC_A) && HAVE_DECL_KEY_NUMERIC_A)
- XLAT(KEY_NUMERIC_A),
+#if !(defined(KEY_TOUCHPAD_OFF) || (defined(HAVE_DECL_KEY_TOUCHPAD_OFF) && HAVE_DECL_KEY_TOUCHPAD_OFF))
+# define KEY_TOUCHPAD_OFF 0x214
#endif
-#if defined(KEY_NUMERIC_B) || (defined(HAVE_DECL_KEY_NUMERIC_B) && HAVE_DECL_KEY_NUMERIC_B)
- XLAT(KEY_NUMERIC_B),
+#if !(defined(KEY_CAMERA_ZOOMIN) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMIN) && HAVE_DECL_KEY_CAMERA_ZOOMIN))
+# define KEY_CAMERA_ZOOMIN 0x215
#endif
-#if defined(KEY_NUMERIC_C) || (defined(HAVE_DECL_KEY_NUMERIC_C) && HAVE_DECL_KEY_NUMERIC_C)
- XLAT(KEY_NUMERIC_C),
+#if !(defined(KEY_CAMERA_ZOOMOUT) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMOUT) && HAVE_DECL_KEY_CAMERA_ZOOMOUT))
+# define KEY_CAMERA_ZOOMOUT 0x216
#endif
-#if defined(KEY_NUMERIC_D) || (defined(HAVE_DECL_KEY_NUMERIC_D) && HAVE_DECL_KEY_NUMERIC_D)
- XLAT(KEY_NUMERIC_D),
+#if !(defined(KEY_CAMERA_UP) || (defined(HAVE_DECL_KEY_CAMERA_UP) && HAVE_DECL_KEY_CAMERA_UP))
+# define KEY_CAMERA_UP 0x217
#endif
-
-#if defined(KEY_CAMERA_FOCUS) || (defined(HAVE_DECL_KEY_CAMERA_FOCUS) && HAVE_DECL_KEY_CAMERA_FOCUS)
- XLAT(KEY_CAMERA_FOCUS),
+#if !(defined(KEY_CAMERA_DOWN) || (defined(HAVE_DECL_KEY_CAMERA_DOWN) && HAVE_DECL_KEY_CAMERA_DOWN))
+# define KEY_CAMERA_DOWN 0x218
#endif
-#if defined(KEY_WPS_BUTTON) || (defined(HAVE_DECL_KEY_WPS_BUTTON) && HAVE_DECL_KEY_WPS_BUTTON)
- XLAT(KEY_WPS_BUTTON),
+#if !(defined(KEY_CAMERA_LEFT) || (defined(HAVE_DECL_KEY_CAMERA_LEFT) && HAVE_DECL_KEY_CAMERA_LEFT))
+# define KEY_CAMERA_LEFT 0x219
#endif
-
-#if defined(KEY_TOUCHPAD_TOGGLE) || (defined(HAVE_DECL_KEY_TOUCHPAD_TOGGLE) && HAVE_DECL_KEY_TOUCHPAD_TOGGLE)
- XLAT(KEY_TOUCHPAD_TOGGLE),
+#if !(defined(KEY_CAMERA_RIGHT) || (defined(HAVE_DECL_KEY_CAMERA_RIGHT) && HAVE_DECL_KEY_CAMERA_RIGHT))
+# define KEY_CAMERA_RIGHT 0x21a
#endif
-#if defined(KEY_TOUCHPAD_ON) || (defined(HAVE_DECL_KEY_TOUCHPAD_ON) && HAVE_DECL_KEY_TOUCHPAD_ON)
- XLAT(KEY_TOUCHPAD_ON),
+#if !(defined(KEY_ATTENDANT_ON) || (defined(HAVE_DECL_KEY_ATTENDANT_ON) && HAVE_DECL_KEY_ATTENDANT_ON))
+# define KEY_ATTENDANT_ON 0x21b
#endif
-#if defined(KEY_TOUCHPAD_OFF) || (defined(HAVE_DECL_KEY_TOUCHPAD_OFF) && HAVE_DECL_KEY_TOUCHPAD_OFF)
- XLAT(KEY_TOUCHPAD_OFF),
+#if !(defined(KEY_ATTENDANT_OFF) || (defined(HAVE_DECL_KEY_ATTENDANT_OFF) && HAVE_DECL_KEY_ATTENDANT_OFF))
+# define KEY_ATTENDANT_OFF 0x21c
#endif
-
-#if defined(KEY_CAMERA_ZOOMIN) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMIN) && HAVE_DECL_KEY_CAMERA_ZOOMIN)
- XLAT(KEY_CAMERA_ZOOMIN),
+#if !(defined(KEY_ATTENDANT_TOGGLE) || (defined(HAVE_DECL_KEY_ATTENDANT_TOGGLE) && HAVE_DECL_KEY_ATTENDANT_TOGGLE))
+# define KEY_ATTENDANT_TOGGLE 0x21d
#endif
-#if defined(KEY_CAMERA_ZOOMOUT) || (defined(HAVE_DECL_KEY_CAMERA_ZOOMOUT) && HAVE_DECL_KEY_CAMERA_ZOOMOUT)
- XLAT(KEY_CAMERA_ZOOMOUT),
+#if !(defined(KEY_LIGHTS_TOGGLE) || (defined(HAVE_DECL_KEY_LIGHTS_TOGGLE) && HAVE_DECL_KEY_LIGHTS_TOGGLE))
+# define KEY_LIGHTS_TOGGLE 0x21e
#endif
-#if defined(KEY_CAMERA_UP) || (defined(HAVE_DECL_KEY_CAMERA_UP) && HAVE_DECL_KEY_CAMERA_UP)
- XLAT(KEY_CAMERA_UP),
+#if !(defined(BTN_DPAD_UP) || (defined(HAVE_DECL_BTN_DPAD_UP) && HAVE_DECL_BTN_DPAD_UP))
+# define BTN_DPAD_UP 0x220
#endif
-#if defined(KEY_CAMERA_DOWN) || (defined(HAVE_DECL_KEY_CAMERA_DOWN) && HAVE_DECL_KEY_CAMERA_DOWN)
- XLAT(KEY_CAMERA_DOWN),
+#if !(defined(BTN_DPAD_DOWN) || (defined(HAVE_DECL_BTN_DPAD_DOWN) && HAVE_DECL_BTN_DPAD_DOWN))
+# define BTN_DPAD_DOWN 0x221
#endif
-#if defined(KEY_CAMERA_LEFT) || (defined(HAVE_DECL_KEY_CAMERA_LEFT) && HAVE_DECL_KEY_CAMERA_LEFT)
- XLAT(KEY_CAMERA_LEFT),
+#if !(defined(BTN_DPAD_LEFT) || (defined(HAVE_DECL_BTN_DPAD_LEFT) && HAVE_DECL_BTN_DPAD_LEFT))
+# define BTN_DPAD_LEFT 0x222
#endif
-#if defined(KEY_CAMERA_RIGHT) || (defined(HAVE_DECL_KEY_CAMERA_RIGHT) && HAVE_DECL_KEY_CAMERA_RIGHT)
- XLAT(KEY_CAMERA_RIGHT),
+#if !(defined(BTN_DPAD_RIGHT) || (defined(HAVE_DECL_BTN_DPAD_RIGHT) && HAVE_DECL_BTN_DPAD_RIGHT))
+# define BTN_DPAD_RIGHT 0x223
#endif
-
-#if defined(KEY_ATTENDANT_ON) || (defined(HAVE_DECL_KEY_ATTENDANT_ON) && HAVE_DECL_KEY_ATTENDANT_ON)
- XLAT(KEY_ATTENDANT_ON),
+#if !(defined(KEY_ALS_TOGGLE) || (defined(HAVE_DECL_KEY_ALS_TOGGLE) && HAVE_DECL_KEY_ALS_TOGGLE))
+# define KEY_ALS_TOGGLE 0x230
#endif
-#if defined(KEY_ATTENDANT_OFF) || (defined(HAVE_DECL_KEY_ATTENDANT_OFF) && HAVE_DECL_KEY_ATTENDANT_OFF)
- XLAT(KEY_ATTENDANT_OFF),
+#if !(defined(KEY_ROTATE_LOCK_TOGGLE) || (defined(HAVE_DECL_KEY_ROTATE_LOCK_TOGGLE) && HAVE_DECL_KEY_ROTATE_LOCK_TOGGLE))
+# define KEY_ROTATE_LOCK_TOGGLE 0x231
#endif
-#if defined(KEY_ATTENDANT_TOGGLE) || (defined(HAVE_DECL_KEY_ATTENDANT_TOGGLE) && HAVE_DECL_KEY_ATTENDANT_TOGGLE)
- XLAT(KEY_ATTENDANT_TOGGLE),
+#if !(defined(KEY_BUTTONCONFIG) || (defined(HAVE_DECL_KEY_BUTTONCONFIG) && HAVE_DECL_KEY_BUTTONCONFIG))
+# define KEY_BUTTONCONFIG 0x240
#endif
-#if defined(KEY_LIGHTS_TOGGLE) || (defined(HAVE_DECL_KEY_LIGHTS_TOGGLE) && HAVE_DECL_KEY_LIGHTS_TOGGLE)
- XLAT(KEY_LIGHTS_TOGGLE),
+#if !(defined(KEY_TASKMANAGER) || (defined(HAVE_DECL_KEY_TASKMANAGER) && HAVE_DECL_KEY_TASKMANAGER))
+# define KEY_TASKMANAGER 0x241
#endif
-
-#if defined(BTN_DPAD_UP) || (defined(HAVE_DECL_BTN_DPAD_UP) && HAVE_DECL_BTN_DPAD_UP)
- XLAT(BTN_DPAD_UP),
-#endif
-#if defined(BTN_DPAD_DOWN) || (defined(HAVE_DECL_BTN_DPAD_DOWN) && HAVE_DECL_BTN_DPAD_DOWN)
- XLAT(BTN_DPAD_DOWN),
-#endif
-#if defined(BTN_DPAD_LEFT) || (defined(HAVE_DECL_BTN_DPAD_LEFT) && HAVE_DECL_BTN_DPAD_LEFT)
- XLAT(BTN_DPAD_LEFT),
-#endif
-#if defined(BTN_DPAD_RIGHT) || (defined(HAVE_DECL_BTN_DPAD_RIGHT) && HAVE_DECL_BTN_DPAD_RIGHT)
- XLAT(BTN_DPAD_RIGHT),
-#endif
-
-#if defined(KEY_ALS_TOGGLE) || (defined(HAVE_DECL_KEY_ALS_TOGGLE) && HAVE_DECL_KEY_ALS_TOGGLE)
- XLAT(KEY_ALS_TOGGLE),
+#if !(defined(KEY_JOURNAL) || (defined(HAVE_DECL_KEY_JOURNAL) && HAVE_DECL_KEY_JOURNAL))
+# define KEY_JOURNAL 0x242
#endif
-
-#if defined(KEY_BUTTONCONFIG) || (defined(HAVE_DECL_KEY_BUTTONCONFIG) && HAVE_DECL_KEY_BUTTONCONFIG)
- XLAT(KEY_BUTTONCONFIG),
-#endif
-#if defined(KEY_TASKMANAGER) || (defined(HAVE_DECL_KEY_TASKMANAGER) && HAVE_DECL_KEY_TASKMANAGER)
- XLAT(KEY_TASKMANAGER),
+#if !(defined(KEY_CONTROLPANEL) || (defined(HAVE_DECL_KEY_CONTROLPANEL) && HAVE_DECL_KEY_CONTROLPANEL))
+# define KEY_CONTROLPANEL 0x243
#endif
-#if defined(KEY_JOURNAL) || (defined(HAVE_DECL_KEY_JOURNAL) && HAVE_DECL_KEY_JOURNAL)
- XLAT(KEY_JOURNAL),
+#if !(defined(KEY_APPSELECT) || (defined(HAVE_DECL_KEY_APPSELECT) && HAVE_DECL_KEY_APPSELECT))
+# define KEY_APPSELECT 0x244
#endif
-#if defined(KEY_CONTROLPANEL) || (defined(HAVE_DECL_KEY_CONTROLPANEL) && HAVE_DECL_KEY_CONTROLPANEL)
- XLAT(KEY_CONTROLPANEL),
+#if !(defined(KEY_SCREENSAVER) || (defined(HAVE_DECL_KEY_SCREENSAVER) && HAVE_DECL_KEY_SCREENSAVER))
+# define KEY_SCREENSAVER 0x245
#endif
-#if defined(KEY_APPSELECT) || (defined(HAVE_DECL_KEY_APPSELECT) && HAVE_DECL_KEY_APPSELECT)
- XLAT(KEY_APPSELECT),
+#if !(defined(KEY_VOICECOMMAND) || (defined(HAVE_DECL_KEY_VOICECOMMAND) && HAVE_DECL_KEY_VOICECOMMAND))
+# define KEY_VOICECOMMAND 0x246
#endif
-#if defined(KEY_SCREENSAVER) || (defined(HAVE_DECL_KEY_SCREENSAVER) && HAVE_DECL_KEY_SCREENSAVER)
- XLAT(KEY_SCREENSAVER),
+#if !(defined(KEY_ASSISTANT) || (defined(HAVE_DECL_KEY_ASSISTANT) && HAVE_DECL_KEY_ASSISTANT))
+# define KEY_ASSISTANT 0x247
#endif
-#if defined(KEY_VOICECOMMAND) || (defined(HAVE_DECL_KEY_VOICECOMMAND) && HAVE_DECL_KEY_VOICECOMMAND)
- XLAT(KEY_VOICECOMMAND),
+#if !(defined(KEY_BRIGHTNESS_MIN) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MIN) && HAVE_DECL_KEY_BRIGHTNESS_MIN))
+# define KEY_BRIGHTNESS_MIN 0x250
#endif
-#if defined(KEY_ASSISTANT) || (defined(HAVE_DECL_KEY_ASSISTANT) && HAVE_DECL_KEY_ASSISTANT)
- XLAT(KEY_ASSISTANT),
+#if !(defined(KEY_BRIGHTNESS_MAX) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MAX) && HAVE_DECL_KEY_BRIGHTNESS_MAX))
+# define KEY_BRIGHTNESS_MAX 0x251
#endif
-
-#if defined(KEY_BRIGHTNESS_MIN) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MIN) && HAVE_DECL_KEY_BRIGHTNESS_MIN)
- XLAT(KEY_BRIGHTNESS_MIN),
+#if !(defined(KEY_KBDINPUTASSIST_PREV) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREV) && HAVE_DECL_KEY_KBDINPUTASSIST_PREV))
+# define KEY_KBDINPUTASSIST_PREV 0x260
#endif
-#if defined(KEY_BRIGHTNESS_MAX) || (defined(HAVE_DECL_KEY_BRIGHTNESS_MAX) && HAVE_DECL_KEY_BRIGHTNESS_MAX)
- XLAT(KEY_BRIGHTNESS_MAX),
+#if !(defined(KEY_KBDINPUTASSIST_NEXT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXT) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXT))
+# define KEY_KBDINPUTASSIST_NEXT 0x261
#endif
-
-#if defined(KEY_KBDINPUTASSIST_PREV) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREV) && HAVE_DECL_KEY_KBDINPUTASSIST_PREV)
- XLAT(KEY_KBDINPUTASSIST_PREV),
+#if !(defined(KEY_KBDINPUTASSIST_PREVGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP))
+# define KEY_KBDINPUTASSIST_PREVGROUP 0x262
#endif
-#if defined(KEY_KBDINPUTASSIST_NEXT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXT) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXT)
- XLAT(KEY_KBDINPUTASSIST_NEXT),
+#if !(defined(KEY_KBDINPUTASSIST_NEXTGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP))
+# define KEY_KBDINPUTASSIST_NEXTGROUP 0x263
#endif
-#if defined(KEY_KBDINPUTASSIST_PREVGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_PREVGROUP)
- XLAT(KEY_KBDINPUTASSIST_PREVGROUP),
+#if !(defined(KEY_KBDINPUTASSIST_ACCEPT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT) && HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT))
+# define KEY_KBDINPUTASSIST_ACCEPT 0x264
#endif
-#if defined(KEY_KBDINPUTASSIST_NEXTGROUP) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP) && HAVE_DECL_KEY_KBDINPUTASSIST_NEXTGROUP)
- XLAT(KEY_KBDINPUTASSIST_NEXTGROUP),
+#if !(defined(KEY_KBDINPUTASSIST_CANCEL) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL) && HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL))
+# define KEY_KBDINPUTASSIST_CANCEL 0x265
#endif
-#if defined(KEY_KBDINPUTASSIST_ACCEPT) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT) && HAVE_DECL_KEY_KBDINPUTASSIST_ACCEPT)
- XLAT(KEY_KBDINPUTASSIST_ACCEPT),
+#if !(defined(KEY_RIGHT_UP) || (defined(HAVE_DECL_KEY_RIGHT_UP) && HAVE_DECL_KEY_RIGHT_UP))
+# define KEY_RIGHT_UP 0x266
#endif
-#if defined(KEY_KBDINPUTASSIST_CANCEL) || (defined(HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL) && HAVE_DECL_KEY_KBDINPUTASSIST_CANCEL)
- XLAT(KEY_KBDINPUTASSIST_CANCEL),
+#if !(defined(KEY_RIGHT_DOWN) || (defined(HAVE_DECL_KEY_RIGHT_DOWN) && HAVE_DECL_KEY_RIGHT_DOWN))
+# define KEY_RIGHT_DOWN 0x267
#endif
-
-#if defined(KEY_RIGHT_UP) || (defined(HAVE_DECL_KEY_RIGHT_UP) && HAVE_DECL_KEY_RIGHT_UP)
- XLAT(KEY_RIGHT_UP),
+#if !(defined(KEY_LEFT_UP) || (defined(HAVE_DECL_KEY_LEFT_UP) && HAVE_DECL_KEY_LEFT_UP))
+# define KEY_LEFT_UP 0x268
#endif
-#if defined(KEY_RIGHT_DOWN) || (defined(HAVE_DECL_KEY_RIGHT_DOWN) && HAVE_DECL_KEY_RIGHT_DOWN)
- XLAT(KEY_RIGHT_DOWN),
+#if !(defined(KEY_LEFT_DOWN) || (defined(HAVE_DECL_KEY_LEFT_DOWN) && HAVE_DECL_KEY_LEFT_DOWN))
+# define KEY_LEFT_DOWN 0x269
#endif
-#if defined(KEY_LEFT_UP) || (defined(HAVE_DECL_KEY_LEFT_UP) && HAVE_DECL_KEY_LEFT_UP)
- XLAT(KEY_LEFT_UP),
+#if !(defined(KEY_ROOT_MENU) || (defined(HAVE_DECL_KEY_ROOT_MENU) && HAVE_DECL_KEY_ROOT_MENU))
+# define KEY_ROOT_MENU 0x26a
#endif
-#if defined(KEY_LEFT_DOWN) || (defined(HAVE_DECL_KEY_LEFT_DOWN) && HAVE_DECL_KEY_LEFT_DOWN)
- XLAT(KEY_LEFT_DOWN),
+#if !(defined(KEY_MEDIA_TOP_MENU) || (defined(HAVE_DECL_KEY_MEDIA_TOP_MENU) && HAVE_DECL_KEY_MEDIA_TOP_MENU))
+# define KEY_MEDIA_TOP_MENU 0x26b
#endif
-
-#if defined(KEY_ROOT_MENU) || (defined(HAVE_DECL_KEY_ROOT_MENU) && HAVE_DECL_KEY_ROOT_MENU)
- XLAT(KEY_ROOT_MENU),
+#if !(defined(KEY_NUMERIC_11) || (defined(HAVE_DECL_KEY_NUMERIC_11) && HAVE_DECL_KEY_NUMERIC_11))
+# define KEY_NUMERIC_11 0x26c
#endif
-#if defined(KEY_MEDIA_TOP_MENU) || (defined(HAVE_DECL_KEY_MEDIA_TOP_MENU) && HAVE_DECL_KEY_MEDIA_TOP_MENU)
- XLAT(KEY_MEDIA_TOP_MENU),
+#if !(defined(KEY_NUMERIC_12) || (defined(HAVE_DECL_KEY_NUMERIC_12) && HAVE_DECL_KEY_NUMERIC_12))
+# define KEY_NUMERIC_12 0x26d
#endif
-#if defined(KEY_NUMERIC_11) || (defined(HAVE_DECL_KEY_NUMERIC_11) && HAVE_DECL_KEY_NUMERIC_11)
- XLAT(KEY_NUMERIC_11),
+#if !(defined(KEY_AUDIO_DESC) || (defined(HAVE_DECL_KEY_AUDIO_DESC) && HAVE_DECL_KEY_AUDIO_DESC))
+# define KEY_AUDIO_DESC 0x26e
#endif
-#if defined(KEY_NUMERIC_12) || (defined(HAVE_DECL_KEY_NUMERIC_12) && HAVE_DECL_KEY_NUMERIC_12)
- XLAT(KEY_NUMERIC_12),
+#if !(defined(KEY_3D_MODE) || (defined(HAVE_DECL_KEY_3D_MODE) && HAVE_DECL_KEY_3D_MODE))
+# define KEY_3D_MODE 0x26f
#endif
-
-#if defined(KEY_AUDIO_DESC) || (defined(HAVE_DECL_KEY_AUDIO_DESC) && HAVE_DECL_KEY_AUDIO_DESC)
- XLAT(KEY_AUDIO_DESC),
+#if !(defined(KEY_NEXT_FAVORITE) || (defined(HAVE_DECL_KEY_NEXT_FAVORITE) && HAVE_DECL_KEY_NEXT_FAVORITE))
+# define KEY_NEXT_FAVORITE 0x270
#endif
-#if defined(KEY_3D_MODE) || (defined(HAVE_DECL_KEY_3D_MODE) && HAVE_DECL_KEY_3D_MODE)
- XLAT(KEY_3D_MODE),
+#if !(defined(KEY_STOP_RECORD) || (defined(HAVE_DECL_KEY_STOP_RECORD) && HAVE_DECL_KEY_STOP_RECORD))
+# define KEY_STOP_RECORD 0x271
#endif
-#if defined(KEY_NEXT_FAVORITE) || (defined(HAVE_DECL_KEY_NEXT_FAVORITE) && HAVE_DECL_KEY_NEXT_FAVORITE)
- XLAT(KEY_NEXT_FAVORITE),
+#if !(defined(KEY_PAUSE_RECORD) || (defined(HAVE_DECL_KEY_PAUSE_RECORD) && HAVE_DECL_KEY_PAUSE_RECORD))
+# define KEY_PAUSE_RECORD 0x272
#endif
-#if defined(KEY_STOP_RECORD) || (defined(HAVE_DECL_KEY_STOP_RECORD) && HAVE_DECL_KEY_STOP_RECORD)
- XLAT(KEY_STOP_RECORD),
+#if !(defined(KEY_VOD) || (defined(HAVE_DECL_KEY_VOD) && HAVE_DECL_KEY_VOD))
+# define KEY_VOD 0x273
#endif
-#if defined(KEY_PAUSE_RECORD) || (defined(HAVE_DECL_KEY_PAUSE_RECORD) && HAVE_DECL_KEY_PAUSE_RECORD)
- XLAT(KEY_PAUSE_RECORD),
+#if !(defined(KEY_UNMUTE) || (defined(HAVE_DECL_KEY_UNMUTE) && HAVE_DECL_KEY_UNMUTE))
+# define KEY_UNMUTE 0x274
#endif
-#if defined(KEY_VOD) || (defined(HAVE_DECL_KEY_VOD) && HAVE_DECL_KEY_VOD)
- XLAT(KEY_VOD),
+#if !(defined(KEY_FASTREVERSE) || (defined(HAVE_DECL_KEY_FASTREVERSE) && HAVE_DECL_KEY_FASTREVERSE))
+# define KEY_FASTREVERSE 0x275
#endif
-#if defined(KEY_UNMUTE) || (defined(HAVE_DECL_KEY_UNMUTE) && HAVE_DECL_KEY_UNMUTE)
- XLAT(KEY_UNMUTE),
+#if !(defined(KEY_SLOWREVERSE) || (defined(HAVE_DECL_KEY_SLOWREVERSE) && HAVE_DECL_KEY_SLOWREVERSE))
+# define KEY_SLOWREVERSE 0x276
#endif
-#if defined(KEY_FASTREVERSE) || (defined(HAVE_DECL_KEY_FASTREVERSE) && HAVE_DECL_KEY_FASTREVERSE)
- XLAT(KEY_FASTREVERSE),
+#if !(defined(KEY_DATA) || (defined(HAVE_DECL_KEY_DATA) && HAVE_DECL_KEY_DATA))
+# define KEY_DATA 0x277
#endif
-#if defined(KEY_SLOWREVERSE) || (defined(HAVE_DECL_KEY_SLOWREVERSE) && HAVE_DECL_KEY_SLOWREVERSE)
- XLAT(KEY_SLOWREVERSE),
+#if !(defined(KEY_ONSCREEN_KEYBOARD) || (defined(HAVE_DECL_KEY_ONSCREEN_KEYBOARD) && HAVE_DECL_KEY_ONSCREEN_KEYBOARD))
+# define KEY_ONSCREEN_KEYBOARD 0x278
#endif
-
-#if defined(BTN_TRIGGER_HAPPY) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY) && HAVE_DECL_BTN_TRIGGER_HAPPY)
- XLAT(BTN_TRIGGER_HAPPY),
+#if !(defined(BTN_TRIGGER_HAPPY) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY) && HAVE_DECL_BTN_TRIGGER_HAPPY))
+# define BTN_TRIGGER_HAPPY 0x2c0
#endif
-#if defined(BTN_TRIGGER_HAPPY1) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY1) && HAVE_DECL_BTN_TRIGGER_HAPPY1)
- XLAT(BTN_TRIGGER_HAPPY1),
+#if !(defined(BTN_TRIGGER_HAPPY1) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY1) && HAVE_DECL_BTN_TRIGGER_HAPPY1))
+# define BTN_TRIGGER_HAPPY1 0x2c0
#endif
-#if defined(BTN_TRIGGER_HAPPY2) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY2) && HAVE_DECL_BTN_TRIGGER_HAPPY2)
- XLAT(BTN_TRIGGER_HAPPY2),
+#if !(defined(BTN_TRIGGER_HAPPY2) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY2) && HAVE_DECL_BTN_TRIGGER_HAPPY2))
+# define BTN_TRIGGER_HAPPY2 0x2c1
#endif
-#if defined(BTN_TRIGGER_HAPPY3) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY3) && HAVE_DECL_BTN_TRIGGER_HAPPY3)
- XLAT(BTN_TRIGGER_HAPPY3),
+#if !(defined(BTN_TRIGGER_HAPPY3) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY3) && HAVE_DECL_BTN_TRIGGER_HAPPY3))
+# define BTN_TRIGGER_HAPPY3 0x2c2
#endif
-#if defined(BTN_TRIGGER_HAPPY4) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY4) && HAVE_DECL_BTN_TRIGGER_HAPPY4)
- XLAT(BTN_TRIGGER_HAPPY4),
+#if !(defined(BTN_TRIGGER_HAPPY4) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY4) && HAVE_DECL_BTN_TRIGGER_HAPPY4))
+# define BTN_TRIGGER_HAPPY4 0x2c3
#endif
-#if defined(BTN_TRIGGER_HAPPY5) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY5) && HAVE_DECL_BTN_TRIGGER_HAPPY5)
- XLAT(BTN_TRIGGER_HAPPY5),
+#if !(defined(BTN_TRIGGER_HAPPY5) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY5) && HAVE_DECL_BTN_TRIGGER_HAPPY5))
+# define BTN_TRIGGER_HAPPY5 0x2c4
#endif
-#if defined(BTN_TRIGGER_HAPPY6) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY6) && HAVE_DECL_BTN_TRIGGER_HAPPY6)
- XLAT(BTN_TRIGGER_HAPPY6),
+#if !(defined(BTN_TRIGGER_HAPPY6) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY6) && HAVE_DECL_BTN_TRIGGER_HAPPY6))
+# define BTN_TRIGGER_HAPPY6 0x2c5
#endif
-#if defined(BTN_TRIGGER_HAPPY7) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY7) && HAVE_DECL_BTN_TRIGGER_HAPPY7)
- XLAT(BTN_TRIGGER_HAPPY7),
+#if !(defined(BTN_TRIGGER_HAPPY7) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY7) && HAVE_DECL_BTN_TRIGGER_HAPPY7))
+# define BTN_TRIGGER_HAPPY7 0x2c6
#endif
-#if defined(BTN_TRIGGER_HAPPY8) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY8) && HAVE_DECL_BTN_TRIGGER_HAPPY8)
- XLAT(BTN_TRIGGER_HAPPY8),
+#if !(defined(BTN_TRIGGER_HAPPY8) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY8) && HAVE_DECL_BTN_TRIGGER_HAPPY8))
+# define BTN_TRIGGER_HAPPY8 0x2c7
#endif
-#if defined(BTN_TRIGGER_HAPPY9) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY9) && HAVE_DECL_BTN_TRIGGER_HAPPY9)
- XLAT(BTN_TRIGGER_HAPPY9),
+#if !(defined(BTN_TRIGGER_HAPPY9) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY9) && HAVE_DECL_BTN_TRIGGER_HAPPY9))
+# define BTN_TRIGGER_HAPPY9 0x2c8
#endif
-#if defined(BTN_TRIGGER_HAPPY10) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY10) && HAVE_DECL_BTN_TRIGGER_HAPPY10)
- XLAT(BTN_TRIGGER_HAPPY10),
+#if !(defined(BTN_TRIGGER_HAPPY10) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY10) && HAVE_DECL_BTN_TRIGGER_HAPPY10))
+# define BTN_TRIGGER_HAPPY10 0x2c9
#endif
-#if defined(BTN_TRIGGER_HAPPY11) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY11) && HAVE_DECL_BTN_TRIGGER_HAPPY11)
- XLAT(BTN_TRIGGER_HAPPY11),
+#if !(defined(BTN_TRIGGER_HAPPY11) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY11) && HAVE_DECL_BTN_TRIGGER_HAPPY11))
+# define BTN_TRIGGER_HAPPY11 0x2ca
#endif
-#if defined(BTN_TRIGGER_HAPPY12) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY12) && HAVE_DECL_BTN_TRIGGER_HAPPY12)
- XLAT(BTN_TRIGGER_HAPPY12),
+#if !(defined(BTN_TRIGGER_HAPPY12) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY12) && HAVE_DECL_BTN_TRIGGER_HAPPY12))
+# define BTN_TRIGGER_HAPPY12 0x2cb
#endif
-#if defined(BTN_TRIGGER_HAPPY13) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY13) && HAVE_DECL_BTN_TRIGGER_HAPPY13)
- XLAT(BTN_TRIGGER_HAPPY13),
+#if !(defined(BTN_TRIGGER_HAPPY13) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY13) && HAVE_DECL_BTN_TRIGGER_HAPPY13))
+# define BTN_TRIGGER_HAPPY13 0x2cc
#endif
-#if defined(BTN_TRIGGER_HAPPY14) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY14) && HAVE_DECL_BTN_TRIGGER_HAPPY14)
- XLAT(BTN_TRIGGER_HAPPY14),
+#if !(defined(BTN_TRIGGER_HAPPY14) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY14) && HAVE_DECL_BTN_TRIGGER_HAPPY14))
+# define BTN_TRIGGER_HAPPY14 0x2cd
#endif
-#if defined(BTN_TRIGGER_HAPPY15) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY15) && HAVE_DECL_BTN_TRIGGER_HAPPY15)
- XLAT(BTN_TRIGGER_HAPPY15),
+#if !(defined(BTN_TRIGGER_HAPPY15) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY15) && HAVE_DECL_BTN_TRIGGER_HAPPY15))
+# define BTN_TRIGGER_HAPPY15 0x2ce
#endif
-#if defined(BTN_TRIGGER_HAPPY16) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY16) && HAVE_DECL_BTN_TRIGGER_HAPPY16)
- XLAT(BTN_TRIGGER_HAPPY16),
+#if !(defined(BTN_TRIGGER_HAPPY16) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY16) && HAVE_DECL_BTN_TRIGGER_HAPPY16))
+# define BTN_TRIGGER_HAPPY16 0x2cf
#endif
-#if defined(BTN_TRIGGER_HAPPY17) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY17) && HAVE_DECL_BTN_TRIGGER_HAPPY17)
- XLAT(BTN_TRIGGER_HAPPY17),
+#if !(defined(BTN_TRIGGER_HAPPY17) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY17) && HAVE_DECL_BTN_TRIGGER_HAPPY17))
+# define BTN_TRIGGER_HAPPY17 0x2d0
#endif
-#if defined(BTN_TRIGGER_HAPPY18) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY18) && HAVE_DECL_BTN_TRIGGER_HAPPY18)
- XLAT(BTN_TRIGGER_HAPPY18),
+#if !(defined(BTN_TRIGGER_HAPPY18) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY18) && HAVE_DECL_BTN_TRIGGER_HAPPY18))
+# define BTN_TRIGGER_HAPPY18 0x2d1
#endif
-#if defined(BTN_TRIGGER_HAPPY19) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY19) && HAVE_DECL_BTN_TRIGGER_HAPPY19)
- XLAT(BTN_TRIGGER_HAPPY19),
+#if !(defined(BTN_TRIGGER_HAPPY19) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY19) && HAVE_DECL_BTN_TRIGGER_HAPPY19))
+# define BTN_TRIGGER_HAPPY19 0x2d2
#endif
-#if defined(BTN_TRIGGER_HAPPY20) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY20) && HAVE_DECL_BTN_TRIGGER_HAPPY20)
- XLAT(BTN_TRIGGER_HAPPY20),
+#if !(defined(BTN_TRIGGER_HAPPY20) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY20) && HAVE_DECL_BTN_TRIGGER_HAPPY20))
+# define BTN_TRIGGER_HAPPY20 0x2d3
#endif
-#if defined(BTN_TRIGGER_HAPPY21) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY21) && HAVE_DECL_BTN_TRIGGER_HAPPY21)
- XLAT(BTN_TRIGGER_HAPPY21),
+#if !(defined(BTN_TRIGGER_HAPPY21) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY21) && HAVE_DECL_BTN_TRIGGER_HAPPY21))
+# define BTN_TRIGGER_HAPPY21 0x2d4
#endif
-#if defined(BTN_TRIGGER_HAPPY22) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY22) && HAVE_DECL_BTN_TRIGGER_HAPPY22)
- XLAT(BTN_TRIGGER_HAPPY22),
+#if !(defined(BTN_TRIGGER_HAPPY22) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY22) && HAVE_DECL_BTN_TRIGGER_HAPPY22))
+# define BTN_TRIGGER_HAPPY22 0x2d5
#endif
-#if defined(BTN_TRIGGER_HAPPY23) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY23) && HAVE_DECL_BTN_TRIGGER_HAPPY23)
- XLAT(BTN_TRIGGER_HAPPY23),
+#if !(defined(BTN_TRIGGER_HAPPY23) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY23) && HAVE_DECL_BTN_TRIGGER_HAPPY23))
+# define BTN_TRIGGER_HAPPY23 0x2d6
#endif
-#if defined(BTN_TRIGGER_HAPPY24) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY24) && HAVE_DECL_BTN_TRIGGER_HAPPY24)
- XLAT(BTN_TRIGGER_HAPPY24),
+#if !(defined(BTN_TRIGGER_HAPPY24) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY24) && HAVE_DECL_BTN_TRIGGER_HAPPY24))
+# define BTN_TRIGGER_HAPPY24 0x2d7
#endif
-#if defined(BTN_TRIGGER_HAPPY25) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY25) && HAVE_DECL_BTN_TRIGGER_HAPPY25)
- XLAT(BTN_TRIGGER_HAPPY25),
+#if !(defined(BTN_TRIGGER_HAPPY25) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY25) && HAVE_DECL_BTN_TRIGGER_HAPPY25))
+# define BTN_TRIGGER_HAPPY25 0x2d8
#endif
-#if defined(BTN_TRIGGER_HAPPY26) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY26) && HAVE_DECL_BTN_TRIGGER_HAPPY26)
- XLAT(BTN_TRIGGER_HAPPY26),
+#if !(defined(BTN_TRIGGER_HAPPY26) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY26) && HAVE_DECL_BTN_TRIGGER_HAPPY26))
+# define BTN_TRIGGER_HAPPY26 0x2d9
#endif
-#if defined(BTN_TRIGGER_HAPPY27) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY27) && HAVE_DECL_BTN_TRIGGER_HAPPY27)
- XLAT(BTN_TRIGGER_HAPPY27),
+#if !(defined(BTN_TRIGGER_HAPPY27) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY27) && HAVE_DECL_BTN_TRIGGER_HAPPY27))
+# define BTN_TRIGGER_HAPPY27 0x2da
#endif
-#if defined(BTN_TRIGGER_HAPPY28) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY28) && HAVE_DECL_BTN_TRIGGER_HAPPY28)
- XLAT(BTN_TRIGGER_HAPPY28),
+#if !(defined(BTN_TRIGGER_HAPPY28) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY28) && HAVE_DECL_BTN_TRIGGER_HAPPY28))
+# define BTN_TRIGGER_HAPPY28 0x2db
#endif
-#if defined(BTN_TRIGGER_HAPPY29) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY29) && HAVE_DECL_BTN_TRIGGER_HAPPY29)
- XLAT(BTN_TRIGGER_HAPPY29),
+#if !(defined(BTN_TRIGGER_HAPPY29) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY29) && HAVE_DECL_BTN_TRIGGER_HAPPY29))
+# define BTN_TRIGGER_HAPPY29 0x2dc
#endif
-#if defined(BTN_TRIGGER_HAPPY30) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY30) && HAVE_DECL_BTN_TRIGGER_HAPPY30)
- XLAT(BTN_TRIGGER_HAPPY30),
+#if !(defined(BTN_TRIGGER_HAPPY30) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY30) && HAVE_DECL_BTN_TRIGGER_HAPPY30))
+# define BTN_TRIGGER_HAPPY30 0x2dd
#endif
-#if defined(BTN_TRIGGER_HAPPY31) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY31) && HAVE_DECL_BTN_TRIGGER_HAPPY31)
- XLAT(BTN_TRIGGER_HAPPY31),
+#if !(defined(BTN_TRIGGER_HAPPY31) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY31) && HAVE_DECL_BTN_TRIGGER_HAPPY31))
+# define BTN_TRIGGER_HAPPY31 0x2de
#endif
-#if defined(BTN_TRIGGER_HAPPY32) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY32) && HAVE_DECL_BTN_TRIGGER_HAPPY32)
- XLAT(BTN_TRIGGER_HAPPY32),
+#if !(defined(BTN_TRIGGER_HAPPY32) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY32) && HAVE_DECL_BTN_TRIGGER_HAPPY32))
+# define BTN_TRIGGER_HAPPY32 0x2df
#endif
-#if defined(BTN_TRIGGER_HAPPY33) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY33) && HAVE_DECL_BTN_TRIGGER_HAPPY33)
- XLAT(BTN_TRIGGER_HAPPY33),
+#if !(defined(BTN_TRIGGER_HAPPY33) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY33) && HAVE_DECL_BTN_TRIGGER_HAPPY33))
+# define BTN_TRIGGER_HAPPY33 0x2e0
#endif
-#if defined(BTN_TRIGGER_HAPPY34) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY34) && HAVE_DECL_BTN_TRIGGER_HAPPY34)
- XLAT(BTN_TRIGGER_HAPPY34),
+#if !(defined(BTN_TRIGGER_HAPPY34) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY34) && HAVE_DECL_BTN_TRIGGER_HAPPY34))
+# define BTN_TRIGGER_HAPPY34 0x2e1
#endif
-#if defined(BTN_TRIGGER_HAPPY35) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY35) && HAVE_DECL_BTN_TRIGGER_HAPPY35)
- XLAT(BTN_TRIGGER_HAPPY35),
+#if !(defined(BTN_TRIGGER_HAPPY35) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY35) && HAVE_DECL_BTN_TRIGGER_HAPPY35))
+# define BTN_TRIGGER_HAPPY35 0x2e2
#endif
-#if defined(BTN_TRIGGER_HAPPY36) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY36) && HAVE_DECL_BTN_TRIGGER_HAPPY36)
- XLAT(BTN_TRIGGER_HAPPY36),
+#if !(defined(BTN_TRIGGER_HAPPY36) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY36) && HAVE_DECL_BTN_TRIGGER_HAPPY36))
+# define BTN_TRIGGER_HAPPY36 0x2e3
#endif
-#if defined(BTN_TRIGGER_HAPPY37) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY37) && HAVE_DECL_BTN_TRIGGER_HAPPY37)
- XLAT(BTN_TRIGGER_HAPPY37),
+#if !(defined(BTN_TRIGGER_HAPPY37) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY37) && HAVE_DECL_BTN_TRIGGER_HAPPY37))
+# define BTN_TRIGGER_HAPPY37 0x2e4
#endif
-#if defined(BTN_TRIGGER_HAPPY38) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY38) && HAVE_DECL_BTN_TRIGGER_HAPPY38)
- XLAT(BTN_TRIGGER_HAPPY38),
+#if !(defined(BTN_TRIGGER_HAPPY38) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY38) && HAVE_DECL_BTN_TRIGGER_HAPPY38))
+# define BTN_TRIGGER_HAPPY38 0x2e5
#endif
-#if defined(BTN_TRIGGER_HAPPY39) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY39) && HAVE_DECL_BTN_TRIGGER_HAPPY39)
- XLAT(BTN_TRIGGER_HAPPY39),
+#if !(defined(BTN_TRIGGER_HAPPY39) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY39) && HAVE_DECL_BTN_TRIGGER_HAPPY39))
+# define BTN_TRIGGER_HAPPY39 0x2e6
#endif
-#if defined(BTN_TRIGGER_HAPPY40) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY40) && HAVE_DECL_BTN_TRIGGER_HAPPY40)
- XLAT(BTN_TRIGGER_HAPPY40),
+#if !(defined(BTN_TRIGGER_HAPPY40) || (defined(HAVE_DECL_BTN_TRIGGER_HAPPY40) && HAVE_DECL_BTN_TRIGGER_HAPPY40))
+# define BTN_TRIGGER_HAPPY40 0x2e7
#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat evdev_keycode in mpers mode
+
+#else
+
+static
+const struct xlat evdev_keycode[] = {
+
+ XLAT(KEY_RESERVED),
+ XLAT(KEY_ESC),
+ XLAT(KEY_1),
+ XLAT(KEY_2),
+ XLAT(KEY_3),
+ XLAT(KEY_4),
+ XLAT(KEY_5),
+ XLAT(KEY_6),
+ XLAT(KEY_7),
+ XLAT(KEY_8),
+ XLAT(KEY_9),
+ XLAT(KEY_0),
+ XLAT(KEY_MINUS),
+ XLAT(KEY_EQUAL),
+ XLAT(KEY_BACKSPACE),
+ XLAT(KEY_TAB),
+ XLAT(KEY_Q),
+ XLAT(KEY_W),
+ XLAT(KEY_E),
+ XLAT(KEY_R),
+ XLAT(KEY_T),
+ XLAT(KEY_Y),
+ XLAT(KEY_U),
+ XLAT(KEY_I),
+ XLAT(KEY_O),
+ XLAT(KEY_P),
+ XLAT(KEY_LEFTBRACE),
+ XLAT(KEY_RIGHTBRACE),
+ XLAT(KEY_ENTER),
+ XLAT(KEY_LEFTCTRL),
+ XLAT(KEY_A),
+ XLAT(KEY_S),
+ XLAT(KEY_D),
+ XLAT(KEY_F),
+ XLAT(KEY_G),
+ XLAT(KEY_H),
+ XLAT(KEY_J),
+ XLAT(KEY_K),
+ XLAT(KEY_L),
+ XLAT(KEY_SEMICOLON),
+ XLAT(KEY_APOSTROPHE),
+ XLAT(KEY_GRAVE),
+ XLAT(KEY_LEFTSHIFT),
+ XLAT(KEY_BACKSLASH),
+ XLAT(KEY_Z),
+ XLAT(KEY_X),
+ XLAT(KEY_C),
+ XLAT(KEY_V),
+ XLAT(KEY_B),
+ XLAT(KEY_N),
+ XLAT(KEY_M),
+ XLAT(KEY_COMMA),
+ XLAT(KEY_DOT),
+ XLAT(KEY_SLASH),
+ XLAT(KEY_RIGHTSHIFT),
+ XLAT(KEY_KPASTERISK),
+ XLAT(KEY_LEFTALT),
+ XLAT(KEY_SPACE),
+ XLAT(KEY_CAPSLOCK),
+ XLAT(KEY_F1),
+ XLAT(KEY_F2),
+ XLAT(KEY_F3),
+ XLAT(KEY_F4),
+ XLAT(KEY_F5),
+ XLAT(KEY_F6),
+ XLAT(KEY_F7),
+ XLAT(KEY_F8),
+ XLAT(KEY_F9),
+ XLAT(KEY_F10),
+ XLAT(KEY_NUMLOCK),
+ XLAT(KEY_SCROLLLOCK),
+ XLAT(KEY_KP7),
+ XLAT(KEY_KP8),
+ XLAT(KEY_KP9),
+ XLAT(KEY_KPMINUS),
+ XLAT(KEY_KP4),
+ XLAT(KEY_KP5),
+ XLAT(KEY_KP6),
+ XLAT(KEY_KPPLUS),
+ XLAT(KEY_KP1),
+ XLAT(KEY_KP2),
+ XLAT(KEY_KP3),
+ XLAT(KEY_KP0),
+ XLAT(KEY_KPDOT),
+
+ XLAT(KEY_ZENKAKUHANKAKU),
+ XLAT(KEY_102ND),
+ XLAT(KEY_F11),
+ XLAT(KEY_F12),
+ XLAT(KEY_RO),
+ XLAT(KEY_KATAKANA),
+ XLAT(KEY_HIRAGANA),
+ XLAT(KEY_HENKAN),
+ XLAT(KEY_KATAKANAHIRAGANA),
+ XLAT(KEY_MUHENKAN),
+ XLAT(KEY_KPJPCOMMA),
+ XLAT(KEY_KPENTER),
+ XLAT(KEY_RIGHTCTRL),
+ XLAT(KEY_KPSLASH),
+ XLAT(KEY_SYSRQ),
+ XLAT(KEY_RIGHTALT),
+ XLAT(KEY_LINEFEED),
+ XLAT(KEY_HOME),
+ XLAT(KEY_UP),
+ XLAT(KEY_PAGEUP),
+ XLAT(KEY_LEFT),
+ XLAT(KEY_RIGHT),
+ XLAT(KEY_END),
+ XLAT(KEY_DOWN),
+ XLAT(KEY_PAGEDOWN),
+ XLAT(KEY_INSERT),
+ XLAT(KEY_DELETE),
+ XLAT(KEY_MACRO),
+ XLAT(KEY_MUTE),
+ XLAT(KEY_VOLUMEDOWN),
+ XLAT(KEY_VOLUMEUP),
+ XLAT(KEY_POWER),
+ XLAT(KEY_KPEQUAL),
+ XLAT(KEY_KPPLUSMINUS),
+ XLAT(KEY_PAUSE),
+ XLAT(KEY_SCALE),
+
+ XLAT(KEY_KPCOMMA),
+ XLAT(KEY_HANGEUL),
+ XLAT(KEY_HANJA),
+ XLAT(KEY_YEN),
+ XLAT(KEY_LEFTMETA),
+ XLAT(KEY_RIGHTMETA),
+ XLAT(KEY_COMPOSE),
+
+ XLAT(KEY_STOP),
+ XLAT(KEY_AGAIN),
+ XLAT(KEY_PROPS),
+ XLAT(KEY_UNDO),
+ XLAT(KEY_FRONT),
+ XLAT(KEY_COPY),
+ XLAT(KEY_OPEN),
+ XLAT(KEY_PASTE),
+ XLAT(KEY_FIND),
+ XLAT(KEY_CUT),
+ XLAT(KEY_HELP),
+ XLAT(KEY_MENU),
+ XLAT(KEY_CALC),
+ XLAT(KEY_SETUP),
+ XLAT(KEY_SLEEP),
+ XLAT(KEY_WAKEUP),
+ XLAT(KEY_FILE),
+ XLAT(KEY_SENDFILE),
+ XLAT(KEY_DELETEFILE),
+ XLAT(KEY_XFER),
+ XLAT(KEY_PROG1),
+ XLAT(KEY_PROG2),
+ XLAT(KEY_WWW),
+ XLAT(KEY_MSDOS),
+ XLAT(KEY_COFFEE),
+ XLAT(KEY_ROTATE_DISPLAY),
+ XLAT(KEY_CYCLEWINDOWS),
+ XLAT(KEY_MAIL),
+ XLAT(KEY_BOOKMARKS),
+ XLAT(KEY_COMPUTER),
+ XLAT(KEY_BACK),
+ XLAT(KEY_FORWARD),
+ XLAT(KEY_CLOSECD),
+ XLAT(KEY_EJECTCD),
+ XLAT(KEY_EJECTCLOSECD),
+ XLAT(KEY_NEXTSONG),
+ XLAT(KEY_PLAYPAUSE),
+ XLAT(KEY_PREVIOUSSONG),
+ XLAT(KEY_STOPCD),
+ XLAT(KEY_RECORD),
+ XLAT(KEY_REWIND),
+ XLAT(KEY_PHONE),
+ XLAT(KEY_ISO),
+ XLAT(KEY_CONFIG),
+ XLAT(KEY_HOMEPAGE),
+ XLAT(KEY_REFRESH),
+ XLAT(KEY_EXIT),
+ XLAT(KEY_MOVE),
+ XLAT(KEY_EDIT),
+ XLAT(KEY_SCROLLUP),
+ XLAT(KEY_SCROLLDOWN),
+ XLAT(KEY_KPLEFTPAREN),
+ XLAT(KEY_KPRIGHTPAREN),
+ XLAT(KEY_NEW),
+ XLAT(KEY_REDO),
+
+ XLAT(KEY_F13),
+ XLAT(KEY_F14),
+ XLAT(KEY_F15),
+ XLAT(KEY_F16),
+ XLAT(KEY_F17),
+ XLAT(KEY_F18),
+ XLAT(KEY_F19),
+ XLAT(KEY_F20),
+ XLAT(KEY_F21),
+ XLAT(KEY_F22),
+ XLAT(KEY_F23),
+ XLAT(KEY_F24),
+
+ XLAT(KEY_PLAYCD),
+ XLAT(KEY_PAUSECD),
+ XLAT(KEY_PROG3),
+ XLAT(KEY_PROG4),
+ XLAT(KEY_DASHBOARD),
+ XLAT(KEY_SUSPEND),
+ XLAT(KEY_CLOSE),
+ XLAT(KEY_PLAY),
+ XLAT(KEY_FASTFORWARD),
+ XLAT(KEY_BASSBOOST),
+ XLAT(KEY_PRINT),
+ XLAT(KEY_HP),
+ XLAT(KEY_CAMERA),
+ XLAT(KEY_SOUND),
+ XLAT(KEY_QUESTION),
+ XLAT(KEY_EMAIL),
+ XLAT(KEY_CHAT),
+ XLAT(KEY_SEARCH),
+ XLAT(KEY_CONNECT),
+ XLAT(KEY_FINANCE),
+ XLAT(KEY_SPORT),
+ XLAT(KEY_SHOP),
+ XLAT(KEY_ALTERASE),
+ XLAT(KEY_CANCEL),
+ XLAT(KEY_BRIGHTNESSDOWN),
+ XLAT(KEY_BRIGHTNESSUP),
+ XLAT(KEY_MEDIA),
+
+ XLAT(KEY_SWITCHVIDEOMODE),
+
+ XLAT(KEY_KBDILLUMTOGGLE),
+ XLAT(KEY_KBDILLUMDOWN),
+ XLAT(KEY_KBDILLUMUP),
+
+ XLAT(KEY_SEND),
+ XLAT(KEY_REPLY),
+ XLAT(KEY_FORWARDMAIL),
+ XLAT(KEY_SAVE),
+ XLAT(KEY_DOCUMENTS),
+
+ XLAT(KEY_BATTERY),
+
+ XLAT(KEY_BLUETOOTH),
+ XLAT(KEY_WLAN),
+ XLAT(KEY_UWB),
+
+ XLAT(KEY_UNKNOWN),
+
+ XLAT(KEY_VIDEO_NEXT),
+ XLAT(KEY_VIDEO_PREV),
+ XLAT(KEY_BRIGHTNESS_CYCLE),
+ XLAT(KEY_BRIGHTNESS_AUTO),
+ XLAT(KEY_DISPLAY_OFF),
+
+ XLAT(KEY_WWAN),
+ XLAT(KEY_RFKILL),
+
+ XLAT(KEY_MICMUTE),
+
+ XLAT(BTN_0),
+ XLAT(BTN_1),
+ XLAT(BTN_2),
+ XLAT(BTN_3),
+ XLAT(BTN_4),
+ XLAT(BTN_5),
+ XLAT(BTN_6),
+ XLAT(BTN_7),
+ XLAT(BTN_8),
+ XLAT(BTN_9),
+
+ XLAT(BTN_MOUSE),
+ XLAT(BTN_LEFT),
+ XLAT(BTN_RIGHT),
+ XLAT(BTN_MIDDLE),
+ XLAT(BTN_SIDE),
+ XLAT(BTN_EXTRA),
+ XLAT(BTN_FORWARD),
+ XLAT(BTN_BACK),
+ XLAT(BTN_TASK),
+
+ XLAT(BTN_JOYSTICK),
+ XLAT(BTN_TRIGGER),
+ XLAT(BTN_THUMB),
+ XLAT(BTN_THUMB2),
+ XLAT(BTN_TOP),
+ XLAT(BTN_TOP2),
+ XLAT(BTN_PINKIE),
+ XLAT(BTN_BASE),
+ XLAT(BTN_BASE2),
+ XLAT(BTN_BASE3),
+ XLAT(BTN_BASE4),
+ XLAT(BTN_BASE5),
+ XLAT(BTN_BASE6),
+ XLAT(BTN_DEAD),
+
+ XLAT(BTN_GAMEPAD),
+ XLAT(BTN_SOUTH),
+ XLAT(BTN_EAST),
+ XLAT(BTN_C),
+ XLAT(BTN_NORTH),
+ XLAT(BTN_WEST),
+ XLAT(BTN_Z),
+ XLAT(BTN_TL),
+ XLAT(BTN_TR),
+ XLAT(BTN_TL2),
+ XLAT(BTN_TR2),
+ XLAT(BTN_SELECT),
+ XLAT(BTN_START),
+ XLAT(BTN_MODE),
+ XLAT(BTN_THUMBL),
+ XLAT(BTN_THUMBR),
+
+ XLAT(BTN_DIGI),
+ XLAT(BTN_TOOL_PEN),
+ XLAT(BTN_TOOL_RUBBER),
+ XLAT(BTN_TOOL_BRUSH),
+ XLAT(BTN_TOOL_PENCIL),
+ XLAT(BTN_TOOL_AIRBRUSH),
+ XLAT(BTN_TOOL_FINGER),
+ XLAT(BTN_TOOL_MOUSE),
+ XLAT(BTN_TOOL_LENS),
+ XLAT(BTN_TOOL_QUINTTAP),
+ XLAT(BTN_STYLUS3),
+ XLAT(BTN_TOUCH),
+ XLAT(BTN_STYLUS),
+ XLAT(BTN_STYLUS2),
+ XLAT(BTN_TOOL_DOUBLETAP),
+ XLAT(BTN_TOOL_TRIPLETAP),
+ XLAT(BTN_TOOL_QUADTAP),
+
+ XLAT(BTN_WHEEL),
+ XLAT(BTN_GEAR_DOWN),
+ XLAT(BTN_GEAR_UP),
+
+ XLAT(KEY_OK),
+ XLAT(KEY_SELECT),
+ XLAT(KEY_GOTO),
+ XLAT(KEY_CLEAR),
+ XLAT(KEY_POWER2),
+ XLAT(KEY_OPTION),
+ XLAT(KEY_INFO),
+ XLAT(KEY_TIME),
+ XLAT(KEY_VENDOR),
+ XLAT(KEY_ARCHIVE),
+ XLAT(KEY_PROGRAM),
+ XLAT(KEY_CHANNEL),
+ XLAT(KEY_FAVORITES),
+ XLAT(KEY_EPG),
+ XLAT(KEY_PVR),
+ XLAT(KEY_MHP),
+ XLAT(KEY_LANGUAGE),
+ XLAT(KEY_TITLE),
+ XLAT(KEY_SUBTITLE),
+ XLAT(KEY_ANGLE),
+ XLAT(KEY_ZOOM),
+ XLAT(KEY_MODE),
+ XLAT(KEY_KEYBOARD),
+ XLAT(KEY_SCREEN),
+ XLAT(KEY_PC),
+ XLAT(KEY_TV),
+ XLAT(KEY_TV2),
+ XLAT(KEY_VCR),
+ XLAT(KEY_VCR2),
+ XLAT(KEY_SAT),
+ XLAT(KEY_SAT2),
+ XLAT(KEY_CD),
+ XLAT(KEY_TAPE),
+ XLAT(KEY_RADIO),
+ XLAT(KEY_TUNER),
+ XLAT(KEY_PLAYER),
+ XLAT(KEY_TEXT),
+ XLAT(KEY_DVD),
+ XLAT(KEY_AUX),
+ XLAT(KEY_MP3),
+ XLAT(KEY_AUDIO),
+ XLAT(KEY_VIDEO),
+ XLAT(KEY_DIRECTORY),
+ XLAT(KEY_LIST),
+ XLAT(KEY_MEMO),
+ XLAT(KEY_CALENDAR),
+ XLAT(KEY_RED),
+ XLAT(KEY_GREEN),
+ XLAT(KEY_YELLOW),
+ XLAT(KEY_BLUE),
+ XLAT(KEY_CHANNELUP),
+ XLAT(KEY_CHANNELDOWN),
+ XLAT(KEY_FIRST),
+ XLAT(KEY_LAST),
+ XLAT(KEY_AB),
+ XLAT(KEY_NEXT),
+ XLAT(KEY_RESTART),
+ XLAT(KEY_SLOW),
+ XLAT(KEY_SHUFFLE),
+ XLAT(KEY_BREAK),
+ XLAT(KEY_PREVIOUS),
+ XLAT(KEY_DIGITS),
+ XLAT(KEY_TEEN),
+ XLAT(KEY_TWEN),
+ XLAT(KEY_VIDEOPHONE),
+ XLAT(KEY_GAMES),
+ XLAT(KEY_ZOOMIN),
+ XLAT(KEY_ZOOMOUT),
+ XLAT(KEY_ZOOMRESET),
+ XLAT(KEY_WORDPROCESSOR),
+ XLAT(KEY_EDITOR),
+ XLAT(KEY_SPREADSHEET),
+ XLAT(KEY_GRAPHICSEDITOR),
+ XLAT(KEY_PRESENTATION),
+ XLAT(KEY_DATABASE),
+ XLAT(KEY_NEWS),
+ XLAT(KEY_VOICEMAIL),
+ XLAT(KEY_ADDRESSBOOK),
+ XLAT(KEY_MESSENGER),
+ XLAT(KEY_DISPLAYTOGGLE),
+ XLAT(KEY_SPELLCHECK),
+ XLAT(KEY_LOGOFF),
+
+ XLAT(KEY_DOLLAR),
+ XLAT(KEY_EURO),
+
+ XLAT(KEY_FRAMEBACK),
+ XLAT(KEY_FRAMEFORWARD),
+ XLAT(KEY_CONTEXT_MENU),
+ XLAT(KEY_MEDIA_REPEAT),
+ XLAT(KEY_10CHANNELSUP),
+ XLAT(KEY_10CHANNELSDOWN),
+ XLAT(KEY_IMAGES),
+
+ XLAT(KEY_DEL_EOL),
+ XLAT(KEY_DEL_EOS),
+ XLAT(KEY_INS_LINE),
+ XLAT(KEY_DEL_LINE),
+
+ XLAT(KEY_FN),
+ XLAT(KEY_FN_ESC),
+ XLAT(KEY_FN_F1),
+ XLAT(KEY_FN_F2),
+ XLAT(KEY_FN_F3),
+ XLAT(KEY_FN_F4),
+ XLAT(KEY_FN_F5),
+ XLAT(KEY_FN_F6),
+ XLAT(KEY_FN_F7),
+ XLAT(KEY_FN_F8),
+ XLAT(KEY_FN_F9),
+ XLAT(KEY_FN_F10),
+ XLAT(KEY_FN_F11),
+ XLAT(KEY_FN_F12),
+ XLAT(KEY_FN_1),
+ XLAT(KEY_FN_2),
+ XLAT(KEY_FN_D),
+ XLAT(KEY_FN_E),
+ XLAT(KEY_FN_F),
+ XLAT(KEY_FN_S),
+ XLAT(KEY_FN_B),
+
+ XLAT(KEY_BRL_DOT1),
+ XLAT(KEY_BRL_DOT2),
+ XLAT(KEY_BRL_DOT3),
+ XLAT(KEY_BRL_DOT4),
+ XLAT(KEY_BRL_DOT5),
+ XLAT(KEY_BRL_DOT6),
+ XLAT(KEY_BRL_DOT7),
+ XLAT(KEY_BRL_DOT8),
+ XLAT(KEY_BRL_DOT9),
+ XLAT(KEY_BRL_DOT10),
+
+ XLAT(KEY_NUMERIC_0),
+ XLAT(KEY_NUMERIC_1),
+ XLAT(KEY_NUMERIC_2),
+ XLAT(KEY_NUMERIC_3),
+ XLAT(KEY_NUMERIC_4),
+ XLAT(KEY_NUMERIC_5),
+ XLAT(KEY_NUMERIC_6),
+ XLAT(KEY_NUMERIC_7),
+ XLAT(KEY_NUMERIC_8),
+ XLAT(KEY_NUMERIC_9),
+ XLAT(KEY_NUMERIC_STAR),
+ XLAT(KEY_NUMERIC_POUND),
+ XLAT(KEY_NUMERIC_A),
+ XLAT(KEY_NUMERIC_B),
+ XLAT(KEY_NUMERIC_C),
+ XLAT(KEY_NUMERIC_D),
+
+ XLAT(KEY_CAMERA_FOCUS),
+ XLAT(KEY_WPS_BUTTON),
+
+ XLAT(KEY_TOUCHPAD_TOGGLE),
+ XLAT(KEY_TOUCHPAD_ON),
+ XLAT(KEY_TOUCHPAD_OFF),
+
+ XLAT(KEY_CAMERA_ZOOMIN),
+ XLAT(KEY_CAMERA_ZOOMOUT),
+ XLAT(KEY_CAMERA_UP),
+ XLAT(KEY_CAMERA_DOWN),
+ XLAT(KEY_CAMERA_LEFT),
+ XLAT(KEY_CAMERA_RIGHT),
+
+ XLAT(KEY_ATTENDANT_ON),
+ XLAT(KEY_ATTENDANT_OFF),
+ XLAT(KEY_ATTENDANT_TOGGLE),
+ XLAT(KEY_LIGHTS_TOGGLE),
+
+ XLAT(BTN_DPAD_UP),
+ XLAT(BTN_DPAD_DOWN),
+ XLAT(BTN_DPAD_LEFT),
+ XLAT(BTN_DPAD_RIGHT),
+
+ XLAT(KEY_ALS_TOGGLE),
+ XLAT(KEY_ROTATE_LOCK_TOGGLE),
+
+ XLAT(KEY_BUTTONCONFIG),
+ XLAT(KEY_TASKMANAGER),
+ XLAT(KEY_JOURNAL),
+ XLAT(KEY_CONTROLPANEL),
+ XLAT(KEY_APPSELECT),
+ XLAT(KEY_SCREENSAVER),
+ XLAT(KEY_VOICECOMMAND),
+ XLAT(KEY_ASSISTANT),
+
+ XLAT(KEY_BRIGHTNESS_MIN),
+ XLAT(KEY_BRIGHTNESS_MAX),
+
+ XLAT(KEY_KBDINPUTASSIST_PREV),
+ XLAT(KEY_KBDINPUTASSIST_NEXT),
+ XLAT(KEY_KBDINPUTASSIST_PREVGROUP),
+ XLAT(KEY_KBDINPUTASSIST_NEXTGROUP),
+ XLAT(KEY_KBDINPUTASSIST_ACCEPT),
+ XLAT(KEY_KBDINPUTASSIST_CANCEL),
+
+ XLAT(KEY_RIGHT_UP),
+ XLAT(KEY_RIGHT_DOWN),
+ XLAT(KEY_LEFT_UP),
+ XLAT(KEY_LEFT_DOWN),
+
+ XLAT(KEY_ROOT_MENU),
+ XLAT(KEY_MEDIA_TOP_MENU),
+ XLAT(KEY_NUMERIC_11),
+ XLAT(KEY_NUMERIC_12),
+
+ XLAT(KEY_AUDIO_DESC),
+ XLAT(KEY_3D_MODE),
+ XLAT(KEY_NEXT_FAVORITE),
+ XLAT(KEY_STOP_RECORD),
+ XLAT(KEY_PAUSE_RECORD),
+ XLAT(KEY_VOD),
+ XLAT(KEY_UNMUTE),
+ XLAT(KEY_FASTREVERSE),
+ XLAT(KEY_SLOWREVERSE),
+ XLAT(KEY_DATA),
+ XLAT(KEY_ONSCREEN_KEYBOARD),
+
+ XLAT(BTN_TRIGGER_HAPPY),
+ XLAT(BTN_TRIGGER_HAPPY1),
+ XLAT(BTN_TRIGGER_HAPPY2),
+ XLAT(BTN_TRIGGER_HAPPY3),
+ XLAT(BTN_TRIGGER_HAPPY4),
+ XLAT(BTN_TRIGGER_HAPPY5),
+ XLAT(BTN_TRIGGER_HAPPY6),
+ XLAT(BTN_TRIGGER_HAPPY7),
+ XLAT(BTN_TRIGGER_HAPPY8),
+ XLAT(BTN_TRIGGER_HAPPY9),
+ XLAT(BTN_TRIGGER_HAPPY10),
+ XLAT(BTN_TRIGGER_HAPPY11),
+ XLAT(BTN_TRIGGER_HAPPY12),
+ XLAT(BTN_TRIGGER_HAPPY13),
+ XLAT(BTN_TRIGGER_HAPPY14),
+ XLAT(BTN_TRIGGER_HAPPY15),
+ XLAT(BTN_TRIGGER_HAPPY16),
+ XLAT(BTN_TRIGGER_HAPPY17),
+ XLAT(BTN_TRIGGER_HAPPY18),
+ XLAT(BTN_TRIGGER_HAPPY19),
+ XLAT(BTN_TRIGGER_HAPPY20),
+ XLAT(BTN_TRIGGER_HAPPY21),
+ XLAT(BTN_TRIGGER_HAPPY22),
+ XLAT(BTN_TRIGGER_HAPPY23),
+ XLAT(BTN_TRIGGER_HAPPY24),
+ XLAT(BTN_TRIGGER_HAPPY25),
+ XLAT(BTN_TRIGGER_HAPPY26),
+ XLAT(BTN_TRIGGER_HAPPY27),
+ XLAT(BTN_TRIGGER_HAPPY28),
+ XLAT(BTN_TRIGGER_HAPPY29),
+ XLAT(BTN_TRIGGER_HAPPY30),
+ XLAT(BTN_TRIGGER_HAPPY31),
+ XLAT(BTN_TRIGGER_HAPPY32),
+ XLAT(BTN_TRIGGER_HAPPY33),
+ XLAT(BTN_TRIGGER_HAPPY34),
+ XLAT(BTN_TRIGGER_HAPPY35),
+ XLAT(BTN_TRIGGER_HAPPY36),
+ XLAT(BTN_TRIGGER_HAPPY37),
+ XLAT(BTN_TRIGGER_HAPPY38),
+ XLAT(BTN_TRIGGER_HAPPY39),
+ XLAT(BTN_TRIGGER_HAPPY40),
XLAT_END
};
diff --git a/xlat/evdev_keycode.in b/xlat/evdev_keycode.in
index 5a0eb206..c0811ba1 100644
--- a/xlat/evdev_keycode.in
+++ b/xlat/evdev_keycode.in
@@ -1,596 +1,592 @@
-KEY_RESERVED
-KEY_ESC
-KEY_1
-KEY_2
-KEY_3
-KEY_4
-KEY_5
-KEY_6
-KEY_7
-KEY_8
-KEY_9
-KEY_0
-KEY_MINUS
-KEY_EQUAL
-KEY_BACKSPACE
-KEY_TAB
-KEY_Q
-KEY_W
-KEY_E
-KEY_R
-KEY_T
-KEY_Y
-KEY_U
-KEY_I
-KEY_O
-KEY_P
-KEY_LEFTBRACE
-KEY_RIGHTBRACE
-KEY_ENTER
-KEY_LEFTCTRL
-KEY_A
-KEY_S
-KEY_D
-KEY_F
-KEY_G
-KEY_H
-KEY_J
-KEY_K
-KEY_L
-KEY_SEMICOLON
-KEY_APOSTROPHE
-KEY_GRAVE
-KEY_LEFTSHIFT
-KEY_BACKSLASH
-KEY_Z
-KEY_X
-KEY_C
-KEY_V
-KEY_B
-KEY_N
-KEY_M
-KEY_COMMA
-KEY_DOT
-KEY_SLASH
-KEY_RIGHTSHIFT
-KEY_KPASTERISK
-KEY_LEFTALT
-KEY_SPACE
-KEY_CAPSLOCK
-KEY_F1
-KEY_F2
-KEY_F3
-KEY_F4
-KEY_F5
-KEY_F6
-KEY_F7
-KEY_F8
-KEY_F9
-KEY_F10
-KEY_NUMLOCK
-KEY_SCROLLLOCK
-KEY_KP7
-KEY_KP8
-KEY_KP9
-KEY_KPMINUS
-KEY_KP4
-KEY_KP5
-KEY_KP6
-KEY_KPPLUS
-KEY_KP1
-KEY_KP2
-KEY_KP3
-KEY_KP0
-KEY_KPDOT
-
-KEY_ZENKAKUHANKAKU
-KEY_102ND
-KEY_F11
-KEY_F12
-KEY_RO
-KEY_KATAKANA
-KEY_HIRAGANA
-KEY_HENKAN
-KEY_KATAKANAHIRAGANA
-KEY_MUHENKAN
-KEY_KPJPCOMMA
-KEY_KPENTER
-KEY_RIGHTCTRL
-KEY_KPSLASH
-KEY_SYSRQ
-KEY_RIGHTALT
-KEY_LINEFEED
-KEY_HOME
-KEY_UP
-KEY_PAGEUP
-KEY_LEFT
-KEY_RIGHT
-KEY_END
-KEY_DOWN
-KEY_PAGEDOWN
-KEY_INSERT
-KEY_DELETE
-KEY_MACRO
-KEY_MUTE
-KEY_VOLUMEDOWN
-KEY_VOLUMEUP
-KEY_POWER
-KEY_KPEQUAL
-KEY_KPPLUSMINUS
-KEY_PAUSE
-KEY_SCALE
-
-KEY_KPCOMMA
-KEY_HANGEUL
-KEY_HANGUEL
-KEY_HANJA
-KEY_YEN
-KEY_LEFTMETA
-KEY_RIGHTMETA
-KEY_COMPOSE
-
-KEY_STOP
-KEY_AGAIN
-KEY_PROPS
-KEY_UNDO
-KEY_FRONT
-KEY_COPY
-KEY_OPEN
-KEY_PASTE
-KEY_FIND
-KEY_CUT
-KEY_HELP
-KEY_MENU
-KEY_CALC
-KEY_SETUP
-KEY_SLEEP
-KEY_WAKEUP
-KEY_FILE
-KEY_SENDFILE
-KEY_DELETEFILE
-KEY_XFER
-KEY_PROG1
-KEY_PROG2
-KEY_WWW
-KEY_MSDOS
-KEY_COFFEE
-KEY_ROTATE_DISPLAY
-KEY_DIRECTION
-KEY_CYCLEWINDOWS
-KEY_MAIL
-KEY_BOOKMARKS
-KEY_COMPUTER
-KEY_BACK
-KEY_FORWARD
-KEY_CLOSECD
-KEY_EJECTCD
-KEY_EJECTCLOSECD
-KEY_NEXTSONG
-KEY_PLAYPAUSE
-KEY_PREVIOUSSONG
-KEY_STOPCD
-KEY_RECORD
-KEY_REWIND
-KEY_PHONE
-KEY_ISO
-KEY_CONFIG
-KEY_HOMEPAGE
-KEY_REFRESH
-KEY_EXIT
-KEY_MOVE
-KEY_EDIT
-KEY_SCROLLUP
-KEY_SCROLLDOWN
-KEY_KPLEFTPAREN
-KEY_KPRIGHTPAREN
-KEY_NEW
-KEY_REDO
-
-KEY_F13
-KEY_F14
-KEY_F15
-KEY_F16
-KEY_F17
-KEY_F18
-KEY_F19
-KEY_F20
-KEY_F21
-KEY_F22
-KEY_F23
-KEY_F24
-
-KEY_PLAYCD
-KEY_PAUSECD
-KEY_PROG3
-KEY_PROG4
-KEY_DASHBOARD
-KEY_SUSPEND
-KEY_CLOSE
-KEY_PLAY
-KEY_FASTFORWARD
-KEY_BASSBOOST
-KEY_PRINT
-KEY_HP
-KEY_CAMERA
-KEY_SOUND
-KEY_QUESTION
-KEY_EMAIL
-KEY_CHAT
-KEY_SEARCH
-KEY_CONNECT
-KEY_FINANCE
-KEY_SPORT
-KEY_SHOP
-KEY_ALTERASE
-KEY_CANCEL
-KEY_BRIGHTNESSDOWN
-KEY_BRIGHTNESSUP
-KEY_MEDIA
-
-KEY_SWITCHVIDEOMODE
-
-KEY_KBDILLUMTOGGLE
-KEY_KBDILLUMDOWN
-KEY_KBDILLUMUP
-
-KEY_SEND
-KEY_REPLY
-KEY_FORWARDMAIL
-KEY_SAVE
-KEY_DOCUMENTS
-
-KEY_BATTERY
-
-KEY_BLUETOOTH
-KEY_WLAN
-KEY_UWB
-
-KEY_UNKNOWN
-
-KEY_VIDEO_NEXT
-KEY_VIDEO_PREV
-KEY_BRIGHTNESS_CYCLE
-KEY_BRIGHTNESS_AUTO
-KEY_BRIGHTNESS_ZERO
-KEY_DISPLAY_OFF
-
-KEY_WWAN
-KEY_WIMAX
-KEY_RFKILL
-
-KEY_MICMUTE
-
-BTN_0
-BTN_1
-BTN_2
-BTN_3
-BTN_4
-BTN_5
-BTN_6
-BTN_7
-BTN_8
-BTN_9
-
-BTN_MOUSE
-BTN_LEFT
-BTN_RIGHT
-BTN_MIDDLE
-BTN_SIDE
-BTN_EXTRA
-BTN_FORWARD
-BTN_BACK
-BTN_TASK
-
-BTN_JOYSTICK
-BTN_TRIGGER
-BTN_THUMB
-BTN_THUMB2
-BTN_TOP
-BTN_TOP2
-BTN_PINKIE
-BTN_BASE
-BTN_BASE2
-BTN_BASE3
-BTN_BASE4
-BTN_BASE5
-BTN_BASE6
-BTN_DEAD
-
-BTN_GAMEPAD
-BTN_SOUTH
-BTN_A
-BTN_EAST
-BTN_B
-BTN_C
-BTN_NORTH
-BTN_X
-BTN_WEST
-BTN_Y
-BTN_Z
-BTN_TL
-BTN_TR
-BTN_TL2
-BTN_TR2
-BTN_SELECT
-BTN_START
-BTN_MODE
-BTN_THUMBL
-BTN_THUMBR
-
-BTN_DIGI
-BTN_TOOL_PEN
-BTN_TOOL_RUBBER
-BTN_TOOL_BRUSH
-BTN_TOOL_PENCIL
-BTN_TOOL_AIRBRUSH
-BTN_TOOL_FINGER
-BTN_TOOL_MOUSE
-BTN_TOOL_LENS
-BTN_TOOL_QUINTTAP
-BTN_TOUCH
-BTN_STYLUS
-BTN_STYLUS2
-BTN_TOOL_DOUBLETAP
-BTN_TOOL_TRIPLETAP
-BTN_TOOL_QUADTAP
-
-BTN_WHEEL
-BTN_GEAR_DOWN
-BTN_GEAR_UP
-
-KEY_OK
-KEY_SELECT
-KEY_GOTO
-KEY_CLEAR
-KEY_POWER2
-KEY_OPTION
-KEY_INFO
-KEY_TIME
-KEY_VENDOR
-KEY_ARCHIVE
-KEY_PROGRAM
-KEY_CHANNEL
-KEY_FAVORITES
-KEY_EPG
-KEY_PVR
-KEY_MHP
-KEY_LANGUAGE
-KEY_TITLE
-KEY_SUBTITLE
-KEY_ANGLE
-KEY_ZOOM
-KEY_MODE
-KEY_KEYBOARD
-KEY_SCREEN
-KEY_PC
-KEY_TV
-KEY_TV2
-KEY_VCR
-KEY_VCR2
-KEY_SAT
-KEY_SAT2
-KEY_CD
-KEY_TAPE
-KEY_RADIO
-KEY_TUNER
-KEY_PLAYER
-KEY_TEXT
-KEY_DVD
-KEY_AUX
-KEY_MP3
-KEY_AUDIO
-KEY_VIDEO
-KEY_DIRECTORY
-KEY_LIST
-KEY_MEMO
-KEY_CALENDAR
-KEY_RED
-KEY_GREEN
-KEY_YELLOW
-KEY_BLUE
-KEY_CHANNELUP
-KEY_CHANNELDOWN
-KEY_FIRST
-KEY_LAST
-KEY_AB
-KEY_NEXT
-KEY_RESTART
-KEY_SLOW
-KEY_SHUFFLE
-KEY_BREAK
-KEY_PREVIOUS
-KEY_DIGITS
-KEY_TEEN
-KEY_TWEN
-KEY_VIDEOPHONE
-KEY_GAMES
-KEY_ZOOMIN
-KEY_ZOOMOUT
-KEY_ZOOMRESET
-KEY_WORDPROCESSOR
-KEY_EDITOR
-KEY_SPREADSHEET
-KEY_GRAPHICSEDITOR
-KEY_PRESENTATION
-KEY_DATABASE
-KEY_NEWS
-KEY_VOICEMAIL
-KEY_ADDRESSBOOK
-KEY_MESSENGER
-KEY_DISPLAYTOGGLE
-KEY_BRIGHTNESS_TOGGLE
-KEY_SPELLCHECK
-KEY_LOGOFF
-
-KEY_DOLLAR
-KEY_EURO
-
-KEY_FRAMEBACK
-KEY_FRAMEFORWARD
-KEY_CONTEXT_MENU
-KEY_MEDIA_REPEAT
-KEY_10CHANNELSUP
-KEY_10CHANNELSDOWN
-KEY_IMAGES
-
-KEY_DEL_EOL
-KEY_DEL_EOS
-KEY_INS_LINE
-KEY_DEL_LINE
-
-KEY_FN
-KEY_FN_ESC
-KEY_FN_F1
-KEY_FN_F2
-KEY_FN_F3
-KEY_FN_F4
-KEY_FN_F5
-KEY_FN_F6
-KEY_FN_F7
-KEY_FN_F8
-KEY_FN_F9
-KEY_FN_F10
-KEY_FN_F11
-KEY_FN_F12
-KEY_FN_1
-KEY_FN_2
-KEY_FN_D
-KEY_FN_E
-KEY_FN_F
-KEY_FN_S
-KEY_FN_B
-
-KEY_BRL_DOT1
-KEY_BRL_DOT2
-KEY_BRL_DOT3
-KEY_BRL_DOT4
-KEY_BRL_DOT5
-KEY_BRL_DOT6
-KEY_BRL_DOT7
-KEY_BRL_DOT8
-KEY_BRL_DOT9
-KEY_BRL_DOT10
-
-KEY_NUMERIC_0
-KEY_NUMERIC_1
-KEY_NUMERIC_2
-KEY_NUMERIC_3
-KEY_NUMERIC_4
-KEY_NUMERIC_5
-KEY_NUMERIC_6
-KEY_NUMERIC_7
-KEY_NUMERIC_8
-KEY_NUMERIC_9
-KEY_NUMERIC_STAR
-KEY_NUMERIC_POUND
-KEY_NUMERIC_A
-KEY_NUMERIC_B
-KEY_NUMERIC_C
-KEY_NUMERIC_D
-
-KEY_CAMERA_FOCUS
-KEY_WPS_BUTTON
-
-KEY_TOUCHPAD_TOGGLE
-KEY_TOUCHPAD_ON
-KEY_TOUCHPAD_OFF
-
-KEY_CAMERA_ZOOMIN
-KEY_CAMERA_ZOOMOUT
-KEY_CAMERA_UP
-KEY_CAMERA_DOWN
-KEY_CAMERA_LEFT
-KEY_CAMERA_RIGHT
-
-KEY_ATTENDANT_ON
-KEY_ATTENDANT_OFF
-KEY_ATTENDANT_TOGGLE
-KEY_LIGHTS_TOGGLE
-
-BTN_DPAD_UP
-BTN_DPAD_DOWN
-BTN_DPAD_LEFT
-BTN_DPAD_RIGHT
-
-KEY_ALS_TOGGLE
-
-KEY_BUTTONCONFIG
-KEY_TASKMANAGER
-KEY_JOURNAL
-KEY_CONTROLPANEL
-KEY_APPSELECT
-KEY_SCREENSAVER
-KEY_VOICECOMMAND
-KEY_ASSISTANT
-
-KEY_BRIGHTNESS_MIN
-KEY_BRIGHTNESS_MAX
-
-KEY_KBDINPUTASSIST_PREV
-KEY_KBDINPUTASSIST_NEXT
-KEY_KBDINPUTASSIST_PREVGROUP
-KEY_KBDINPUTASSIST_NEXTGROUP
-KEY_KBDINPUTASSIST_ACCEPT
-KEY_KBDINPUTASSIST_CANCEL
-
-KEY_RIGHT_UP
-KEY_RIGHT_DOWN
-KEY_LEFT_UP
-KEY_LEFT_DOWN
-
-KEY_ROOT_MENU
-KEY_MEDIA_TOP_MENU
-KEY_NUMERIC_11
-KEY_NUMERIC_12
-
-KEY_AUDIO_DESC
-KEY_3D_MODE
-KEY_NEXT_FAVORITE
-KEY_STOP_RECORD
-KEY_PAUSE_RECORD
-KEY_VOD
-KEY_UNMUTE
-KEY_FASTREVERSE
-KEY_SLOWREVERSE
-
-BTN_TRIGGER_HAPPY
-BTN_TRIGGER_HAPPY1
-BTN_TRIGGER_HAPPY2
-BTN_TRIGGER_HAPPY3
-BTN_TRIGGER_HAPPY4
-BTN_TRIGGER_HAPPY5
-BTN_TRIGGER_HAPPY6
-BTN_TRIGGER_HAPPY7
-BTN_TRIGGER_HAPPY8
-BTN_TRIGGER_HAPPY9
-BTN_TRIGGER_HAPPY10
-BTN_TRIGGER_HAPPY11
-BTN_TRIGGER_HAPPY12
-BTN_TRIGGER_HAPPY13
-BTN_TRIGGER_HAPPY14
-BTN_TRIGGER_HAPPY15
-BTN_TRIGGER_HAPPY16
-BTN_TRIGGER_HAPPY17
-BTN_TRIGGER_HAPPY18
-BTN_TRIGGER_HAPPY19
-BTN_TRIGGER_HAPPY20
-BTN_TRIGGER_HAPPY21
-BTN_TRIGGER_HAPPY22
-BTN_TRIGGER_HAPPY23
-BTN_TRIGGER_HAPPY24
-BTN_TRIGGER_HAPPY25
-BTN_TRIGGER_HAPPY26
-BTN_TRIGGER_HAPPY27
-BTN_TRIGGER_HAPPY28
-BTN_TRIGGER_HAPPY29
-BTN_TRIGGER_HAPPY30
-BTN_TRIGGER_HAPPY31
-BTN_TRIGGER_HAPPY32
-BTN_TRIGGER_HAPPY33
-BTN_TRIGGER_HAPPY34
-BTN_TRIGGER_HAPPY35
-BTN_TRIGGER_HAPPY36
-BTN_TRIGGER_HAPPY37
-BTN_TRIGGER_HAPPY38
-BTN_TRIGGER_HAPPY39
-BTN_TRIGGER_HAPPY40
+/* awk '{if (NF>1) {n=strtonum($2)}; printf("%d %s\n", n, $0)}' |sort -s -k1,1n |sed 's/^[0-9]* //' */
+KEY_RESERVED 0
+KEY_ESC 1
+KEY_1 2
+KEY_2 3
+KEY_3 4
+KEY_4 5
+KEY_5 6
+KEY_6 7
+KEY_7 8
+KEY_8 9
+KEY_9 10
+KEY_0 11
+KEY_MINUS 12
+KEY_EQUAL 13
+KEY_BACKSPACE 14
+KEY_TAB 15
+KEY_Q 16
+KEY_W 17
+KEY_E 18
+KEY_R 19
+KEY_T 20
+KEY_Y 21
+KEY_U 22
+KEY_I 23
+KEY_O 24
+KEY_P 25
+KEY_LEFTBRACE 26
+KEY_RIGHTBRACE 27
+KEY_ENTER 28
+KEY_LEFTCTRL 29
+KEY_A 30
+KEY_S 31
+KEY_D 32
+KEY_F 33
+KEY_G 34
+KEY_H 35
+KEY_J 36
+KEY_K 37
+KEY_L 38
+KEY_SEMICOLON 39
+KEY_APOSTROPHE 40
+KEY_GRAVE 41
+KEY_LEFTSHIFT 42
+KEY_BACKSLASH 43
+KEY_Z 44
+KEY_X 45
+KEY_C 46
+KEY_V 47
+KEY_B 48
+KEY_N 49
+KEY_M 50
+KEY_COMMA 51
+KEY_DOT 52
+KEY_SLASH 53
+KEY_RIGHTSHIFT 54
+KEY_KPASTERISK 55
+KEY_LEFTALT 56
+KEY_SPACE 57
+KEY_CAPSLOCK 58
+KEY_F1 59
+KEY_F2 60
+KEY_F3 61
+KEY_F4 62
+KEY_F5 63
+KEY_F6 64
+KEY_F7 65
+KEY_F8 66
+KEY_F9 67
+KEY_F10 68
+KEY_NUMLOCK 69
+KEY_SCROLLLOCK 70
+KEY_KP7 71
+KEY_KP8 72
+KEY_KP9 73
+KEY_KPMINUS 74
+KEY_KP4 75
+KEY_KP5 76
+KEY_KP6 77
+KEY_KPPLUS 78
+KEY_KP1 79
+KEY_KP2 80
+KEY_KP3 81
+KEY_KP0 82
+KEY_KPDOT 83
+
+KEY_ZENKAKUHANKAKU 85
+KEY_102ND 86
+KEY_F11 87
+KEY_F12 88
+KEY_RO 89
+KEY_KATAKANA 90
+KEY_HIRAGANA 91
+KEY_HENKAN 92
+KEY_KATAKANAHIRAGANA 93
+KEY_MUHENKAN 94
+KEY_KPJPCOMMA 95
+KEY_KPENTER 96
+KEY_RIGHTCTRL 97
+KEY_KPSLASH 98
+KEY_SYSRQ 99
+KEY_RIGHTALT 100
+KEY_LINEFEED 101
+KEY_HOME 102
+KEY_UP 103
+KEY_PAGEUP 104
+KEY_LEFT 105
+KEY_RIGHT 106
+KEY_END 107
+KEY_DOWN 108
+KEY_PAGEDOWN 109
+KEY_INSERT 110
+KEY_DELETE 111
+KEY_MACRO 112
+KEY_MUTE 113
+KEY_VOLUMEDOWN 114
+KEY_VOLUMEUP 115
+KEY_POWER 116
+KEY_KPEQUAL 117
+KEY_KPPLUSMINUS 118
+KEY_PAUSE 119
+KEY_SCALE 120
+
+KEY_KPCOMMA 121
+KEY_HANGEUL 122
+KEY_HANJA 123
+KEY_YEN 124
+KEY_LEFTMETA 125
+KEY_RIGHTMETA 126
+KEY_COMPOSE 127
+
+KEY_STOP 128
+KEY_AGAIN 129
+KEY_PROPS 130
+KEY_UNDO 131
+KEY_FRONT 132
+KEY_COPY 133
+KEY_OPEN 134
+KEY_PASTE 135
+KEY_FIND 136
+KEY_CUT 137
+KEY_HELP 138
+KEY_MENU 139
+KEY_CALC 140
+KEY_SETUP 141
+KEY_SLEEP 142
+KEY_WAKEUP 143
+KEY_FILE 144
+KEY_SENDFILE 145
+KEY_DELETEFILE 146
+KEY_XFER 147
+KEY_PROG1 148
+KEY_PROG2 149
+KEY_WWW 150
+KEY_MSDOS 151
+KEY_COFFEE 152
+KEY_ROTATE_DISPLAY 153
+KEY_CYCLEWINDOWS 154
+KEY_MAIL 155
+KEY_BOOKMARKS 156
+KEY_COMPUTER 157
+KEY_BACK 158
+KEY_FORWARD 159
+KEY_CLOSECD 160
+KEY_EJECTCD 161
+KEY_EJECTCLOSECD 162
+KEY_NEXTSONG 163
+KEY_PLAYPAUSE 164
+KEY_PREVIOUSSONG 165
+KEY_STOPCD 166
+KEY_RECORD 167
+KEY_REWIND 168
+KEY_PHONE 169
+KEY_ISO 170
+KEY_CONFIG 171
+KEY_HOMEPAGE 172
+KEY_REFRESH 173
+KEY_EXIT 174
+KEY_MOVE 175
+KEY_EDIT 176
+KEY_SCROLLUP 177
+KEY_SCROLLDOWN 178
+KEY_KPLEFTPAREN 179
+KEY_KPRIGHTPAREN 180
+KEY_NEW 181
+KEY_REDO 182
+
+KEY_F13 183
+KEY_F14 184
+KEY_F15 185
+KEY_F16 186
+KEY_F17 187
+KEY_F18 188
+KEY_F19 189
+KEY_F20 190
+KEY_F21 191
+KEY_F22 192
+KEY_F23 193
+KEY_F24 194
+
+KEY_PLAYCD 200
+KEY_PAUSECD 201
+KEY_PROG3 202
+KEY_PROG4 203
+KEY_DASHBOARD 204
+KEY_SUSPEND 205
+KEY_CLOSE 206
+KEY_PLAY 207
+KEY_FASTFORWARD 208
+KEY_BASSBOOST 209
+KEY_PRINT 210
+KEY_HP 211
+KEY_CAMERA 212
+KEY_SOUND 213
+KEY_QUESTION 214
+KEY_EMAIL 215
+KEY_CHAT 216
+KEY_SEARCH 217
+KEY_CONNECT 218
+KEY_FINANCE 219
+KEY_SPORT 220
+KEY_SHOP 221
+KEY_ALTERASE 222
+KEY_CANCEL 223
+KEY_BRIGHTNESSDOWN 224
+KEY_BRIGHTNESSUP 225
+KEY_MEDIA 226
+
+KEY_SWITCHVIDEOMODE 227
+
+KEY_KBDILLUMTOGGLE 228
+KEY_KBDILLUMDOWN 229
+KEY_KBDILLUMUP 230
+
+KEY_SEND 231
+KEY_REPLY 232
+KEY_FORWARDMAIL 233
+KEY_SAVE 234
+KEY_DOCUMENTS 235
+
+KEY_BATTERY 236
+
+KEY_BLUETOOTH 237
+KEY_WLAN 238
+KEY_UWB 239
+
+KEY_UNKNOWN 240
+
+KEY_VIDEO_NEXT 241
+KEY_VIDEO_PREV 242
+KEY_BRIGHTNESS_CYCLE 243
+KEY_BRIGHTNESS_AUTO 244
+KEY_DISPLAY_OFF 245
+
+KEY_WWAN 246
+KEY_RFKILL 247
+
+KEY_MICMUTE 248
+
+BTN_0 0x100
+BTN_1 0x101
+BTN_2 0x102
+BTN_3 0x103
+BTN_4 0x104
+BTN_5 0x105
+BTN_6 0x106
+BTN_7 0x107
+BTN_8 0x108
+BTN_9 0x109
+
+BTN_MOUSE 0x110
+BTN_LEFT 0x110
+BTN_RIGHT 0x111
+BTN_MIDDLE 0x112
+BTN_SIDE 0x113
+BTN_EXTRA 0x114
+BTN_FORWARD 0x115
+BTN_BACK 0x116
+BTN_TASK 0x117
+
+BTN_JOYSTICK 0x120
+BTN_TRIGGER 0x120
+BTN_THUMB 0x121
+BTN_THUMB2 0x122
+BTN_TOP 0x123
+BTN_TOP2 0x124
+BTN_PINKIE 0x125
+BTN_BASE 0x126
+BTN_BASE2 0x127
+BTN_BASE3 0x128
+BTN_BASE4 0x129
+BTN_BASE5 0x12a
+BTN_BASE6 0x12b
+BTN_DEAD 0x12f
+
+BTN_GAMEPAD 0x130
+BTN_SOUTH 0x130
+BTN_EAST 0x131
+BTN_C 0x132
+BTN_NORTH 0x133
+BTN_WEST 0x134
+BTN_Z 0x135
+BTN_TL 0x136
+BTN_TR 0x137
+BTN_TL2 0x138
+BTN_TR2 0x139
+BTN_SELECT 0x13a
+BTN_START 0x13b
+BTN_MODE 0x13c
+BTN_THUMBL 0x13d
+BTN_THUMBR 0x13e
+
+BTN_DIGI 0x140
+BTN_TOOL_PEN 0x140
+BTN_TOOL_RUBBER 0x141
+BTN_TOOL_BRUSH 0x142
+BTN_TOOL_PENCIL 0x143
+BTN_TOOL_AIRBRUSH 0x144
+BTN_TOOL_FINGER 0x145
+BTN_TOOL_MOUSE 0x146
+BTN_TOOL_LENS 0x147
+BTN_TOOL_QUINTTAP 0x148
+BTN_STYLUS3 0x149
+BTN_TOUCH 0x14a
+BTN_STYLUS 0x14b
+BTN_STYLUS2 0x14c
+BTN_TOOL_DOUBLETAP 0x14d
+BTN_TOOL_TRIPLETAP 0x14e
+BTN_TOOL_QUADTAP 0x14f
+
+BTN_WHEEL 0x150
+BTN_GEAR_DOWN 0x150
+BTN_GEAR_UP 0x151
+
+KEY_OK 0x160
+KEY_SELECT 0x161
+KEY_GOTO 0x162
+KEY_CLEAR 0x163
+KEY_POWER2 0x164
+KEY_OPTION 0x165
+KEY_INFO 0x166
+KEY_TIME 0x167
+KEY_VENDOR 0x168
+KEY_ARCHIVE 0x169
+KEY_PROGRAM 0x16a
+KEY_CHANNEL 0x16b
+KEY_FAVORITES 0x16c
+KEY_EPG 0x16d
+KEY_PVR 0x16e
+KEY_MHP 0x16f
+KEY_LANGUAGE 0x170
+KEY_TITLE 0x171
+KEY_SUBTITLE 0x172
+KEY_ANGLE 0x173
+KEY_ZOOM 0x174
+KEY_MODE 0x175
+KEY_KEYBOARD 0x176
+KEY_SCREEN 0x177
+KEY_PC 0x178
+KEY_TV 0x179
+KEY_TV2 0x17a
+KEY_VCR 0x17b
+KEY_VCR2 0x17c
+KEY_SAT 0x17d
+KEY_SAT2 0x17e
+KEY_CD 0x17f
+KEY_TAPE 0x180
+KEY_RADIO 0x181
+KEY_TUNER 0x182
+KEY_PLAYER 0x183
+KEY_TEXT 0x184
+KEY_DVD 0x185
+KEY_AUX 0x186
+KEY_MP3 0x187
+KEY_AUDIO 0x188
+KEY_VIDEO 0x189
+KEY_DIRECTORY 0x18a
+KEY_LIST 0x18b
+KEY_MEMO 0x18c
+KEY_CALENDAR 0x18d
+KEY_RED 0x18e
+KEY_GREEN 0x18f
+KEY_YELLOW 0x190
+KEY_BLUE 0x191
+KEY_CHANNELUP 0x192
+KEY_CHANNELDOWN 0x193
+KEY_FIRST 0x194
+KEY_LAST 0x195
+KEY_AB 0x196
+KEY_NEXT 0x197
+KEY_RESTART 0x198
+KEY_SLOW 0x199
+KEY_SHUFFLE 0x19a
+KEY_BREAK 0x19b
+KEY_PREVIOUS 0x19c
+KEY_DIGITS 0x19d
+KEY_TEEN 0x19e
+KEY_TWEN 0x19f
+KEY_VIDEOPHONE 0x1a0
+KEY_GAMES 0x1a1
+KEY_ZOOMIN 0x1a2
+KEY_ZOOMOUT 0x1a3
+KEY_ZOOMRESET 0x1a4
+KEY_WORDPROCESSOR 0x1a5
+KEY_EDITOR 0x1a6
+KEY_SPREADSHEET 0x1a7
+KEY_GRAPHICSEDITOR 0x1a8
+KEY_PRESENTATION 0x1a9
+KEY_DATABASE 0x1aa
+KEY_NEWS 0x1ab
+KEY_VOICEMAIL 0x1ac
+KEY_ADDRESSBOOK 0x1ad
+KEY_MESSENGER 0x1ae
+KEY_DISPLAYTOGGLE 0x1af
+KEY_SPELLCHECK 0x1b0
+KEY_LOGOFF 0x1b1
+
+KEY_DOLLAR 0x1b2
+KEY_EURO 0x1b3
+
+KEY_FRAMEBACK 0x1b4
+KEY_FRAMEFORWARD 0x1b5
+KEY_CONTEXT_MENU 0x1b6
+KEY_MEDIA_REPEAT 0x1b7
+KEY_10CHANNELSUP 0x1b8
+KEY_10CHANNELSDOWN 0x1b9
+KEY_IMAGES 0x1ba
+
+KEY_DEL_EOL 0x1c0
+KEY_DEL_EOS 0x1c1
+KEY_INS_LINE 0x1c2
+KEY_DEL_LINE 0x1c3
+
+KEY_FN 0x1d0
+KEY_FN_ESC 0x1d1
+KEY_FN_F1 0x1d2
+KEY_FN_F2 0x1d3
+KEY_FN_F3 0x1d4
+KEY_FN_F4 0x1d5
+KEY_FN_F5 0x1d6
+KEY_FN_F6 0x1d7
+KEY_FN_F7 0x1d8
+KEY_FN_F8 0x1d9
+KEY_FN_F9 0x1da
+KEY_FN_F10 0x1db
+KEY_FN_F11 0x1dc
+KEY_FN_F12 0x1dd
+KEY_FN_1 0x1de
+KEY_FN_2 0x1df
+KEY_FN_D 0x1e0
+KEY_FN_E 0x1e1
+KEY_FN_F 0x1e2
+KEY_FN_S 0x1e3
+KEY_FN_B 0x1e4
+
+KEY_BRL_DOT1 0x1f1
+KEY_BRL_DOT2 0x1f2
+KEY_BRL_DOT3 0x1f3
+KEY_BRL_DOT4 0x1f4
+KEY_BRL_DOT5 0x1f5
+KEY_BRL_DOT6 0x1f6
+KEY_BRL_DOT7 0x1f7
+KEY_BRL_DOT8 0x1f8
+KEY_BRL_DOT9 0x1f9
+KEY_BRL_DOT10 0x1fa
+
+KEY_NUMERIC_0 0x200
+KEY_NUMERIC_1 0x201
+KEY_NUMERIC_2 0x202
+KEY_NUMERIC_3 0x203
+KEY_NUMERIC_4 0x204
+KEY_NUMERIC_5 0x205
+KEY_NUMERIC_6 0x206
+KEY_NUMERIC_7 0x207
+KEY_NUMERIC_8 0x208
+KEY_NUMERIC_9 0x209
+KEY_NUMERIC_STAR 0x20a
+KEY_NUMERIC_POUND 0x20b
+KEY_NUMERIC_A 0x20c
+KEY_NUMERIC_B 0x20d
+KEY_NUMERIC_C 0x20e
+KEY_NUMERIC_D 0x20f
+
+KEY_CAMERA_FOCUS 0x210
+KEY_WPS_BUTTON 0x211
+
+KEY_TOUCHPAD_TOGGLE 0x212
+KEY_TOUCHPAD_ON 0x213
+KEY_TOUCHPAD_OFF 0x214
+
+KEY_CAMERA_ZOOMIN 0x215
+KEY_CAMERA_ZOOMOUT 0x216
+KEY_CAMERA_UP 0x217
+KEY_CAMERA_DOWN 0x218
+KEY_CAMERA_LEFT 0x219
+KEY_CAMERA_RIGHT 0x21a
+
+KEY_ATTENDANT_ON 0x21b
+KEY_ATTENDANT_OFF 0x21c
+KEY_ATTENDANT_TOGGLE 0x21d
+KEY_LIGHTS_TOGGLE 0x21e
+
+BTN_DPAD_UP 0x220
+BTN_DPAD_DOWN 0x221
+BTN_DPAD_LEFT 0x222
+BTN_DPAD_RIGHT 0x223
+
+KEY_ALS_TOGGLE 0x230
+KEY_ROTATE_LOCK_TOGGLE 0x231
+
+KEY_BUTTONCONFIG 0x240
+KEY_TASKMANAGER 0x241
+KEY_JOURNAL 0x242
+KEY_CONTROLPANEL 0x243
+KEY_APPSELECT 0x244
+KEY_SCREENSAVER 0x245
+KEY_VOICECOMMAND 0x246
+KEY_ASSISTANT 0x247
+
+KEY_BRIGHTNESS_MIN 0x250
+KEY_BRIGHTNESS_MAX 0x251
+
+KEY_KBDINPUTASSIST_PREV 0x260
+KEY_KBDINPUTASSIST_NEXT 0x261
+KEY_KBDINPUTASSIST_PREVGROUP 0x262
+KEY_KBDINPUTASSIST_NEXTGROUP 0x263
+KEY_KBDINPUTASSIST_ACCEPT 0x264
+KEY_KBDINPUTASSIST_CANCEL 0x265
+
+KEY_RIGHT_UP 0x266
+KEY_RIGHT_DOWN 0x267
+KEY_LEFT_UP 0x268
+KEY_LEFT_DOWN 0x269
+
+KEY_ROOT_MENU 0x26a
+KEY_MEDIA_TOP_MENU 0x26b
+KEY_NUMERIC_11 0x26c
+KEY_NUMERIC_12 0x26d
+
+KEY_AUDIO_DESC 0x26e
+KEY_3D_MODE 0x26f
+KEY_NEXT_FAVORITE 0x270
+KEY_STOP_RECORD 0x271
+KEY_PAUSE_RECORD 0x272
+KEY_VOD 0x273
+KEY_UNMUTE 0x274
+KEY_FASTREVERSE 0x275
+KEY_SLOWREVERSE 0x276
+KEY_DATA 0x277
+KEY_ONSCREEN_KEYBOARD 0x278
+
+BTN_TRIGGER_HAPPY 0x2c0
+BTN_TRIGGER_HAPPY1 0x2c0
+BTN_TRIGGER_HAPPY2 0x2c1
+BTN_TRIGGER_HAPPY3 0x2c2
+BTN_TRIGGER_HAPPY4 0x2c3
+BTN_TRIGGER_HAPPY5 0x2c4
+BTN_TRIGGER_HAPPY6 0x2c5
+BTN_TRIGGER_HAPPY7 0x2c6
+BTN_TRIGGER_HAPPY8 0x2c7
+BTN_TRIGGER_HAPPY9 0x2c8
+BTN_TRIGGER_HAPPY10 0x2c9
+BTN_TRIGGER_HAPPY11 0x2ca
+BTN_TRIGGER_HAPPY12 0x2cb
+BTN_TRIGGER_HAPPY13 0x2cc
+BTN_TRIGGER_HAPPY14 0x2cd
+BTN_TRIGGER_HAPPY15 0x2ce
+BTN_TRIGGER_HAPPY16 0x2cf
+BTN_TRIGGER_HAPPY17 0x2d0
+BTN_TRIGGER_HAPPY18 0x2d1
+BTN_TRIGGER_HAPPY19 0x2d2
+BTN_TRIGGER_HAPPY20 0x2d3
+BTN_TRIGGER_HAPPY21 0x2d4
+BTN_TRIGGER_HAPPY22 0x2d5
+BTN_TRIGGER_HAPPY23 0x2d6
+BTN_TRIGGER_HAPPY24 0x2d7
+BTN_TRIGGER_HAPPY25 0x2d8
+BTN_TRIGGER_HAPPY26 0x2d9
+BTN_TRIGGER_HAPPY27 0x2da
+BTN_TRIGGER_HAPPY28 0x2db
+BTN_TRIGGER_HAPPY29 0x2dc
+BTN_TRIGGER_HAPPY30 0x2dd
+BTN_TRIGGER_HAPPY31 0x2de
+BTN_TRIGGER_HAPPY32 0x2df
+BTN_TRIGGER_HAPPY33 0x2e0
+BTN_TRIGGER_HAPPY34 0x2e1
+BTN_TRIGGER_HAPPY35 0x2e2
+BTN_TRIGGER_HAPPY36 0x2e3
+BTN_TRIGGER_HAPPY37 0x2e4
+BTN_TRIGGER_HAPPY38 0x2e5
+BTN_TRIGGER_HAPPY39 0x2e6
+BTN_TRIGGER_HAPPY40 0x2e7
diff --git a/xlat/evdev_leds.h b/xlat/evdev_leds.h
index 8f2b24c5..ca0de388 100644
--- a/xlat/evdev_leds.h
+++ b/xlat/evdev_leds.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_leds[];
+# error static const struct xlat evdev_leds in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_leds[] = {
#if defined(LED_NUML) || (defined(HAVE_DECL_LED_NUML) && HAVE_DECL_LED_NUML)
XLAT(LED_NUML),
diff --git a/xlat/evdev_misc.h b/xlat/evdev_misc.h
index 8a363d32..96f8afaa 100644
--- a/xlat/evdev_misc.h
+++ b/xlat/evdev_misc.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_misc[];
+# error static const struct xlat evdev_misc in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_misc[] = {
#if defined(MSC_SERIAL) || (defined(HAVE_DECL_MSC_SERIAL) && HAVE_DECL_MSC_SERIAL)
XLAT(MSC_SERIAL),
diff --git a/xlat/evdev_mtslots.h b/xlat/evdev_mtslots.h
index 4379f371..3633514b 100644
--- a/xlat/evdev_mtslots.h
+++ b/xlat/evdev_mtslots.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_mtslots[];
+# error static const struct xlat evdev_mtslots in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_mtslots[] = {
#if defined(ABS_MT_SLOT) || (defined(HAVE_DECL_ABS_MT_SLOT) && HAVE_DECL_ABS_MT_SLOT)
XLAT(ABS_MT_SLOT),
diff --git a/xlat/evdev_prop.h b/xlat/evdev_prop.h
index 9f4f336b..c998c82a 100644
--- a/xlat/evdev_prop.h
+++ b/xlat/evdev_prop.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_prop[];
+# error static const struct xlat evdev_prop in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_prop[] = {
#if defined(INPUT_PROP_POINTER) || (defined(HAVE_DECL_INPUT_PROP_POINTER) && HAVE_DECL_INPUT_PROP_POINTER)
XLAT(INPUT_PROP_POINTER),
diff --git a/xlat/evdev_relative_axes.h b/xlat/evdev_relative_axes.h
index b3b9b9a9..cf9efb4c 100644
--- a/xlat/evdev_relative_axes.h
+++ b/xlat/evdev_relative_axes.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_relative_axes[];
+# error static const struct xlat evdev_relative_axes in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_relative_axes[] = {
#if defined(REL_X) || (defined(HAVE_DECL_REL_X) && HAVE_DECL_REL_X)
XLAT(REL_X),
diff --git a/xlat/evdev_snd.h b/xlat/evdev_snd.h
index e03885f8..95e4cd9b 100644
--- a/xlat/evdev_snd.h
+++ b/xlat/evdev_snd.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_snd[];
+# error static const struct xlat evdev_snd in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_snd[] = {
#if defined(SND_CLICK) || (defined(HAVE_DECL_SND_CLICK) && HAVE_DECL_SND_CLICK)
XLAT(SND_CLICK),
diff --git a/xlat/evdev_switch.h b/xlat/evdev_switch.h
index fb8c2cf6..afa4b3b4 100644
--- a/xlat/evdev_switch.h
+++ b/xlat/evdev_switch.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_switch[];
+# error static const struct xlat evdev_switch in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_switch[] = {
#if defined(SW_LID) || (defined(HAVE_DECL_SW_LID) && HAVE_DECL_SW_LID)
XLAT(SW_LID),
diff --git a/xlat/evdev_sync.h b/xlat/evdev_sync.h
index 2e53d782..85372a3f 100644
--- a/xlat/evdev_sync.h
+++ b/xlat/evdev_sync.h
@@ -2,13 +2,11 @@
#ifdef IN_MPERS
-extern const struct xlat evdev_sync[];
+# error static const struct xlat evdev_sync in mpers mode
#else
-# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
-# endif
const struct xlat evdev_sync[] = {
#if defined(SYN_REPORT) || (defined(HAVE_DECL_SYN_REPORT) && HAVE_DECL_SYN_REPORT)
XLAT(SYN_REPORT),
diff --git a/xlat/fsmagic.h b/xlat/fsmagic.h
index 1009e5db..8ca93dae 100644
--- a/xlat/fsmagic.h
+++ b/xlat/fsmagic.h
@@ -111,7 +111,7 @@ const struct xlat fsmagic[] = {
{ 0xf995e849, "HPFS_SUPER_MAGIC" },
{ 0xfe534d42, "SMB2_MAGIC_NUMBER" },
{ 0xff534d42, "CIFS_MAGIC_NUMBER" },
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/fsmagic.in b/xlat/fsmagic.in
index a5e61402..53827069 100644
--- a/xlat/fsmagic.in
+++ b/xlat/fsmagic.in
@@ -1,4 +1,4 @@
-/* sorted by value, suitable for bsearch(3) */
+/* sort -k2,2 */
{ 0x0000002f, "QNX4_SUPER_MAGIC" },
{ 0x00000187, "AUTOFS_SUPER_MAGIC" },
{ 0x00001373, "DEVFS_SUPER_MAGIC" },
@@ -101,4 +101,3 @@
{ 0xf995e849, "HPFS_SUPER_MAGIC" },
{ 0xfe534d42, "SMB2_MAGIC_NUMBER" },
{ 0xff534d42, "CIFS_MAGIC_NUMBER" },
-#unterminated
diff --git a/xlat/gen.sh b/xlat/gen.sh
index 6db06c51..170163cb 100755
--- a/xlat/gen.sh
+++ b/xlat/gen.sh
@@ -2,7 +2,7 @@
#
# Copyright (c) 2014-2015 Mike Frysinger <vapier@gentoo.org>
# Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2014-2017 The strace developers.
+# Copyright (c) 2014-2018 The strace developers.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -131,7 +131,7 @@ gen_header()
echo "/* Generated by $0 from $1; do not edit. */"
- local unconditional= unterminated= line
+ local unconditional= line
# 1st pass: output directives.
while read line; do
LC_COLLATE=C
@@ -148,9 +148,6 @@ gen_header()
'#unconditional')
unconditional=1
;;
- '#unterminated')
- unterminated=1
- ;;
'#val_type '*)
# to be processed during 2nd pass
;;
@@ -209,9 +206,6 @@ gen_header()
'#unconditional')
unconditional=1
;;
- '#unterminated')
- # processed during 1st pass
- ;;
'#val_type '*)
val_type="${line#\#val_type }"
;;
@@ -237,11 +231,7 @@ gen_header()
;;
esac
done < "${input}"
- if [ -n "${unterminated}" ]; then
- echo " /* this array should remain not NULL-terminated */"
- else
- echo " XLAT_END"
- fi
+ echo ' XLAT_END'
cat <<-EOF
};
diff --git a/xlat/hw_breakpoint_type.h b/xlat/hw_breakpoint_type.h
index ac48815a..3f6873a9 100644
--- a/xlat/hw_breakpoint_type.h
+++ b/xlat/hw_breakpoint_type.h
@@ -9,7 +9,7 @@
# define HW_BREAKPOINT_W 2
#endif
#if !(defined(HW_BREAKPOINT_RW) || (defined(HAVE_DECL_HW_BREAKPOINT_RW) && HAVE_DECL_HW_BREAKPOINT_RW))
-# define HW_BREAKPOINT_RW HW_BREAKPOINT_R | HW_BREAKPOINT_W
+# define HW_BREAKPOINT_RW 3
#endif
#if !(defined(HW_BREAKPOINT_X) || (defined(HAVE_DECL_HW_BREAKPOINT_X) && HAVE_DECL_HW_BREAKPOINT_X))
# define HW_BREAKPOINT_X 4
@@ -23,12 +23,13 @@
static
const struct xlat hw_breakpoint_type[] = {
+
XLAT(HW_BREAKPOINT_EMPTY),
XLAT(HW_BREAKPOINT_R),
XLAT(HW_BREAKPOINT_W),
XLAT(HW_BREAKPOINT_RW),
XLAT(HW_BREAKPOINT_X),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/hw_breakpoint_type.in b/xlat/hw_breakpoint_type.in
index 33645d0c..0fc625b7 100644
--- a/xlat/hw_breakpoint_type.in
+++ b/xlat/hw_breakpoint_type.in
@@ -1,6 +1,6 @@
+/* sort -k2,2n */
HW_BREAKPOINT_EMPTY 0
HW_BREAKPOINT_R 1
HW_BREAKPOINT_W 2
-HW_BREAKPOINT_RW HW_BREAKPOINT_R | HW_BREAKPOINT_W
+HW_BREAKPOINT_RW 3
HW_BREAKPOINT_X 4
-#unterminated
diff --git a/xlat/inet_diag_bytecodes.h b/xlat/inet_diag_bytecodes.h
index a024d2a1..21d35eba 100644
--- a/xlat/inet_diag_bytecodes.h
+++ b/xlat/inet_diag_bytecodes.h
@@ -19,6 +19,8 @@ const struct xlat inet_diag_bytecodes[] = {
XLAT(INET_DIAG_BC_D_COND),
XLAT(INET_DIAG_BC_DEV_COND),
XLAT(INET_DIAG_BC_MARK_COND),
+ XLAT(INET_DIAG_BC_S_EQ),
+ XLAT(INET_DIAG_BC_D_EQ),
XLAT_END
};
diff --git a/xlat/inet_diag_bytecodes.in b/xlat/inet_diag_bytecodes.in
index ccaf0dae..ef1059a5 100644
--- a/xlat/inet_diag_bytecodes.in
+++ b/xlat/inet_diag_bytecodes.in
@@ -10,3 +10,5 @@ INET_DIAG_BC_S_COND
INET_DIAG_BC_D_COND
INET_DIAG_BC_DEV_COND
INET_DIAG_BC_MARK_COND
+INET_DIAG_BC_S_EQ
+INET_DIAG_BC_D_EQ
diff --git a/xlat/mmap_flags.h b/xlat/mmap_flags.h
index f3d2cae0..4858f07f 100644
--- a/xlat/mmap_flags.h
+++ b/xlat/mmap_flags.h
@@ -1,5 +1,12 @@
/* Generated by ./xlat/gen.sh from ./xlat/mmap_flags.in; do not edit. */
-#if defined(MAP_ANON) && (!defined(MAP_ANONYMOUS) || MAP_ANON != MAP_ANONYMOUS)
+#if !(defined(MAP_SHARED) || (defined(HAVE_DECL_MAP_SHARED) && HAVE_DECL_MAP_SHARED))
+# define MAP_SHARED 1
+#endif
+#if !(defined(MAP_PRIVATE) || (defined(HAVE_DECL_MAP_PRIVATE) && HAVE_DECL_MAP_PRIVATE))
+# define MAP_PRIVATE 2
+#endif
+#if !(defined(MAP_SHARED_VALIDATE) || (defined(HAVE_DECL_MAP_SHARED_VALIDATE) && HAVE_DECL_MAP_SHARED_VALIDATE))
+# define MAP_SHARED_VALIDATE 3
#endif
#if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0
#endif
@@ -12,15 +19,9 @@
static
const struct xlat mmap_flags[] = {
-#if defined(MAP_SHARED) || (defined(HAVE_DECL_MAP_SHARED) && HAVE_DECL_MAP_SHARED)
- XLAT(MAP_SHARED),
-#endif
-#if defined(MAP_PRIVATE) || (defined(HAVE_DECL_MAP_PRIVATE) && HAVE_DECL_MAP_PRIVATE)
- XLAT(MAP_PRIVATE),
-#endif
-#if defined(MAP_SHARED_VALIDATE) || (defined(HAVE_DECL_MAP_SHARED_VALIDATE) && HAVE_DECL_MAP_SHARED_VALIDATE)
- XLAT(MAP_SHARED_VALIDATE),
-#endif
+ XLAT(MAP_SHARED),
+ XLAT(MAP_PRIVATE),
+ XLAT(MAP_SHARED_VALIDATE),
#if defined(MAP_FIXED) || (defined(HAVE_DECL_MAP_FIXED) && HAVE_DECL_MAP_FIXED)
XLAT(MAP_FIXED),
#endif
@@ -42,39 +43,15 @@ const struct xlat mmap_flags[] = {
#if defined(MAP_NONBLOCK) || (defined(HAVE_DECL_MAP_NONBLOCK) && HAVE_DECL_MAP_NONBLOCK)
XLAT(MAP_NONBLOCK),
#endif
-/*
-* XXX - this was introduced in SunOS 4.x to distinguish between
-* the old pre-4.x "mmap()", which:
-*
-* only let you map devices with an "mmap" routine (e.g.,
-* frame buffers) in;
-*
-* required you to specify the mapping address;
-*
-* returned 0 on success and -1 on failure;
-*
-* memory and which, and the 4.x "mmap()" which:
-*
-* can map plain files;
-*
-* can be asked to pick where to map the file;
-*
-* returns the address where it mapped the file on success
-* and -1 on failure.
-*
-* It's not actually used in source code that calls "mmap()"; the
-* "mmap()" routine adds it for you.
-*
-* It'd be nice to come up with some way of eliminating it from
-* the flags, e.g. reporting calls *without* it as "old_mmap()"
-* and calls with it as "mmap()".
-*/
#if defined(_MAP_NEW) || (defined(HAVE_DECL__MAP_NEW) && HAVE_DECL__MAP_NEW)
XLAT(_MAP_NEW),
#endif
#if defined(MAP_GROWSDOWN) || (defined(HAVE_DECL_MAP_GROWSDOWN) && HAVE_DECL_MAP_GROWSDOWN)
XLAT(MAP_GROWSDOWN),
#endif
+#if defined(MAP_GROWSUP) || (defined(HAVE_DECL_MAP_GROWSUP) && HAVE_DECL_MAP_GROWSUP)
+ XLAT(MAP_GROWSUP),
+#endif
#if defined(MAP_DENYWRITE) || (defined(HAVE_DECL_MAP_DENYWRITE) && HAVE_DECL_MAP_DENYWRITE)
XLAT(MAP_DENYWRITE),
#endif
@@ -84,20 +61,17 @@ const struct xlat mmap_flags[] = {
#if defined(MAP_INHERIT) || (defined(HAVE_DECL_MAP_INHERIT) && HAVE_DECL_MAP_INHERIT)
XLAT(MAP_INHERIT),
#endif
+#if defined(_MAP_INHERIT) || (defined(HAVE_DECL__MAP_INHERIT) && HAVE_DECL__MAP_INHERIT)
+ XLAT(_MAP_INHERIT),
+#endif
#if defined(MAP_FILE) || (defined(HAVE_DECL_MAP_FILE) && HAVE_DECL_MAP_FILE)
XLAT(MAP_FILE),
#endif
#if defined(MAP_LOCKED) || (defined(HAVE_DECL_MAP_LOCKED) && HAVE_DECL_MAP_LOCKED)
XLAT(MAP_LOCKED),
#endif
-
-#if defined(MAP_ANON) && (!defined(MAP_ANONYMOUS) || MAP_ANON != MAP_ANONYMOUS)
-#if defined(MAP_ANON) || (defined(HAVE_DECL_MAP_ANON) && HAVE_DECL_MAP_ANON)
- XLAT(MAP_ANON),
-#endif
-#endif
-#if defined(MAP_HASSEMAPHORE) || (defined(HAVE_DECL_MAP_HASSEMAPHORE) && HAVE_DECL_MAP_HASSEMAPHORE)
- XLAT(MAP_HASSEMAPHORE),
+#if defined(_MAP_HASSEMAPHORE) || (defined(HAVE_DECL__MAP_HASSEMAPHORE) && HAVE_DECL__MAP_HASSEMAPHORE)
+ XLAT(_MAP_HASSEMAPHORE),
#endif
#if defined(MAP_STACK) || (defined(HAVE_DECL_MAP_STACK) && HAVE_DECL_MAP_STACK)
XLAT(MAP_STACK),
@@ -113,11 +87,17 @@ const struct xlat mmap_flags[] = {
XLAT(MAP_UNINITIALIZED),
#endif
#endif
-#if defined(MAP_NOSYNC) || (defined(HAVE_DECL_MAP_NOSYNC) && HAVE_DECL_MAP_NOSYNC)
- XLAT(MAP_NOSYNC),
+#if defined(MAP_AUTOGROW) || (defined(HAVE_DECL_MAP_AUTOGROW) && HAVE_DECL_MAP_AUTOGROW)
+ XLAT(MAP_AUTOGROW),
+#endif
+#if defined(MAP_AUTORSRV) || (defined(HAVE_DECL_MAP_AUTORSRV) && HAVE_DECL_MAP_AUTORSRV)
+ XLAT(MAP_AUTORSRV),
+#endif
+#if defined(MAP_LOCAL) || (defined(HAVE_DECL_MAP_LOCAL) && HAVE_DECL_MAP_LOCAL)
+ XLAT(MAP_LOCAL),
#endif
-#if defined(MAP_NOCORE) || (defined(HAVE_DECL_MAP_NOCORE) && HAVE_DECL_MAP_NOCORE)
- XLAT(MAP_NOCORE),
+#if defined(_MAP_UNALIGNED) || (defined(HAVE_DECL__MAP_UNALIGNED) && HAVE_DECL__MAP_UNALIGNED)
+ XLAT(_MAP_UNALIGNED),
#endif
XLAT_END
};
diff --git a/xlat/mmap_flags.in b/xlat/mmap_flags.in
index 60b74fc4..5b05e611 100644
--- a/xlat/mmap_flags.in
+++ b/xlat/mmap_flags.in
@@ -1,6 +1,6 @@
-MAP_SHARED
-MAP_PRIVATE
-MAP_SHARED_VALIDATE
+MAP_SHARED 1
+MAP_PRIVATE 2
+MAP_SHARED_VALIDATE 3
MAP_FIXED
MAP_ANONYMOUS
MAP_32BIT
@@ -8,50 +8,23 @@ MAP_RENAME
MAP_NORESERVE
MAP_POPULATE
MAP_NONBLOCK
-/*
- * XXX - this was introduced in SunOS 4.x to distinguish between
- * the old pre-4.x "mmap()", which:
- *
- * only let you map devices with an "mmap" routine (e.g.,
- * frame buffers) in;
- *
- * required you to specify the mapping address;
- *
- * returned 0 on success and -1 on failure;
- *
- * memory and which, and the 4.x "mmap()" which:
- *
- * can map plain files;
- *
- * can be asked to pick where to map the file;
- *
- * returns the address where it mapped the file on success
- * and -1 on failure.
- *
- * It's not actually used in source code that calls "mmap()"; the
- * "mmap()" routine adds it for you.
- *
- * It'd be nice to come up with some way of eliminating it from
- * the flags, e.g. reporting calls *without* it as "old_mmap()"
- * and calls with it as "mmap()".
- */
-_MAP_NEW
+_MAP_NEW /* sparc */
MAP_GROWSDOWN
+MAP_GROWSUP /* ia64 */
MAP_DENYWRITE
MAP_EXECUTABLE
-MAP_INHERIT
+MAP_INHERIT /* sparc */
+_MAP_INHERIT /* alpha */
MAP_FILE
MAP_LOCKED
-/* FreeBSD ones */
-#if defined(MAP_ANON) && (!defined(MAP_ANONYMOUS) || MAP_ANON != MAP_ANONYMOUS)
-MAP_ANON
-#endif
-MAP_HASSEMAPHORE
+_MAP_HASSEMAPHORE /* alpha */
MAP_STACK
MAP_HUGETLB
MAP_SYNC
#if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0
MAP_UNINITIALIZED
#endif
-MAP_NOSYNC
-MAP_NOCORE
+MAP_AUTOGROW /* MIPS, xtensa */
+MAP_AUTORSRV /* MIPS, xtensa */
+MAP_LOCAL /* MIPS, xtensa */
+_MAP_UNALIGNED /* alpha */
diff --git a/xlat/netfilter_versions.h b/xlat/netfilter_versions.h
new file mode 100644
index 00000000..2055c5b9
--- /dev/null
+++ b/xlat/netfilter_versions.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netfilter_versions.in; do not edit. */
+#if !(defined(NFNETLINK_V0) || (defined(HAVE_DECL_NFNETLINK_V0) && HAVE_DECL_NFNETLINK_V0))
+# define NFNETLINK_V0 0
+#endif
+#if !(defined(NFNETLINK_V1) || (defined(HAVE_DECL_NFNETLINK_V1) && HAVE_DECL_NFNETLINK_V1))
+# define NFNETLINK_V1 1
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netfilter_versions in mpers mode
+
+#else
+
+static
+const struct xlat netfilter_versions[] = {
+ XLAT(NFNETLINK_V0),
+ XLAT(NFNETLINK_V1),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netfilter_versions.in b/xlat/netfilter_versions.in
new file mode 100644
index 00000000..09afc8e9
--- /dev/null
+++ b/xlat/netfilter_versions.in
@@ -0,0 +1,2 @@
+NFNETLINK_V0 0
+NFNETLINK_V1 1
diff --git a/xlat/nl_netfilter_msg_types.h b/xlat/nl_netfilter_msg_types.h
index ecc8e10a..0614af4e 100644
--- a/xlat/nl_netfilter_msg_types.h
+++ b/xlat/nl_netfilter_msg_types.h
@@ -6,13 +6,8 @@
# define NFNL_MSG_BATCH_END 0x11
#endif
-#ifdef IN_MPERS
+#ifndef 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),
diff --git a/xlat/nl_netfilter_subsys_ids.h b/xlat/nl_netfilter_subsys_ids.h
index 73b8cd4d..3d3a7ba3 100644
--- a/xlat/nl_netfilter_subsys_ids.h
+++ b/xlat/nl_netfilter_subsys_ids.h
@@ -35,9 +35,6 @@
#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
@@ -59,7 +56,6 @@ const struct xlat nl_netfilter_subsys_ids[] = {
XLAT(NFNL_SUBSYS_CTHELPER),
XLAT(NFNL_SUBSYS_NFTABLES),
XLAT(NFNL_SUBSYS_NFT_COMPAT),
- XLAT(NFNL_SUBSYS_COUNT),
XLAT_END
};
diff --git a/xlat/nl_netfilter_subsys_ids.in b/xlat/nl_netfilter_subsys_ids.in
index 3c66eb50..52aad872 100644
--- a/xlat/nl_netfilter_subsys_ids.in
+++ b/xlat/nl_netfilter_subsys_ids.in
@@ -10,4 +10,3 @@ 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/perf_hw_cache_id.h b/xlat/perf_hw_cache_id.h
index bfcae9fa..86b9cbc8 100644
--- a/xlat/perf_hw_cache_id.h
+++ b/xlat/perf_hw_cache_id.h
@@ -29,6 +29,7 @@
static
const struct xlat perf_hw_cache_id[] = {
+
XLAT(PERF_COUNT_HW_CACHE_L1D),
XLAT(PERF_COUNT_HW_CACHE_L1I),
XLAT(PERF_COUNT_HW_CACHE_LL),
@@ -36,7 +37,7 @@ const struct xlat perf_hw_cache_id[] = {
XLAT(PERF_COUNT_HW_CACHE_ITLB),
XLAT(PERF_COUNT_HW_CACHE_BPU),
XLAT(PERF_COUNT_HW_CACHE_NODE),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/perf_hw_cache_id.in b/xlat/perf_hw_cache_id.in
index ecddcb0c..1ba0b1fc 100644
--- a/xlat/perf_hw_cache_id.in
+++ b/xlat/perf_hw_cache_id.in
@@ -1,3 +1,4 @@
+/* sort -k2,2n */
PERF_COUNT_HW_CACHE_L1D 0
PERF_COUNT_HW_CACHE_L1I 1
PERF_COUNT_HW_CACHE_LL 2
@@ -5,4 +6,3 @@ PERF_COUNT_HW_CACHE_DTLB 3
PERF_COUNT_HW_CACHE_ITLB 4
PERF_COUNT_HW_CACHE_BPU 5
PERF_COUNT_HW_CACHE_NODE 6
-#unterminated
diff --git a/xlat/perf_hw_cache_op_id.h b/xlat/perf_hw_cache_op_id.h
index 2274bc58..5705f91f 100644
--- a/xlat/perf_hw_cache_op_id.h
+++ b/xlat/perf_hw_cache_op_id.h
@@ -17,10 +17,11 @@
static
const struct xlat perf_hw_cache_op_id[] = {
+
XLAT(PERF_COUNT_HW_CACHE_OP_READ),
XLAT(PERF_COUNT_HW_CACHE_OP_WRITE),
XLAT(PERF_COUNT_HW_CACHE_OP_PREFETCH),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/perf_hw_cache_op_id.in b/xlat/perf_hw_cache_op_id.in
index 8a46e0d7..7e30c3ad 100644
--- a/xlat/perf_hw_cache_op_id.in
+++ b/xlat/perf_hw_cache_op_id.in
@@ -1,4 +1,4 @@
+/* sort -k2,2n */
PERF_COUNT_HW_CACHE_OP_READ 0
PERF_COUNT_HW_CACHE_OP_WRITE 1
PERF_COUNT_HW_CACHE_OP_PREFETCH 2
-#unterminated
diff --git a/xlat/perf_hw_cache_op_result_id.h b/xlat/perf_hw_cache_op_result_id.h
index d5457516..70a9e9a4 100644
--- a/xlat/perf_hw_cache_op_result_id.h
+++ b/xlat/perf_hw_cache_op_result_id.h
@@ -14,9 +14,10 @@
static
const struct xlat perf_hw_cache_op_result_id[] = {
+
XLAT(PERF_COUNT_HW_CACHE_RESULT_ACCESS),
XLAT(PERF_COUNT_HW_CACHE_RESULT_MISS),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/perf_hw_cache_op_result_id.in b/xlat/perf_hw_cache_op_result_id.in
index d2a77f5a..07505465 100644
--- a/xlat/perf_hw_cache_op_result_id.in
+++ b/xlat/perf_hw_cache_op_result_id.in
@@ -1,3 +1,3 @@
+/* sort -k2,2n */
PERF_COUNT_HW_CACHE_RESULT_ACCESS 0
PERF_COUNT_HW_CACHE_RESULT_MISS 1
-#unterminated
diff --git a/xlat/perf_hw_id.h b/xlat/perf_hw_id.h
index 52384862..a076eca7 100644
--- a/xlat/perf_hw_id.h
+++ b/xlat/perf_hw_id.h
@@ -38,6 +38,7 @@
static
const struct xlat perf_hw_id[] = {
+
XLAT(PERF_COUNT_HW_CPU_CYCLES),
XLAT(PERF_COUNT_HW_INSTRUCTIONS),
XLAT(PERF_COUNT_HW_CACHE_REFERENCES),
@@ -48,7 +49,7 @@ const struct xlat perf_hw_id[] = {
XLAT(PERF_COUNT_HW_STALLED_CYCLES_FRONTEND),
XLAT(PERF_COUNT_HW_STALLED_CYCLES_BACKEND),
XLAT(PERF_COUNT_HW_REF_CPU_CYCLES),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/perf_hw_id.in b/xlat/perf_hw_id.in
index a642d0b4..c46bcecd 100644
--- a/xlat/perf_hw_id.in
+++ b/xlat/perf_hw_id.in
@@ -1,3 +1,4 @@
+/* sort -k2,2n */
PERF_COUNT_HW_CPU_CYCLES 0
PERF_COUNT_HW_INSTRUCTIONS 1
PERF_COUNT_HW_CACHE_REFERENCES 2
@@ -8,4 +9,3 @@ PERF_COUNT_HW_BUS_CYCLES 6
PERF_COUNT_HW_STALLED_CYCLES_FRONTEND 7
PERF_COUNT_HW_STALLED_CYCLES_BACKEND 8
PERF_COUNT_HW_REF_CPU_CYCLES 9
-#unterminated
diff --git a/xlat/perf_sw_ids.h b/xlat/perf_sw_ids.h
index b29b547b..96c628db 100644
--- a/xlat/perf_sw_ids.h
+++ b/xlat/perf_sw_ids.h
@@ -41,6 +41,7 @@
static
const struct xlat perf_sw_ids[] = {
+
XLAT(PERF_COUNT_SW_CPU_CLOCK),
XLAT(PERF_COUNT_SW_TASK_CLOCK),
XLAT(PERF_COUNT_SW_PAGE_FAULTS),
@@ -52,7 +53,7 @@ const struct xlat perf_sw_ids[] = {
XLAT(PERF_COUNT_SW_EMULATION_FAULTS),
XLAT(PERF_COUNT_SW_DUMMY),
XLAT(PERF_COUNT_SW_BPF_OUTPUT),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/perf_sw_ids.in b/xlat/perf_sw_ids.in
index 95ca15c4..e2ad8a8c 100644
--- a/xlat/perf_sw_ids.in
+++ b/xlat/perf_sw_ids.in
@@ -1,3 +1,4 @@
+/* sort -k2,2n */
PERF_COUNT_SW_CPU_CLOCK 0
PERF_COUNT_SW_TASK_CLOCK 1
PERF_COUNT_SW_PAGE_FAULTS 2
@@ -9,4 +10,3 @@ PERF_COUNT_SW_ALIGNMENT_FAULTS 7
PERF_COUNT_SW_EMULATION_FAULTS 8
PERF_COUNT_SW_DUMMY 9
PERF_COUNT_SW_BPF_OUTPUT 10
-#unterminated
diff --git a/xlat/perf_type_id.h b/xlat/perf_type_id.h
index edf62168..f83fc598 100644
--- a/xlat/perf_type_id.h
+++ b/xlat/perf_type_id.h
@@ -26,13 +26,14 @@
static
const struct xlat perf_type_id[] = {
+
XLAT(PERF_TYPE_HARDWARE),
XLAT(PERF_TYPE_SOFTWARE),
XLAT(PERF_TYPE_TRACEPOINT),
XLAT(PERF_TYPE_HW_CACHE),
XLAT(PERF_TYPE_RAW),
XLAT(PERF_TYPE_BREAKPOINT),
- /* this array should remain not NULL-terminated */
+ XLAT_END
};
#endif /* !IN_MPERS */
diff --git a/xlat/perf_type_id.in b/xlat/perf_type_id.in
index 9133e74d..88f63381 100644
--- a/xlat/perf_type_id.in
+++ b/xlat/perf_type_id.in
@@ -1,7 +1,7 @@
+/* sort -k2,2n */
PERF_TYPE_HARDWARE 0
PERF_TYPE_SOFTWARE 1
PERF_TYPE_TRACEPOINT 2
PERF_TYPE_HW_CACHE 3
PERF_TYPE_RAW 4
PERF_TYPE_BREAKPOINT 5
-#unterminated
diff --git a/xlat/pollflags.h b/xlat/pollflags.h
index 3c9f24ab..6fd03a91 100644
--- a/xlat/pollflags.h
+++ b/xlat/pollflags.h
@@ -1,4 +1,31 @@
/* Generated by ./xlat/gen.sh from ./xlat/pollflags.in; do not edit. */
+#if !(defined(POLLIN) || (defined(HAVE_DECL_POLLIN) && HAVE_DECL_POLLIN))
+# define POLLIN 0x0001
+#endif
+#if !(defined(POLLPRI) || (defined(HAVE_DECL_POLLPRI) && HAVE_DECL_POLLPRI))
+# define POLLPRI 0x0002
+#endif
+#if !(defined(POLLOUT) || (defined(HAVE_DECL_POLLOUT) && HAVE_DECL_POLLOUT))
+# define POLLOUT 0x0004
+#endif
+#if !(defined(POLLRDNORM) || (defined(HAVE_DECL_POLLRDNORM) && HAVE_DECL_POLLRDNORM))
+# define POLLRDNORM 0x0040
+#endif
+#if !(defined(POLLRDBAND) || (defined(HAVE_DECL_POLLRDBAND) && HAVE_DECL_POLLRDBAND))
+# define POLLRDBAND 0x0080
+#endif
+#if !(defined(POLLERR) || (defined(HAVE_DECL_POLLERR) && HAVE_DECL_POLLERR))
+# define POLLERR 0x0008
+#endif
+#if !(defined(POLLHUP) || (defined(HAVE_DECL_POLLHUP) && HAVE_DECL_POLLHUP))
+# define POLLHUP 0x0010
+#endif
+#if !(defined(POLLNVAL) || (defined(HAVE_DECL_POLLNVAL) && HAVE_DECL_POLLNVAL))
+# define POLLNVAL 0x0020
+#endif
+#if !(defined(POLL_BUSY_LOOP) || (defined(HAVE_DECL_POLL_BUSY_LOOP) && HAVE_DECL_POLL_BUSY_LOOP))
+# define POLL_BUSY_LOOP 0x8000
+#endif
#ifdef IN_MPERS
@@ -8,36 +35,30 @@
static
const struct xlat pollflags[] = {
-#if defined(POLLIN) || (defined(HAVE_DECL_POLLIN) && HAVE_DECL_POLLIN)
- XLAT(POLLIN),
-#endif
-#if defined(POLLPRI) || (defined(HAVE_DECL_POLLPRI) && HAVE_DECL_POLLPRI)
- XLAT(POLLPRI),
-#endif
-#if defined(POLLOUT) || (defined(HAVE_DECL_POLLOUT) && HAVE_DECL_POLLOUT)
- XLAT(POLLOUT),
-#endif
-#if defined(POLLRDNORM) || (defined(HAVE_DECL_POLLRDNORM) && HAVE_DECL_POLLRDNORM)
- XLAT(POLLRDNORM),
-#endif
+ XLAT(POLLIN),
+ XLAT(POLLPRI),
+ XLAT(POLLOUT),
+ XLAT(POLLRDNORM),
#if defined(POLLWRNORM) || (defined(HAVE_DECL_POLLWRNORM) && HAVE_DECL_POLLWRNORM)
XLAT(POLLWRNORM),
#endif
-#if defined(POLLRDBAND) || (defined(HAVE_DECL_POLLRDBAND) && HAVE_DECL_POLLRDBAND)
- XLAT(POLLRDBAND),
-#endif
+ XLAT(POLLRDBAND),
#if defined(POLLWRBAND) || (defined(HAVE_DECL_POLLWRBAND) && HAVE_DECL_POLLWRBAND)
XLAT(POLLWRBAND),
#endif
-#if defined(POLLERR) || (defined(HAVE_DECL_POLLERR) && HAVE_DECL_POLLERR)
- XLAT(POLLERR),
+ XLAT(POLLERR),
+ XLAT(POLLHUP),
+ XLAT(POLLNVAL),
+#if defined(POLLMSG) || (defined(HAVE_DECL_POLLMSG) && HAVE_DECL_POLLMSG)
+ XLAT(POLLMSG),
#endif
-#if defined(POLLHUP) || (defined(HAVE_DECL_POLLHUP) && HAVE_DECL_POLLHUP)
- XLAT(POLLHUP),
+#if defined(POLLREMOVE) || (defined(HAVE_DECL_POLLREMOVE) && HAVE_DECL_POLLREMOVE)
+ XLAT(POLLREMOVE),
#endif
-#if defined(POLLNVAL) || (defined(HAVE_DECL_POLLNVAL) && HAVE_DECL_POLLNVAL)
- XLAT(POLLNVAL),
+#if defined(POLLRDHUP) || (defined(HAVE_DECL_POLLRDHUP) && HAVE_DECL_POLLRDHUP)
+ XLAT(POLLRDHUP),
#endif
+ XLAT(POLL_BUSY_LOOP),
XLAT_END
};
diff --git a/xlat/pollflags.in b/xlat/pollflags.in
index db41909f..31400112 100644
--- a/xlat/pollflags.in
+++ b/xlat/pollflags.in
@@ -1,10 +1,14 @@
-POLLIN
-POLLPRI
-POLLOUT
-POLLRDNORM
+POLLIN 0x0001
+POLLPRI 0x0002
+POLLOUT 0x0004
+POLLRDNORM 0x0040
POLLWRNORM
-POLLRDBAND
+POLLRDBAND 0x0080
POLLWRBAND
-POLLERR
-POLLHUP
-POLLNVAL
+POLLERR 0x0008
+POLLHUP 0x0010
+POLLNVAL 0x0020
+POLLMSG
+POLLREMOVE
+POLLRDHUP
+POLL_BUSY_LOOP 0x8000
diff --git a/xlat/pr_sve_vl_flags.h b/xlat/pr_sve_vl_flags.h
new file mode 100644
index 00000000..3dcbb062
--- /dev/null
+++ b/xlat/pr_sve_vl_flags.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/pr_sve_vl_flags.in; do not edit. */
+#if !(defined(PR_SVE_SET_VL_ONEXEC) || (defined(HAVE_DECL_PR_SVE_SET_VL_ONEXEC) && HAVE_DECL_PR_SVE_SET_VL_ONEXEC))
+# define PR_SVE_SET_VL_ONEXEC (1 << 18)
+#endif
+#if !(defined(PR_SVE_VL_INHERIT) || (defined(HAVE_DECL_PR_SVE_VL_INHERIT) && HAVE_DECL_PR_SVE_VL_INHERIT))
+# define PR_SVE_VL_INHERIT (1 << 17)
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat pr_sve_vl_flags in mpers mode
+
+#else
+
+static
+const struct xlat pr_sve_vl_flags[] = {
+ XLAT(PR_SVE_SET_VL_ONEXEC),
+ XLAT(PR_SVE_VL_INHERIT),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/pr_sve_vl_flags.in b/xlat/pr_sve_vl_flags.in
new file mode 100644
index 00000000..dcd69980
--- /dev/null
+++ b/xlat/pr_sve_vl_flags.in
@@ -0,0 +1,2 @@
+PR_SVE_SET_VL_ONEXEC (1 << 18)
+PR_SVE_VL_INHERIT (1 << 17)
diff --git a/xlat/prctl_options.h b/xlat/prctl_options.h
index f1475b4a..e1a470f3 100644
--- a/xlat/prctl_options.h
+++ b/xlat/prctl_options.h
@@ -137,6 +137,12 @@
#if !(defined(PR_CAP_AMBIENT) || (defined(HAVE_DECL_PR_CAP_AMBIENT) && HAVE_DECL_PR_CAP_AMBIENT))
# define PR_CAP_AMBIENT 47
#endif
+#if !(defined(PR_SVE_SET_VL) || (defined(HAVE_DECL_PR_SVE_SET_VL) && HAVE_DECL_PR_SVE_SET_VL))
+# define PR_SVE_SET_VL 50
+#endif
+#if !(defined(PR_SVE_GET_VL) || (defined(HAVE_DECL_PR_SVE_GET_VL) && HAVE_DECL_PR_SVE_GET_VL))
+# define PR_SVE_GET_VL 51
+#endif
#if !(defined(PR_SET_VMA) || (defined(HAVE_DECL_PR_SET_VMA) && HAVE_DECL_PR_SET_VMA))
# define PR_SET_VMA 0x53564d41
#endif
@@ -195,6 +201,8 @@ const struct xlat prctl_options[] = {
XLAT(PR_SET_FP_MODE),
XLAT(PR_GET_FP_MODE),
XLAT(PR_CAP_AMBIENT),
+ XLAT(PR_SVE_SET_VL),
+ XLAT(PR_SVE_GET_VL),
XLAT(PR_SET_VMA),
XLAT_END
};
diff --git a/xlat/prctl_options.in b/xlat/prctl_options.in
index 8c09ee31..86fcd2cd 100644
--- a/xlat/prctl_options.in
+++ b/xlat/prctl_options.in
@@ -44,4 +44,6 @@ PR_MPX_DISABLE_MANAGEMENT 44
PR_SET_FP_MODE 45
PR_GET_FP_MODE 46
PR_CAP_AMBIENT 47
+PR_SVE_SET_VL 50
+PR_SVE_GET_VL 51
PR_SET_VMA 0x53564d41
diff --git a/xlat/ptrace_cmds.h b/xlat/ptrace_cmds.h
index 107cea41..4125bfac 100644
--- a/xlat/ptrace_cmds.h
+++ b/xlat/ptrace_cmds.h
@@ -113,6 +113,9 @@ const struct xlat ptrace_cmds[] = {
#if defined(PTRACE_SECCOMP_GET_FILTER) || (defined(HAVE_DECL_PTRACE_SECCOMP_GET_FILTER) && HAVE_DECL_PTRACE_SECCOMP_GET_FILTER)
XLAT(PTRACE_SECCOMP_GET_FILTER),
#endif
+#if defined(PTRACE_SECCOMP_GET_METADATA) || (defined(HAVE_DECL_PTRACE_SECCOMP_GET_METADATA) && HAVE_DECL_PTRACE_SECCOMP_GET_METADATA)
+ XLAT(PTRACE_SECCOMP_GET_METADATA),
+#endif
#if defined(PTRACE_GET_THREAD_AREA) || (defined(HAVE_DECL_PTRACE_GET_THREAD_AREA) && HAVE_DECL_PTRACE_GET_THREAD_AREA)
XLAT(PTRACE_GET_THREAD_AREA),
diff --git a/xlat/ptrace_cmds.in b/xlat/ptrace_cmds.in
index 525494da..da7030d4 100644
--- a/xlat/ptrace_cmds.in
+++ b/xlat/ptrace_cmds.in
@@ -33,6 +33,7 @@ PTRACE_PEEKSIGINFO
PTRACE_GETSIGMASK
PTRACE_SETSIGMASK
PTRACE_SECCOMP_GET_FILTER
+PTRACE_SECCOMP_GET_METADATA
/* arch-specific */
PTRACE_GET_THREAD_AREA
PTRACE_SET_THREAD_AREA
diff --git a/xlat/rtnl_ifla_events.h b/xlat/rtnl_ifla_events.h
new file mode 100644
index 00000000..50aee847
--- /dev/null
+++ b/xlat/rtnl_ifla_events.h
@@ -0,0 +1,42 @@
+/* Generated by ./xlat/gen.sh from ./xlat/rtnl_ifla_events.in; do not edit. */
+#if !(defined(IFLA_EVENT_NONE) || (defined(HAVE_DECL_IFLA_EVENT_NONE) && HAVE_DECL_IFLA_EVENT_NONE))
+# define IFLA_EVENT_NONE 0
+#endif
+#if !(defined(IFLA_EVENT_REBOOT) || (defined(HAVE_DECL_IFLA_EVENT_REBOOT) && HAVE_DECL_IFLA_EVENT_REBOOT))
+# define IFLA_EVENT_REBOOT 1
+#endif
+#if !(defined(IFLA_EVENT_FEATURES) || (defined(HAVE_DECL_IFLA_EVENT_FEATURES) && HAVE_DECL_IFLA_EVENT_FEATURES))
+# define IFLA_EVENT_FEATURES 2
+#endif
+#if !(defined(IFLA_EVENT_BONDING_FAILOVER) || (defined(HAVE_DECL_IFLA_EVENT_BONDING_FAILOVER) && HAVE_DECL_IFLA_EVENT_BONDING_FAILOVER))
+# define IFLA_EVENT_BONDING_FAILOVER 3
+#endif
+#if !(defined(IFLA_EVENT_NOTIFY_PEERS) || (defined(HAVE_DECL_IFLA_EVENT_NOTIFY_PEERS) && HAVE_DECL_IFLA_EVENT_NOTIFY_PEERS))
+# define IFLA_EVENT_NOTIFY_PEERS 4
+#endif
+#if !(defined(IFLA_EVENT_IGMP_RESEND) || (defined(HAVE_DECL_IFLA_EVENT_IGMP_RESEND) && HAVE_DECL_IFLA_EVENT_IGMP_RESEND))
+# define IFLA_EVENT_IGMP_RESEND 5
+#endif
+#if !(defined(IFLA_EVENT_BONDING_OPTIONS) || (defined(HAVE_DECL_IFLA_EVENT_BONDING_OPTIONS) && HAVE_DECL_IFLA_EVENT_BONDING_OPTIONS))
+# define IFLA_EVENT_BONDING_OPTIONS 6
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat rtnl_ifla_events in mpers mode
+
+#else
+
+static
+const struct xlat rtnl_ifla_events[] = {
+ XLAT(IFLA_EVENT_NONE),
+ XLAT(IFLA_EVENT_REBOOT),
+ XLAT(IFLA_EVENT_FEATURES),
+ XLAT(IFLA_EVENT_BONDING_FAILOVER),
+ XLAT(IFLA_EVENT_NOTIFY_PEERS),
+ XLAT(IFLA_EVENT_IGMP_RESEND),
+ XLAT(IFLA_EVENT_BONDING_OPTIONS),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/rtnl_ifla_events.in b/xlat/rtnl_ifla_events.in
new file mode 100644
index 00000000..487b6ac2
--- /dev/null
+++ b/xlat/rtnl_ifla_events.in
@@ -0,0 +1,7 @@
+IFLA_EVENT_NONE 0
+IFLA_EVENT_REBOOT 1
+IFLA_EVENT_FEATURES 2
+IFLA_EVENT_BONDING_FAILOVER 3
+IFLA_EVENT_NOTIFY_PEERS 4
+IFLA_EVENT_IGMP_RESEND 5
+IFLA_EVENT_BONDING_OPTIONS 6
diff --git a/xlat/rtnl_link_attrs.h b/xlat/rtnl_link_attrs.h
index e3f29ae7..e212eaf6 100644
--- a/xlat/rtnl_link_attrs.h
+++ b/xlat/rtnl_link_attrs.h
@@ -134,6 +134,21 @@
#if !(defined(IFLA_EVENT) || (defined(HAVE_DECL_IFLA_EVENT) && HAVE_DECL_IFLA_EVENT))
# define IFLA_EVENT 44
#endif
+#if !(defined(IFLA_NEW_NETNSID) || (defined(HAVE_DECL_IFLA_NEW_NETNSID) && HAVE_DECL_IFLA_NEW_NETNSID))
+# define IFLA_NEW_NETNSID 45
+#endif
+#if !(defined(IFLA_IF_NETNSID) || (defined(HAVE_DECL_IFLA_IF_NETNSID) && HAVE_DECL_IFLA_IF_NETNSID))
+# define IFLA_IF_NETNSID 46
+#endif
+#if !(defined(IFLA_CARRIER_UP_COUNT) || (defined(HAVE_DECL_IFLA_CARRIER_UP_COUNT) && HAVE_DECL_IFLA_CARRIER_UP_COUNT))
+# define IFLA_CARRIER_UP_COUNT 47
+#endif
+#if !(defined(IFLA_CARRIER_DOWN_COUNT) || (defined(HAVE_DECL_IFLA_CARRIER_DOWN_COUNT) && HAVE_DECL_IFLA_CARRIER_DOWN_COUNT))
+# define IFLA_CARRIER_DOWN_COUNT 48
+#endif
+#if !(defined(IFLA_NEW_IFINDEX) || (defined(HAVE_DECL_IFLA_NEW_IFINDEX) && HAVE_DECL_IFLA_NEW_IFINDEX))
+# define IFLA_NEW_IFINDEX 49
+#endif
#ifdef IN_MPERS
@@ -188,6 +203,11 @@ const struct xlat rtnl_link_attrs[] = {
XLAT(IFLA_PAD),
XLAT(IFLA_XDP),
XLAT(IFLA_EVENT),
+ XLAT(IFLA_NEW_NETNSID),
+ XLAT(IFLA_IF_NETNSID),
+ XLAT(IFLA_CARRIER_UP_COUNT),
+ XLAT(IFLA_CARRIER_DOWN_COUNT),
+ XLAT(IFLA_NEW_IFINDEX),
XLAT_END
};
diff --git a/xlat/rtnl_link_attrs.in b/xlat/rtnl_link_attrs.in
index eb7f4754..9ba08ad9 100644
--- a/xlat/rtnl_link_attrs.in
+++ b/xlat/rtnl_link_attrs.in
@@ -43,3 +43,8 @@ IFLA_GSO_MAX_SIZE 41
IFLA_PAD 42
IFLA_XDP 43
IFLA_EVENT 44
+IFLA_NEW_NETNSID 45
+IFLA_IF_NETNSID 46
+IFLA_CARRIER_UP_COUNT 47
+IFLA_CARRIER_DOWN_COUNT 48
+IFLA_NEW_IFINDEX 49
diff --git a/xlat/rtnl_tc_attrs.h b/xlat/rtnl_tc_attrs.h
index 506b5ebd..f622eedc 100644
--- a/xlat/rtnl_tc_attrs.h
+++ b/xlat/rtnl_tc_attrs.h
@@ -35,6 +35,15 @@
#if !(defined(TCA_CHAIN) || (defined(HAVE_DECL_TCA_CHAIN) && HAVE_DECL_TCA_CHAIN))
# define TCA_CHAIN 11
#endif
+#if !(defined(TCA_HW_OFFLOAD) || (defined(HAVE_DECL_TCA_HW_OFFLOAD) && HAVE_DECL_TCA_HW_OFFLOAD))
+# define TCA_HW_OFFLOAD 12
+#endif
+#if !(defined(TCA_INGRESS_BLOCK) || (defined(HAVE_DECL_TCA_INGRESS_BLOCK) && HAVE_DECL_TCA_INGRESS_BLOCK))
+# define TCA_INGRESS_BLOCK 13
+#endif
+#if !(defined(TCA_EGRESS_BLOCK) || (defined(HAVE_DECL_TCA_EGRESS_BLOCK) && HAVE_DECL_TCA_EGRESS_BLOCK))
+# define TCA_EGRESS_BLOCK 14
+#endif
#ifdef IN_MPERS
@@ -56,6 +65,9 @@ const struct xlat rtnl_tc_attrs[] = {
XLAT(TCA_PAD),
XLAT(TCA_DUMP_INVISIBLE),
XLAT(TCA_CHAIN),
+ XLAT(TCA_HW_OFFLOAD),
+ XLAT(TCA_INGRESS_BLOCK),
+ XLAT(TCA_EGRESS_BLOCK),
XLAT_END
};
diff --git a/xlat/rtnl_tc_attrs.in b/xlat/rtnl_tc_attrs.in
index 27f39e9a..b3cdcf4e 100644
--- a/xlat/rtnl_tc_attrs.in
+++ b/xlat/rtnl_tc_attrs.in
@@ -10,3 +10,6 @@ TCA_STAB 8
TCA_PAD 9
TCA_DUMP_INVISIBLE 10
TCA_CHAIN 11
+TCA_HW_OFFLOAD 12
+TCA_INGRESS_BLOCK 13
+TCA_EGRESS_BLOCK 14
diff --git a/xlat/rwf_flags.h b/xlat/rwf_flags.h
index ffcbfc1e..dee1f8b3 100644
--- a/xlat/rwf_flags.h
+++ b/xlat/rwf_flags.h
@@ -1,15 +1,18 @@
/* Generated by ./xlat/gen.sh from ./xlat/rwf_flags.in; do not edit. */
#if !(defined(RWF_HIPRI) || (defined(HAVE_DECL_RWF_HIPRI) && HAVE_DECL_RWF_HIPRI))
-# define RWF_HIPRI 1
+# define RWF_HIPRI 0x01
#endif
#if !(defined(RWF_DSYNC) || (defined(HAVE_DECL_RWF_DSYNC) && HAVE_DECL_RWF_DSYNC))
-# define RWF_DSYNC 2
+# define RWF_DSYNC 0x02
#endif
#if !(defined(RWF_SYNC) || (defined(HAVE_DECL_RWF_SYNC) && HAVE_DECL_RWF_SYNC))
-# define RWF_SYNC 4
+# define RWF_SYNC 0x04
#endif
#if !(defined(RWF_NOWAIT) || (defined(HAVE_DECL_RWF_NOWAIT) && HAVE_DECL_RWF_NOWAIT))
-# define RWF_NOWAIT 8
+# define RWF_NOWAIT 0x08
+#endif
+#if !(defined(RWF_APPEND) || (defined(HAVE_DECL_RWF_APPEND) && HAVE_DECL_RWF_APPEND))
+# define RWF_APPEND 0x10
#endif
#ifdef IN_MPERS
@@ -24,6 +27,7 @@ const struct xlat rwf_flags[] = {
XLAT(RWF_DSYNC),
XLAT(RWF_SYNC),
XLAT(RWF_NOWAIT),
+ XLAT(RWF_APPEND),
XLAT_END
};
diff --git a/xlat/rwf_flags.in b/xlat/rwf_flags.in
index 34b2eb17..3f63f5a2 100644
--- a/xlat/rwf_flags.in
+++ b/xlat/rwf_flags.in
@@ -1,4 +1,5 @@
-RWF_HIPRI 1
-RWF_DSYNC 2
-RWF_SYNC 4
-RWF_NOWAIT 8
+RWF_HIPRI 0x01
+RWF_DSYNC 0x02
+RWF_SYNC 0x04
+RWF_NOWAIT 0x08
+RWF_APPEND 0x10
diff --git a/xlat/sched_flags.h b/xlat/sched_flags.h
index 78638612..d087e15d 100644
--- a/xlat/sched_flags.h
+++ b/xlat/sched_flags.h
@@ -2,6 +2,12 @@
#if !(defined(SCHED_FLAG_RESET_ON_FORK) || (defined(HAVE_DECL_SCHED_FLAG_RESET_ON_FORK) && HAVE_DECL_SCHED_FLAG_RESET_ON_FORK))
# define SCHED_FLAG_RESET_ON_FORK 1
#endif
+#if !(defined(SCHED_FLAG_RECLAIM) || (defined(HAVE_DECL_SCHED_FLAG_RECLAIM) && HAVE_DECL_SCHED_FLAG_RECLAIM))
+# define SCHED_FLAG_RECLAIM 2
+#endif
+#if !(defined(SCHED_FLAG_DL_OVERRUN) || (defined(HAVE_DECL_SCHED_FLAG_DL_OVERRUN) && HAVE_DECL_SCHED_FLAG_DL_OVERRUN))
+# define SCHED_FLAG_DL_OVERRUN 4
+#endif
#ifdef IN_MPERS
@@ -12,6 +18,8 @@
static
const struct xlat sched_flags[] = {
XLAT(SCHED_FLAG_RESET_ON_FORK),
+ XLAT(SCHED_FLAG_RECLAIM),
+ XLAT(SCHED_FLAG_DL_OVERRUN),
XLAT_END
};
diff --git a/xlat/sched_flags.in b/xlat/sched_flags.in
index 824d91dc..10c90661 100644
--- a/xlat/sched_flags.in
+++ b/xlat/sched_flags.in
@@ -1 +1,3 @@
-SCHED_FLAG_RESET_ON_FORK 1
+SCHED_FLAG_RESET_ON_FORK 1
+SCHED_FLAG_RECLAIM 2
+SCHED_FLAG_DL_OVERRUN 4
diff --git a/xlat/seccomp_filter_flags.h b/xlat/seccomp_filter_flags.h
index ad1bede2..e9801d71 100644
--- a/xlat/seccomp_filter_flags.h
+++ b/xlat/seccomp_filter_flags.h
@@ -6,13 +6,8 @@
# define SECCOMP_FILTER_FLAG_LOG 2
#endif
-#ifdef IN_MPERS
+#ifndef IN_MPERS
-# error static const struct xlat seccomp_filter_flags in mpers mode
-
-#else
-
-static
const struct xlat seccomp_filter_flags[] = {
XLAT(SECCOMP_FILTER_FLAG_TSYNC),
XLAT(SECCOMP_FILTER_FLAG_LOG),
diff --git a/xlat/sigbus_codes.h b/xlat/sigbus_codes.h
index 4ad49ab7..30c017d9 100644
--- a/xlat/sigbus_codes.h
+++ b/xlat/sigbus_codes.h
@@ -28,6 +28,9 @@ const struct xlat sigbus_codes[] = {
XLAT(BUS_ADRALN),
XLAT(BUS_ADRERR),
XLAT(BUS_OBJERR),
+#if defined(BUS_OPFETCH) || (defined(HAVE_DECL_BUS_OPFETCH) && HAVE_DECL_BUS_OPFETCH)
+ XLAT(BUS_OPFETCH),
+#endif
XLAT(BUS_MCEERR_AR),
XLAT(BUS_MCEERR_AO),
XLAT_END
diff --git a/xlat/sigbus_codes.in b/xlat/sigbus_codes.in
index 1bce25f2..54f1b433 100644
--- a/xlat/sigbus_codes.in
+++ b/xlat/sigbus_codes.in
@@ -1,5 +1,6 @@
BUS_ADRALN 1
BUS_ADRERR 2
BUS_OBJERR 3
+BUS_OPFETCH /* 4 - bfin */
BUS_MCEERR_AR 4
BUS_MCEERR_AO 5
diff --git a/xlat/sigfpe_codes.h b/xlat/sigfpe_codes.h
index c9e29597..1821f34d 100644
--- a/xlat/sigfpe_codes.h
+++ b/xlat/sigfpe_codes.h
@@ -42,6 +42,24 @@ const struct xlat sigfpe_codes[] = {
XLAT(FPE_FLTRES),
XLAT(FPE_FLTINV),
XLAT(FPE_FLTSUB),
+#if defined(FPE_MDAOVF) || (defined(HAVE_DECL_FPE_MDAOVF) && HAVE_DECL_FPE_MDAOVF)
+ XLAT(FPE_MDAOVF),
+#endif
+#if defined(__FPE_DECOVF) || (defined(HAVE_DECL___FPE_DECOVF) && HAVE_DECL___FPE_DECOVF)
+ XLAT(__FPE_DECOVF),
+#endif
+#if defined(__FPE_DECDIV) || (defined(HAVE_DECL___FPE_DECDIV) && HAVE_DECL___FPE_DECDIV)
+ XLAT(__FPE_DECDIV),
+#endif
+#if defined(__FPE_DECERR) || (defined(HAVE_DECL___FPE_DECERR) && HAVE_DECL___FPE_DECERR)
+ XLAT(__FPE_DECERR),
+#endif
+#if defined(__FPE_INVASC) || (defined(HAVE_DECL___FPE_INVASC) && HAVE_DECL___FPE_INVASC)
+ XLAT(__FPE_INVASC),
+#endif
+#if defined(__FPE_INVDEC) || (defined(HAVE_DECL___FPE_INVDEC) && HAVE_DECL___FPE_INVDEC)
+ XLAT(__FPE_INVDEC),
+#endif
XLAT_END
};
diff --git a/xlat/sigfpe_codes.in b/xlat/sigfpe_codes.in
index 4ef0667a..31cc924f 100644
--- a/xlat/sigfpe_codes.in
+++ b/xlat/sigfpe_codes.in
@@ -6,3 +6,9 @@ FPE_FLTUND 5
FPE_FLTRES 6
FPE_FLTINV 7
FPE_FLTSUB 8
+FPE_MDAOVF /* 9 - frv */
+__FPE_DECOVF /* 9 - ia64 */
+__FPE_DECDIV /* 10 - ia64 */
+__FPE_DECERR /* 11 - ia64 */
+__FPE_INVASC /* 12 - ia64 */
+__FPE_INVDEC /* 13 - ia64 */
diff --git a/xlat/sigill_codes.h b/xlat/sigill_codes.h
index f16a69c8..24fe266b 100644
--- a/xlat/sigill_codes.h
+++ b/xlat/sigill_codes.h
@@ -35,13 +35,43 @@ static
# endif
const struct xlat sigill_codes[] = {
XLAT(ILL_ILLOPC),
+#if defined(ILL_ILLPARAOP) || (defined(HAVE_DECL_ILL_ILLPARAOP) && HAVE_DECL_ILL_ILLPARAOP)
+ XLAT(ILL_ILLPARAOP),
+#endif
XLAT(ILL_ILLOPN),
XLAT(ILL_ILLADR),
+#if defined(ILL_ILLEXCPT) || (defined(HAVE_DECL_ILL_ILLEXCPT) && HAVE_DECL_ILL_ILLEXCPT)
+ XLAT(ILL_ILLEXCPT),
+#endif
XLAT(ILL_ILLTRP),
XLAT(ILL_PRVOPC),
XLAT(ILL_PRVREG),
XLAT(ILL_COPROC),
XLAT(ILL_BADSTK),
+#if defined(ILL_CPLB_VI) || (defined(HAVE_DECL_ILL_CPLB_VI) && HAVE_DECL_ILL_CPLB_VI)
+ XLAT(ILL_CPLB_VI),
+#endif
+#if defined(ILL_CPLB_MISS) || (defined(HAVE_DECL_ILL_CPLB_MISS) && HAVE_DECL_ILL_CPLB_MISS)
+ XLAT(ILL_CPLB_MISS),
+#endif
+#if defined(ILL_CPLB_MULHIT) || (defined(HAVE_DECL_ILL_CPLB_MULHIT) && HAVE_DECL_ILL_CPLB_MULHIT)
+ XLAT(ILL_CPLB_MULHIT),
+#endif
+#if defined(ILL_DBLFLT) || (defined(HAVE_DECL_ILL_DBLFLT) && HAVE_DECL_ILL_DBLFLT)
+ XLAT(ILL_DBLFLT),
+#endif
+#if defined(ILL_HARDWALL) || (defined(HAVE_DECL_ILL_HARDWALL) && HAVE_DECL_ILL_HARDWALL)
+ XLAT(ILL_HARDWALL),
+#endif
+#if defined(ILL_BADIADDR) || (defined(HAVE_DECL_ILL_BADIADDR) && HAVE_DECL_ILL_BADIADDR)
+ XLAT(ILL_BADIADDR),
+#endif
+#if defined(__ILL_BREAK) || (defined(HAVE_DECL___ILL_BREAK) && HAVE_DECL___ILL_BREAK)
+ XLAT(__ILL_BREAK),
+#endif
+#if defined(__ILL_BNDMOD) || (defined(HAVE_DECL___ILL_BNDMOD) && HAVE_DECL___ILL_BNDMOD)
+ XLAT(__ILL_BNDMOD),
+#endif
XLAT_END
};
diff --git a/xlat/sigill_codes.in b/xlat/sigill_codes.in
index ca111ec8..12cd2cfa 100644
--- a/xlat/sigill_codes.in
+++ b/xlat/sigill_codes.in
@@ -1,8 +1,18 @@
ILL_ILLOPC 1
+ILL_ILLPARAOP /* 2 - bfin */
ILL_ILLOPN 2
ILL_ILLADR 3
+ILL_ILLEXCPT /* 4 - bfin */
ILL_ILLTRP 4
ILL_PRVOPC 5
ILL_PRVREG 6
ILL_COPROC 7
ILL_BADSTK 8
+ILL_CPLB_VI /* 9 - bfin */
+ILL_CPLB_MISS /* 10 - bfin */
+ILL_CPLB_MULHIT /* 11 - bfin */
+ILL_DBLFLT /* 9 - tile */
+ILL_HARDWALL /* 10 - tile */
+ILL_BADIADDR /* 9 - ia64 */
+__ILL_BREAK /* 10 - ia64 */
+__ILL_BNDMOD /* 11 - ia64 */
diff --git a/xlat/sigsegv_codes.h b/xlat/sigsegv_codes.h
index 67034cba..30dceee4 100644
--- a/xlat/sigsegv_codes.h
+++ b/xlat/sigsegv_codes.h
@@ -24,7 +24,13 @@ static
const struct xlat sigsegv_codes[] = {
XLAT(SEGV_MAPERR),
XLAT(SEGV_ACCERR),
+#if defined(SEGV_STACKFLOW) || (defined(HAVE_DECL_SEGV_STACKFLOW) && HAVE_DECL_SEGV_STACKFLOW)
+ XLAT(SEGV_STACKFLOW),
+#endif
XLAT(SEGV_BNDERR),
+#if defined(__SEGV_PSTKOVF) || (defined(HAVE_DECL___SEGV_PSTKOVF) && HAVE_DECL___SEGV_PSTKOVF)
+ XLAT(__SEGV_PSTKOVF),
+#endif
XLAT(SEGV_PKUERR),
XLAT_END
};
diff --git a/xlat/sigsegv_codes.in b/xlat/sigsegv_codes.in
index 09c16069..86dbdc5f 100644
--- a/xlat/sigsegv_codes.in
+++ b/xlat/sigsegv_codes.in
@@ -1,4 +1,6 @@
SEGV_MAPERR 1
SEGV_ACCERR 2
+SEGV_STACKFLOW /* 3 - bfin */
SEGV_BNDERR 3
+__SEGV_PSTKOVF /* 4 - ia64 */
SEGV_PKUERR 4
diff --git a/xlat/sigtrap_codes.h b/xlat/sigtrap_codes.h
index f451dc44..db2a7c90 100644
--- a/xlat/sigtrap_codes.h
+++ b/xlat/sigtrap_codes.h
@@ -22,9 +22,21 @@ extern const struct xlat sigtrap_codes[];
static
# endif
const struct xlat sigtrap_codes[] = {
+#if defined(TRAP_STEP) || (defined(HAVE_DECL_TRAP_STEP) && HAVE_DECL_TRAP_STEP)
+ XLAT(TRAP_STEP),
+#endif
XLAT(TRAP_BRKPT),
+#if defined(TRAP_TRACEFLOW) || (defined(HAVE_DECL_TRAP_TRACEFLOW) && HAVE_DECL_TRAP_TRACEFLOW)
+ XLAT(TRAP_TRACEFLOW),
+#endif
XLAT(TRAP_TRACE),
+#if defined(TRAP_WATCHPT) || (defined(HAVE_DECL_TRAP_WATCHPT) && HAVE_DECL_TRAP_WATCHPT)
+ XLAT(TRAP_WATCHPT),
+#endif
XLAT(TRAP_BRANCH),
+#if defined(TRAP_ILLTRAP) || (defined(HAVE_DECL_TRAP_ILLTRAP) && HAVE_DECL_TRAP_ILLTRAP)
+ XLAT(TRAP_ILLTRAP),
+#endif
XLAT(TRAP_HWBKPT),
XLAT_END
};
diff --git a/xlat/sigtrap_codes.in b/xlat/sigtrap_codes.in
index 078aec87..38b0342d 100644
--- a/xlat/sigtrap_codes.in
+++ b/xlat/sigtrap_codes.in
@@ -1,4 +1,8 @@
+TRAP_STEP /* 1 - bfin */
TRAP_BRKPT 1
+TRAP_TRACEFLOW /* 2 - bfin */
TRAP_TRACE 2
+TRAP_WATCHPT /* 3 - bfin */
TRAP_BRANCH 3
+TRAP_ILLTRAP /* 4 - bfin */
TRAP_HWBKPT 4
diff --git a/xlat/socksctpoptions.h b/xlat/socksctpoptions.h
index 984718d4..4041db37 100644
--- a/xlat/socksctpoptions.h
+++ b/xlat/socksctpoptions.h
@@ -1,185 +1,258 @@
/* Generated by ./xlat/gen.sh from ./xlat/socksctpoptions.in; do not edit. */
-
-#ifdef IN_MPERS
-
-# error static const struct xlat socksctpoptions in mpers mode
-
-#else
-
-static
-const struct xlat socksctpoptions[] = {
-#if defined(SCTP_RTOINFO) || (defined(HAVE_DECL_SCTP_RTOINFO) && HAVE_DECL_SCTP_RTOINFO)
- XLAT(SCTP_RTOINFO),
+#if !(defined(SCTP_RTOINFO) || (defined(HAVE_DECL_SCTP_RTOINFO) && HAVE_DECL_SCTP_RTOINFO))
+# define SCTP_RTOINFO 0
#endif
-#if defined(SCTP_ASSOCINFO) || (defined(HAVE_DECL_SCTP_ASSOCINFO) && HAVE_DECL_SCTP_ASSOCINFO)
- XLAT(SCTP_ASSOCINFO),
+#if !(defined(SCTP_ASSOCINFO) || (defined(HAVE_DECL_SCTP_ASSOCINFO) && HAVE_DECL_SCTP_ASSOCINFO))
+# define SCTP_ASSOCINFO 1
#endif
-#if defined(SCTP_INITMSG) || (defined(HAVE_DECL_SCTP_INITMSG) && HAVE_DECL_SCTP_INITMSG)
- XLAT(SCTP_INITMSG),
+#if !(defined(SCTP_INITMSG) || (defined(HAVE_DECL_SCTP_INITMSG) && HAVE_DECL_SCTP_INITMSG))
+# define SCTP_INITMSG 2
#endif
-#if defined(SCTP_NODELAY) || (defined(HAVE_DECL_SCTP_NODELAY) && HAVE_DECL_SCTP_NODELAY)
- XLAT(SCTP_NODELAY),
+#if !(defined(SCTP_NODELAY) || (defined(HAVE_DECL_SCTP_NODELAY) && HAVE_DECL_SCTP_NODELAY))
+# define SCTP_NODELAY 3
#endif
-#if defined(SCTP_AUTOCLOSE) || (defined(HAVE_DECL_SCTP_AUTOCLOSE) && HAVE_DECL_SCTP_AUTOCLOSE)
- XLAT(SCTP_AUTOCLOSE),
+#if !(defined(SCTP_AUTOCLOSE) || (defined(HAVE_DECL_SCTP_AUTOCLOSE) && HAVE_DECL_SCTP_AUTOCLOSE))
+# define SCTP_AUTOCLOSE 4
#endif
-#if defined(SCTP_SET_PEER_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_SET_PEER_PRIMARY_ADDR) && HAVE_DECL_SCTP_SET_PEER_PRIMARY_ADDR)
- XLAT(SCTP_SET_PEER_PRIMARY_ADDR),
+#if !(defined(SCTP_SET_PEER_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_SET_PEER_PRIMARY_ADDR) && HAVE_DECL_SCTP_SET_PEER_PRIMARY_ADDR))
+# define SCTP_SET_PEER_PRIMARY_ADDR 5
#endif
-#if defined(SCTP_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_PRIMARY_ADDR) && HAVE_DECL_SCTP_PRIMARY_ADDR)
- XLAT(SCTP_PRIMARY_ADDR),
+#if !(defined(SCTP_PRIMARY_ADDR) || (defined(HAVE_DECL_SCTP_PRIMARY_ADDR) && HAVE_DECL_SCTP_PRIMARY_ADDR))
+# define SCTP_PRIMARY_ADDR 6
#endif
-#if defined(SCTP_ADAPTATION_LAYER) || (defined(HAVE_DECL_SCTP_ADAPTATION_LAYER) && HAVE_DECL_SCTP_ADAPTATION_LAYER)
- XLAT(SCTP_ADAPTATION_LAYER),
+#if !(defined(SCTP_ADAPTATION_LAYER) || (defined(HAVE_DECL_SCTP_ADAPTATION_LAYER) && HAVE_DECL_SCTP_ADAPTATION_LAYER))
+# define SCTP_ADAPTATION_LAYER 7
#endif
-#if defined(SCTP_DISABLE_FRAGMENTS) || (defined(HAVE_DECL_SCTP_DISABLE_FRAGMENTS) && HAVE_DECL_SCTP_DISABLE_FRAGMENTS)
- XLAT(SCTP_DISABLE_FRAGMENTS),
+#if !(defined(SCTP_DISABLE_FRAGMENTS) || (defined(HAVE_DECL_SCTP_DISABLE_FRAGMENTS) && HAVE_DECL_SCTP_DISABLE_FRAGMENTS))
+# define SCTP_DISABLE_FRAGMENTS 8
#endif
-#if defined(SCTP_PEER_ADDR_PARAMS) || (defined(HAVE_DECL_SCTP_PEER_ADDR_PARAMS) && HAVE_DECL_SCTP_PEER_ADDR_PARAMS)
- XLAT(SCTP_PEER_ADDR_PARAMS),
+#if !(defined(SCTP_PEER_ADDR_PARAMS) || (defined(HAVE_DECL_SCTP_PEER_ADDR_PARAMS) && HAVE_DECL_SCTP_PEER_ADDR_PARAMS))
+# define SCTP_PEER_ADDR_PARAMS 9
#endif
-#if defined(SCTP_DEFAULT_SEND_PARAM) || (defined(HAVE_DECL_SCTP_DEFAULT_SEND_PARAM) && HAVE_DECL_SCTP_DEFAULT_SEND_PARAM)
- XLAT(SCTP_DEFAULT_SEND_PARAM),
+#if !(defined(SCTP_DEFAULT_SEND_PARAM) || (defined(HAVE_DECL_SCTP_DEFAULT_SEND_PARAM) && HAVE_DECL_SCTP_DEFAULT_SEND_PARAM))
+# define SCTP_DEFAULT_SEND_PARAM 10
#endif
-#if defined(SCTP_EVENTS) || (defined(HAVE_DECL_SCTP_EVENTS) && HAVE_DECL_SCTP_EVENTS)
- XLAT(SCTP_EVENTS),
+#if !(defined(SCTP_EVENTS) || (defined(HAVE_DECL_SCTP_EVENTS) && HAVE_DECL_SCTP_EVENTS))
+# define SCTP_EVENTS 11
#endif
-#if defined(SCTP_I_WANT_MAPPED_V4_ADDR) || (defined(HAVE_DECL_SCTP_I_WANT_MAPPED_V4_ADDR) && HAVE_DECL_SCTP_I_WANT_MAPPED_V4_ADDR)
- XLAT(SCTP_I_WANT_MAPPED_V4_ADDR),
+#if !(defined(SCTP_I_WANT_MAPPED_V4_ADDR) || (defined(HAVE_DECL_SCTP_I_WANT_MAPPED_V4_ADDR) && HAVE_DECL_SCTP_I_WANT_MAPPED_V4_ADDR))
+# define SCTP_I_WANT_MAPPED_V4_ADDR 12
#endif
-#if defined(SCTP_MAXSEG) || (defined(HAVE_DECL_SCTP_MAXSEG) && HAVE_DECL_SCTP_MAXSEG)
- XLAT(SCTP_MAXSEG),
+#if !(defined(SCTP_MAXSEG) || (defined(HAVE_DECL_SCTP_MAXSEG) && HAVE_DECL_SCTP_MAXSEG))
+# define SCTP_MAXSEG 13
#endif
-#if defined(SCTP_STATUS) || (defined(HAVE_DECL_SCTP_STATUS) && HAVE_DECL_SCTP_STATUS)
- XLAT(SCTP_STATUS),
+#if !(defined(SCTP_STATUS) || (defined(HAVE_DECL_SCTP_STATUS) && HAVE_DECL_SCTP_STATUS))
+# define SCTP_STATUS 14
#endif
-#if defined(SCTP_GET_PEER_ADDR_INFO) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDR_INFO) && HAVE_DECL_SCTP_GET_PEER_ADDR_INFO)
- XLAT(SCTP_GET_PEER_ADDR_INFO),
+#if !(defined(SCTP_GET_PEER_ADDR_INFO) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDR_INFO) && HAVE_DECL_SCTP_GET_PEER_ADDR_INFO))
+# define SCTP_GET_PEER_ADDR_INFO 15
#endif
-#if defined(SCTP_DELAYED_ACK) || (defined(HAVE_DECL_SCTP_DELAYED_ACK) && HAVE_DECL_SCTP_DELAYED_ACK)
- XLAT(SCTP_DELAYED_ACK),
+#if !(defined(SCTP_DELAYED_SACK) || (defined(HAVE_DECL_SCTP_DELAYED_SACK) && HAVE_DECL_SCTP_DELAYED_SACK))
+# define SCTP_DELAYED_SACK 16
#endif
-#if defined(SCTP_CONTEXT) || (defined(HAVE_DECL_SCTP_CONTEXT) && HAVE_DECL_SCTP_CONTEXT)
- XLAT(SCTP_CONTEXT),
+#if !(defined(SCTP_CONTEXT) || (defined(HAVE_DECL_SCTP_CONTEXT) && HAVE_DECL_SCTP_CONTEXT))
+# define SCTP_CONTEXT 17
#endif
-#if defined(SCTP_FRAGMENT_INTERLEAVE) || (defined(HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE) && HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE)
- XLAT(SCTP_FRAGMENT_INTERLEAVE),
+#if !(defined(SCTP_FRAGMENT_INTERLEAVE) || (defined(HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE) && HAVE_DECL_SCTP_FRAGMENT_INTERLEAVE))
+# define SCTP_FRAGMENT_INTERLEAVE 18
#endif
-#if defined(SCTP_PARTIAL_DELIVERY_POINT) || (defined(HAVE_DECL_SCTP_PARTIAL_DELIVERY_POINT) && HAVE_DECL_SCTP_PARTIAL_DELIVERY_POINT)
- XLAT(SCTP_PARTIAL_DELIVERY_POINT),
+#if !(defined(SCTP_PARTIAL_DELIVERY_POINT) || (defined(HAVE_DECL_SCTP_PARTIAL_DELIVERY_POINT) && HAVE_DECL_SCTP_PARTIAL_DELIVERY_POINT))
+# define SCTP_PARTIAL_DELIVERY_POINT 19
#endif
-#if defined(SCTP_MAX_BURST) || (defined(HAVE_DECL_SCTP_MAX_BURST) && HAVE_DECL_SCTP_MAX_BURST)
- XLAT(SCTP_MAX_BURST),
+#if !(defined(SCTP_MAX_BURST) || (defined(HAVE_DECL_SCTP_MAX_BURST) && HAVE_DECL_SCTP_MAX_BURST))
+# define SCTP_MAX_BURST 20
#endif
-#if defined(SCTP_AUTH_CHUNK) || (defined(HAVE_DECL_SCTP_AUTH_CHUNK) && HAVE_DECL_SCTP_AUTH_CHUNK)
- XLAT(SCTP_AUTH_CHUNK),
+#if !(defined(SCTP_AUTH_CHUNK) || (defined(HAVE_DECL_SCTP_AUTH_CHUNK) && HAVE_DECL_SCTP_AUTH_CHUNK))
+# define SCTP_AUTH_CHUNK 21
#endif
-#if defined(SCTP_HMAC_IDENT) || (defined(HAVE_DECL_SCTP_HMAC_IDENT) && HAVE_DECL_SCTP_HMAC_IDENT)
- XLAT(SCTP_HMAC_IDENT),
+#if !(defined(SCTP_HMAC_IDENT) || (defined(HAVE_DECL_SCTP_HMAC_IDENT) && HAVE_DECL_SCTP_HMAC_IDENT))
+# define SCTP_HMAC_IDENT 22
#endif
-#if defined(SCTP_AUTH_KEY) || (defined(HAVE_DECL_SCTP_AUTH_KEY) && HAVE_DECL_SCTP_AUTH_KEY)
- XLAT(SCTP_AUTH_KEY),
+#if !(defined(SCTP_AUTH_KEY) || (defined(HAVE_DECL_SCTP_AUTH_KEY) && HAVE_DECL_SCTP_AUTH_KEY))
+# define SCTP_AUTH_KEY 23
#endif
-#if defined(SCTP_AUTH_ACTIVE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_ACTIVE_KEY) && HAVE_DECL_SCTP_AUTH_ACTIVE_KEY)
- XLAT(SCTP_AUTH_ACTIVE_KEY),
+#if !(defined(SCTP_AUTH_ACTIVE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_ACTIVE_KEY) && HAVE_DECL_SCTP_AUTH_ACTIVE_KEY))
+# define SCTP_AUTH_ACTIVE_KEY 24
#endif
-#if defined(SCTP_AUTH_DELETE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_DELETE_KEY) && HAVE_DECL_SCTP_AUTH_DELETE_KEY)
- XLAT(SCTP_AUTH_DELETE_KEY),
+#if !(defined(SCTP_AUTH_DELETE_KEY) || (defined(HAVE_DECL_SCTP_AUTH_DELETE_KEY) && HAVE_DECL_SCTP_AUTH_DELETE_KEY))
+# define SCTP_AUTH_DELETE_KEY 25
#endif
-#if defined(SCTP_PEER_AUTH_CHUNKS) || (defined(HAVE_DECL_SCTP_PEER_AUTH_CHUNKS) && HAVE_DECL_SCTP_PEER_AUTH_CHUNKS)
- XLAT(SCTP_PEER_AUTH_CHUNKS),
+#if !(defined(SCTP_PEER_AUTH_CHUNKS) || (defined(HAVE_DECL_SCTP_PEER_AUTH_CHUNKS) && HAVE_DECL_SCTP_PEER_AUTH_CHUNKS))
+# define SCTP_PEER_AUTH_CHUNKS 26
#endif
-#if defined(SCTP_LOCAL_AUTH_CHUNKS) || (defined(HAVE_DECL_SCTP_LOCAL_AUTH_CHUNKS) && HAVE_DECL_SCTP_LOCAL_AUTH_CHUNKS)
- XLAT(SCTP_LOCAL_AUTH_CHUNKS),
+#if !(defined(SCTP_LOCAL_AUTH_CHUNKS) || (defined(HAVE_DECL_SCTP_LOCAL_AUTH_CHUNKS) && HAVE_DECL_SCTP_LOCAL_AUTH_CHUNKS))
+# define SCTP_LOCAL_AUTH_CHUNKS 27
#endif
-#if defined(SCTP_GET_ASSOC_NUMBER) || (defined(HAVE_DECL_SCTP_GET_ASSOC_NUMBER) && HAVE_DECL_SCTP_GET_ASSOC_NUMBER)
- XLAT(SCTP_GET_ASSOC_NUMBER),
+#if !(defined(SCTP_GET_ASSOC_NUMBER) || (defined(HAVE_DECL_SCTP_GET_ASSOC_NUMBER) && HAVE_DECL_SCTP_GET_ASSOC_NUMBER))
+# define SCTP_GET_ASSOC_NUMBER 28
#endif
-#if defined(SCTP_GET_ASSOC_ID_LIST) || (defined(HAVE_DECL_SCTP_GET_ASSOC_ID_LIST) && HAVE_DECL_SCTP_GET_ASSOC_ID_LIST)
- XLAT(SCTP_GET_ASSOC_ID_LIST),
+#if !(defined(SCTP_GET_ASSOC_ID_LIST) || (defined(HAVE_DECL_SCTP_GET_ASSOC_ID_LIST) && HAVE_DECL_SCTP_GET_ASSOC_ID_LIST))
+# define SCTP_GET_ASSOC_ID_LIST 29
#endif
-#if defined(SCTP_AUTO_ASCONF) || (defined(HAVE_DECL_SCTP_AUTO_ASCONF) && HAVE_DECL_SCTP_AUTO_ASCONF)
- XLAT(SCTP_AUTO_ASCONF),
+#if !(defined(SCTP_AUTO_ASCONF) || (defined(HAVE_DECL_SCTP_AUTO_ASCONF) && HAVE_DECL_SCTP_AUTO_ASCONF))
+# define SCTP_AUTO_ASCONF 30
#endif
-#if defined(SCTP_PEER_ADDR_THLDS) || (defined(HAVE_DECL_SCTP_PEER_ADDR_THLDS) && HAVE_DECL_SCTP_PEER_ADDR_THLDS)
- XLAT(SCTP_PEER_ADDR_THLDS),
+#if !(defined(SCTP_PEER_ADDR_THLDS) || (defined(HAVE_DECL_SCTP_PEER_ADDR_THLDS) && HAVE_DECL_SCTP_PEER_ADDR_THLDS))
+# define SCTP_PEER_ADDR_THLDS 31
#endif
-#if defined(SCTP_RECVRCVINFO) || (defined(HAVE_DECL_SCTP_RECVRCVINFO) && HAVE_DECL_SCTP_RECVRCVINFO)
- XLAT(SCTP_RECVRCVINFO),
+#if !(defined(SCTP_RECVRCVINFO) || (defined(HAVE_DECL_SCTP_RECVRCVINFO) && HAVE_DECL_SCTP_RECVRCVINFO))
+# define SCTP_RECVRCVINFO 32
#endif
-#if defined(SCTP_RECVNXTINFO) || (defined(HAVE_DECL_SCTP_RECVNXTINFO) && HAVE_DECL_SCTP_RECVNXTINFO)
- XLAT(SCTP_RECVNXTINFO),
+#if !(defined(SCTP_RECVNXTINFO) || (defined(HAVE_DECL_SCTP_RECVNXTINFO) && HAVE_DECL_SCTP_RECVNXTINFO))
+# define SCTP_RECVNXTINFO 33
#endif
-#if defined(SCTP_DEFAULT_SNDINFO) || (defined(HAVE_DECL_SCTP_DEFAULT_SNDINFO) && HAVE_DECL_SCTP_DEFAULT_SNDINFO)
- XLAT(SCTP_DEFAULT_SNDINFO),
+#if !(defined(SCTP_DEFAULT_SNDINFO) || (defined(HAVE_DECL_SCTP_DEFAULT_SNDINFO) && HAVE_DECL_SCTP_DEFAULT_SNDINFO))
+# define SCTP_DEFAULT_SNDINFO 34
#endif
-
-#if defined(SCTP_SOCKOPT_BINDX_ADD) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD) && HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD)
- XLAT(SCTP_SOCKOPT_BINDX_ADD),
+#if !(defined(SCTP_SOCKOPT_BINDX_ADD) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD) && HAVE_DECL_SCTP_SOCKOPT_BINDX_ADD))
+# define SCTP_SOCKOPT_BINDX_ADD 100
+#endif
+#if !(defined(SCTP_SOCKOPT_BINDX_REM) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_REM) && HAVE_DECL_SCTP_SOCKOPT_BINDX_REM))
+# define SCTP_SOCKOPT_BINDX_REM 101
+#endif
+#if !(defined(SCTP_SOCKOPT_PEELOFF) || (defined(HAVE_DECL_SCTP_SOCKOPT_PEELOFF) && HAVE_DECL_SCTP_SOCKOPT_PEELOFF))
+# define SCTP_SOCKOPT_PEELOFF 102
#endif
-#if defined(SCTP_SOCKOPT_BINDX_REM) || (defined(HAVE_DECL_SCTP_SOCKOPT_BINDX_REM) && HAVE_DECL_SCTP_SOCKOPT_BINDX_REM)
- XLAT(SCTP_SOCKOPT_BINDX_REM),
+#if !(defined(SCTP_GET_PEER_ADDRS_NUM_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_NUM_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_NUM_OLD))
+# define SCTP_GET_PEER_ADDRS_NUM_OLD 103
#endif
-#if defined(SCTP_SOCKOPT_PEELOFF) || (defined(HAVE_DECL_SCTP_SOCKOPT_PEELOFF) && HAVE_DECL_SCTP_SOCKOPT_PEELOFF)
- XLAT(SCTP_SOCKOPT_PEELOFF),
+#if !(defined(SCTP_GET_PEER_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD))
+# define SCTP_GET_PEER_ADDRS_OLD 104
#endif
-#if defined(SCTP_GET_PEER_ADDRS_NUM_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_NUM_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_NUM_OLD)
- XLAT(SCTP_GET_PEER_ADDRS_NUM_OLD),
+#if !(defined(SCTP_GET_LOCAL_ADDRS_NUM_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_NUM_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_NUM_OLD))
+# define SCTP_GET_LOCAL_ADDRS_NUM_OLD 105
#endif
-#if defined(SCTP_GET_PEER_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD) && HAVE_DECL_SCTP_GET_PEER_ADDRS_OLD)
- XLAT(SCTP_GET_PEER_ADDRS_OLD),
+#if !(defined(SCTP_GET_LOCAL_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD))
+# define SCTP_GET_LOCAL_ADDRS_OLD 106
#endif
-#if defined(SCTP_GET_LOCAL_ADDRS_NUM_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_NUM_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_NUM_OLD)
- XLAT(SCTP_GET_LOCAL_ADDRS_NUM_OLD),
+#if !(defined(SCTP_SOCKOPT_CONNECTX_OLD) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD))
+# define SCTP_SOCKOPT_CONNECTX_OLD 107
#endif
-#if defined(SCTP_GET_LOCAL_ADDRS_OLD) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS_OLD)
- XLAT(SCTP_GET_LOCAL_ADDRS_OLD),
+#if !(defined(SCTP_GET_PEER_ADDRS) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS) && HAVE_DECL_SCTP_GET_PEER_ADDRS))
+# define SCTP_GET_PEER_ADDRS 108
#endif
-#if defined(SCTP_SOCKOPT_CONNECTX_OLD) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX_OLD)
- XLAT(SCTP_SOCKOPT_CONNECTX_OLD),
+#if !(defined(SCTP_GET_LOCAL_ADDRS) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS))
+# define SCTP_GET_LOCAL_ADDRS 109
#endif
-#if defined(SCTP_GET_PEER_ADDRS) || (defined(HAVE_DECL_SCTP_GET_PEER_ADDRS) && HAVE_DECL_SCTP_GET_PEER_ADDRS)
- XLAT(SCTP_GET_PEER_ADDRS),
+#if !(defined(SCTP_SOCKOPT_CONNECTX) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX))
+# define SCTP_SOCKOPT_CONNECTX 110
#endif
-#if defined(SCTP_GET_LOCAL_ADDRS) || (defined(HAVE_DECL_SCTP_GET_LOCAL_ADDRS) && HAVE_DECL_SCTP_GET_LOCAL_ADDRS)
- XLAT(SCTP_GET_LOCAL_ADDRS),
+#if !(defined(SCTP_SOCKOPT_CONNECTX3) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX3) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX3))
+# define SCTP_SOCKOPT_CONNECTX3 111
#endif
-#if defined(SCTP_SOCKOPT_CONNECTX) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX)
- XLAT(SCTP_SOCKOPT_CONNECTX),
+#if !(defined(SCTP_GET_ASSOC_STATS) || (defined(HAVE_DECL_SCTP_GET_ASSOC_STATS) && HAVE_DECL_SCTP_GET_ASSOC_STATS))
+# define SCTP_GET_ASSOC_STATS 112
#endif
-#if defined(SCTP_SOCKOPT_CONNECTX3) || (defined(HAVE_DECL_SCTP_SOCKOPT_CONNECTX3) && HAVE_DECL_SCTP_SOCKOPT_CONNECTX3)
- XLAT(SCTP_SOCKOPT_CONNECTX3),
+#if !(defined(SCTP_PR_SUPPORTED) || (defined(HAVE_DECL_SCTP_PR_SUPPORTED) && HAVE_DECL_SCTP_PR_SUPPORTED))
+# define SCTP_PR_SUPPORTED 113
#endif
-#if defined(SCTP_GET_ASSOC_STATS) || (defined(HAVE_DECL_SCTP_GET_ASSOC_STATS) && HAVE_DECL_SCTP_GET_ASSOC_STATS)
- XLAT(SCTP_GET_ASSOC_STATS),
+#if !(defined(SCTP_DEFAULT_PRINFO) || (defined(HAVE_DECL_SCTP_DEFAULT_PRINFO) && HAVE_DECL_SCTP_DEFAULT_PRINFO))
+# define SCTP_DEFAULT_PRINFO 114
#endif
-#if defined(SCTP_PR_SUPPORTED) || (defined(HAVE_DECL_SCTP_PR_SUPPORTED) && HAVE_DECL_SCTP_PR_SUPPORTED)
- XLAT(SCTP_PR_SUPPORTED),
+#if !(defined(SCTP_PR_ASSOC_STATUS) || (defined(HAVE_DECL_SCTP_PR_ASSOC_STATUS) && HAVE_DECL_SCTP_PR_ASSOC_STATUS))
+# define SCTP_PR_ASSOC_STATUS 115
#endif
-#if defined(SCTP_DEFAULT_PRINFO) || (defined(HAVE_DECL_SCTP_DEFAULT_PRINFO) && HAVE_DECL_SCTP_DEFAULT_PRINFO)
- XLAT(SCTP_DEFAULT_PRINFO),
+#if !(defined(SCTP_PR_STREAM_STATUS) || (defined(HAVE_DECL_SCTP_PR_STREAM_STATUS) && HAVE_DECL_SCTP_PR_STREAM_STATUS))
+# define SCTP_PR_STREAM_STATUS 116
#endif
-#if defined(SCTP_PR_ASSOC_STATUS) || (defined(HAVE_DECL_SCTP_PR_ASSOC_STATUS) && HAVE_DECL_SCTP_PR_ASSOC_STATUS)
- XLAT(SCTP_PR_ASSOC_STATUS),
+#if !(defined(SCTP_RECONFIG_SUPPORTED) || (defined(HAVE_DECL_SCTP_RECONFIG_SUPPORTED) && HAVE_DECL_SCTP_RECONFIG_SUPPORTED))
+# define SCTP_RECONFIG_SUPPORTED 117
#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),
+#if !(defined(SCTP_ENABLE_STREAM_RESET) || (defined(HAVE_DECL_SCTP_ENABLE_STREAM_RESET) && HAVE_DECL_SCTP_ENABLE_STREAM_RESET))
+# define SCTP_ENABLE_STREAM_RESET 118
#endif
-#if defined(SCTP_RECONFIG_SUPPORTED) || (defined(HAVE_DECL_SCTP_RECONFIG_SUPPORTED) && HAVE_DECL_SCTP_RECONFIG_SUPPORTED)
- XLAT(SCTP_RECONFIG_SUPPORTED),
+#if !(defined(SCTP_RESET_STREAMS) || (defined(HAVE_DECL_SCTP_RESET_STREAMS) && HAVE_DECL_SCTP_RESET_STREAMS))
+# define SCTP_RESET_STREAMS 119
#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),
+#if !(defined(SCTP_RESET_ASSOC) || (defined(HAVE_DECL_SCTP_RESET_ASSOC) && HAVE_DECL_SCTP_RESET_ASSOC))
+# define SCTP_RESET_ASSOC 120
#endif
-#if defined(SCTP_RESET_STREAMS) || (defined(HAVE_DECL_SCTP_RESET_STREAMS) && HAVE_DECL_SCTP_RESET_STREAMS)
- XLAT(SCTP_RESET_STREAMS),
+#if !(defined(SCTP_ADD_STREAMS) || (defined(HAVE_DECL_SCTP_ADD_STREAMS) && HAVE_DECL_SCTP_ADD_STREAMS))
+# define SCTP_ADD_STREAMS 121
#endif
-#if defined(SCTP_RESET_ASSOC) || (defined(HAVE_DECL_SCTP_RESET_ASSOC) && HAVE_DECL_SCTP_RESET_ASSOC)
- XLAT(SCTP_RESET_ASSOC),
+#if !(defined(SCTP_SOCKOPT_PEELOFF_FLAGS) || (defined(HAVE_DECL_SCTP_SOCKOPT_PEELOFF_FLAGS) && HAVE_DECL_SCTP_SOCKOPT_PEELOFF_FLAGS))
+# define SCTP_SOCKOPT_PEELOFF_FLAGS 122
#endif
-#if defined(SCTP_ADD_STREAMS) || (defined(HAVE_DECL_SCTP_ADD_STREAMS) && HAVE_DECL_SCTP_ADD_STREAMS)
- XLAT(SCTP_ADD_STREAMS),
+#if !(defined(SCTP_STREAM_SCHEDULER) || (defined(HAVE_DECL_SCTP_STREAM_SCHEDULER) && HAVE_DECL_SCTP_STREAM_SCHEDULER))
+# define SCTP_STREAM_SCHEDULER 123
#endif
+#if !(defined(SCTP_STREAM_SCHEDULER_VALUE) || (defined(HAVE_DECL_SCTP_STREAM_SCHEDULER_VALUE) && HAVE_DECL_SCTP_STREAM_SCHEDULER_VALUE))
+# define SCTP_STREAM_SCHEDULER_VALUE 124
+#endif
+#if !(defined(SCTP_INTERLEAVING_SUPPORTED) || (defined(HAVE_DECL_SCTP_INTERLEAVING_SUPPORTED) && HAVE_DECL_SCTP_INTERLEAVING_SUPPORTED))
+# define SCTP_INTERLEAVING_SUPPORTED 125
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat socksctpoptions in mpers mode
+
+#else
+
+static
+const struct xlat socksctpoptions[] = {
+ XLAT(SCTP_RTOINFO),
+ XLAT(SCTP_ASSOCINFO),
+ XLAT(SCTP_INITMSG),
+ XLAT(SCTP_NODELAY),
+ XLAT(SCTP_AUTOCLOSE),
+ XLAT(SCTP_SET_PEER_PRIMARY_ADDR),
+ XLAT(SCTP_PRIMARY_ADDR),
+ XLAT(SCTP_ADAPTATION_LAYER),
+ XLAT(SCTP_DISABLE_FRAGMENTS),
+ XLAT(SCTP_PEER_ADDR_PARAMS),
+ XLAT(SCTP_DEFAULT_SEND_PARAM),
+ XLAT(SCTP_EVENTS),
+ XLAT(SCTP_I_WANT_MAPPED_V4_ADDR),
+ XLAT(SCTP_MAXSEG),
+ XLAT(SCTP_STATUS),
+ XLAT(SCTP_GET_PEER_ADDR_INFO),
+ XLAT(SCTP_DELAYED_SACK),
+ XLAT(SCTP_CONTEXT),
+ XLAT(SCTP_FRAGMENT_INTERLEAVE),
+ XLAT(SCTP_PARTIAL_DELIVERY_POINT),
+ XLAT(SCTP_MAX_BURST),
+ XLAT(SCTP_AUTH_CHUNK),
+ XLAT(SCTP_HMAC_IDENT),
+ XLAT(SCTP_AUTH_KEY),
+ XLAT(SCTP_AUTH_ACTIVE_KEY),
+ XLAT(SCTP_AUTH_DELETE_KEY),
+ XLAT(SCTP_PEER_AUTH_CHUNKS),
+ XLAT(SCTP_LOCAL_AUTH_CHUNKS),
+ XLAT(SCTP_GET_ASSOC_NUMBER),
+ XLAT(SCTP_GET_ASSOC_ID_LIST),
+ XLAT(SCTP_AUTO_ASCONF),
+ XLAT(SCTP_PEER_ADDR_THLDS),
+ XLAT(SCTP_RECVRCVINFO),
+ XLAT(SCTP_RECVNXTINFO),
+ XLAT(SCTP_DEFAULT_SNDINFO),
+
+ XLAT(SCTP_SOCKOPT_BINDX_ADD),
+ XLAT(SCTP_SOCKOPT_BINDX_REM),
+ XLAT(SCTP_SOCKOPT_PEELOFF),
+ XLAT(SCTP_GET_PEER_ADDRS_NUM_OLD),
+ XLAT(SCTP_GET_PEER_ADDRS_OLD),
+ XLAT(SCTP_GET_LOCAL_ADDRS_NUM_OLD),
+ XLAT(SCTP_GET_LOCAL_ADDRS_OLD),
+ XLAT(SCTP_SOCKOPT_CONNECTX_OLD),
+ XLAT(SCTP_GET_PEER_ADDRS),
+ XLAT(SCTP_GET_LOCAL_ADDRS),
+ XLAT(SCTP_SOCKOPT_CONNECTX),
+ XLAT(SCTP_SOCKOPT_CONNECTX3),
+ XLAT(SCTP_GET_ASSOC_STATS),
+ XLAT(SCTP_PR_SUPPORTED),
+ XLAT(SCTP_DEFAULT_PRINFO),
+ XLAT(SCTP_PR_ASSOC_STATUS),
+ XLAT(SCTP_PR_STREAM_STATUS),
+ XLAT(SCTP_RECONFIG_SUPPORTED),
+ XLAT(SCTP_ENABLE_STREAM_RESET),
+ XLAT(SCTP_RESET_STREAMS),
+ XLAT(SCTP_RESET_ASSOC),
+ XLAT(SCTP_ADD_STREAMS),
+ XLAT(SCTP_SOCKOPT_PEELOFF_FLAGS),
+ XLAT(SCTP_STREAM_SCHEDULER),
+ XLAT(SCTP_STREAM_SCHEDULER_VALUE),
+ XLAT(SCTP_INTERLEAVING_SUPPORTED),
XLAT_END
};
diff --git a/xlat/socksctpoptions.in b/xlat/socksctpoptions.in
index dfe87378..f785ca83 100644
--- a/xlat/socksctpoptions.in
+++ b/xlat/socksctpoptions.in
@@ -1,58 +1,62 @@
-SCTP_RTOINFO
-SCTP_ASSOCINFO
-SCTP_INITMSG
-SCTP_NODELAY
-SCTP_AUTOCLOSE
-SCTP_SET_PEER_PRIMARY_ADDR
-SCTP_PRIMARY_ADDR
-SCTP_ADAPTATION_LAYER
-SCTP_DISABLE_FRAGMENTS
-SCTP_PEER_ADDR_PARAMS
-SCTP_DEFAULT_SEND_PARAM
-SCTP_EVENTS
-SCTP_I_WANT_MAPPED_V4_ADDR
-SCTP_MAXSEG
-SCTP_STATUS
-SCTP_GET_PEER_ADDR_INFO
-SCTP_DELAYED_ACK
-SCTP_CONTEXT
-SCTP_FRAGMENT_INTERLEAVE
-SCTP_PARTIAL_DELIVERY_POINT
-SCTP_MAX_BURST
-SCTP_AUTH_CHUNK
-SCTP_HMAC_IDENT
-SCTP_AUTH_KEY
-SCTP_AUTH_ACTIVE_KEY
-SCTP_AUTH_DELETE_KEY
-SCTP_PEER_AUTH_CHUNKS
-SCTP_LOCAL_AUTH_CHUNKS
-SCTP_GET_ASSOC_NUMBER
-SCTP_GET_ASSOC_ID_LIST
-SCTP_AUTO_ASCONF
-SCTP_PEER_ADDR_THLDS
-SCTP_RECVRCVINFO
-SCTP_RECVNXTINFO
-SCTP_DEFAULT_SNDINFO
+SCTP_RTOINFO 0
+SCTP_ASSOCINFO 1
+SCTP_INITMSG 2
+SCTP_NODELAY 3
+SCTP_AUTOCLOSE 4
+SCTP_SET_PEER_PRIMARY_ADDR 5
+SCTP_PRIMARY_ADDR 6
+SCTP_ADAPTATION_LAYER 7
+SCTP_DISABLE_FRAGMENTS 8
+SCTP_PEER_ADDR_PARAMS 9
+SCTP_DEFAULT_SEND_PARAM 10
+SCTP_EVENTS 11
+SCTP_I_WANT_MAPPED_V4_ADDR 12
+SCTP_MAXSEG 13
+SCTP_STATUS 14
+SCTP_GET_PEER_ADDR_INFO 15
+SCTP_DELAYED_SACK 16
+SCTP_CONTEXT 17
+SCTP_FRAGMENT_INTERLEAVE 18
+SCTP_PARTIAL_DELIVERY_POINT 19
+SCTP_MAX_BURST 20
+SCTP_AUTH_CHUNK 21
+SCTP_HMAC_IDENT 22
+SCTP_AUTH_KEY 23
+SCTP_AUTH_ACTIVE_KEY 24
+SCTP_AUTH_DELETE_KEY 25
+SCTP_PEER_AUTH_CHUNKS 26
+SCTP_LOCAL_AUTH_CHUNKS 27
+SCTP_GET_ASSOC_NUMBER 28
+SCTP_GET_ASSOC_ID_LIST 29
+SCTP_AUTO_ASCONF 30
+SCTP_PEER_ADDR_THLDS 31
+SCTP_RECVRCVINFO 32
+SCTP_RECVNXTINFO 33
+SCTP_DEFAULT_SNDINFO 34
/* linux specific things */
-SCTP_SOCKOPT_BINDX_ADD
-SCTP_SOCKOPT_BINDX_REM
-SCTP_SOCKOPT_PEELOFF
-SCTP_GET_PEER_ADDRS_NUM_OLD
-SCTP_GET_PEER_ADDRS_OLD
-SCTP_GET_LOCAL_ADDRS_NUM_OLD
-SCTP_GET_LOCAL_ADDRS_OLD
-SCTP_SOCKOPT_CONNECTX_OLD
-SCTP_GET_PEER_ADDRS
-SCTP_GET_LOCAL_ADDRS
-SCTP_SOCKOPT_CONNECTX
-SCTP_SOCKOPT_CONNECTX3
-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
+SCTP_SOCKOPT_BINDX_ADD 100
+SCTP_SOCKOPT_BINDX_REM 101
+SCTP_SOCKOPT_PEELOFF 102
+SCTP_GET_PEER_ADDRS_NUM_OLD 103
+SCTP_GET_PEER_ADDRS_OLD 104
+SCTP_GET_LOCAL_ADDRS_NUM_OLD 105
+SCTP_GET_LOCAL_ADDRS_OLD 106
+SCTP_SOCKOPT_CONNECTX_OLD 107
+SCTP_GET_PEER_ADDRS 108
+SCTP_GET_LOCAL_ADDRS 109
+SCTP_SOCKOPT_CONNECTX 110
+SCTP_SOCKOPT_CONNECTX3 111
+SCTP_GET_ASSOC_STATS 112
+SCTP_PR_SUPPORTED 113
+SCTP_DEFAULT_PRINFO 114
+SCTP_PR_ASSOC_STATUS 115
+SCTP_PR_STREAM_STATUS 116
+SCTP_RECONFIG_SUPPORTED 117
+SCTP_ENABLE_STREAM_RESET 118
+SCTP_RESET_STREAMS 119
+SCTP_RESET_ASSOC 120
+SCTP_ADD_STREAMS 121
+SCTP_SOCKOPT_PEELOFF_FLAGS 122
+SCTP_STREAM_SCHEDULER 123
+SCTP_STREAM_SCHEDULER_VALUE 124
+SCTP_INTERLEAVING_SUPPORTED 125
diff --git a/xlat/sparc_kern_features.h b/xlat/sparc_kern_features.h
new file mode 100644
index 00000000..fbd49295
--- /dev/null
+++ b/xlat/sparc_kern_features.h
@@ -0,0 +1,18 @@
+/* Generated by ./xlat/gen.sh from ./xlat/sparc_kern_features.in; do not edit. */
+#if !(defined(KERN_FEATURE_MIXED_MODE_STACK) || (defined(HAVE_DECL_KERN_FEATURE_MIXED_MODE_STACK) && HAVE_DECL_KERN_FEATURE_MIXED_MODE_STACK))
+# define KERN_FEATURE_MIXED_MODE_STACK 1
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat sparc_kern_features in mpers mode
+
+#else
+
+static
+const struct xlat sparc_kern_features[] = {
+ XLAT(KERN_FEATURE_MIXED_MODE_STACK),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/sparc_kern_features.in b/xlat/sparc_kern_features.in
new file mode 100644
index 00000000..6c4b2d70
--- /dev/null
+++ b/xlat/sparc_kern_features.in
@@ -0,0 +1 @@
+KERN_FEATURE_MIXED_MODE_STACK 1
diff --git a/xlat/v4l2_pix_fmts.h b/xlat/v4l2_pix_fmts.h
new file mode 100644
index 00000000..585d5801
--- /dev/null
+++ b/xlat/v4l2_pix_fmts.h
@@ -0,0 +1,629 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_pix_fmts.in; do not edit. */
+#if !(defined(V4L2_PIX_FMT_Y10) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y10) && HAVE_DECL_V4L2_PIX_FMT_Y10))
+# define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y12) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y12) && HAVE_DECL_V4L2_PIX_FMT_Y12))
+# define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y4) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y4) && HAVE_DECL_V4L2_PIX_FMT_Y4))
+# define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y6) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y6) && HAVE_DECL_V4L2_PIX_FMT_Y6))
+# define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y16) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y16) && HAVE_DECL_V4L2_PIX_FMT_Y16))
+# define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_Z16) || (defined(HAVE_DECL_V4L2_PIX_FMT_Z16) && HAVE_DECL_V4L2_PIX_FMT_Z16))
+# define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_UV8) || (defined(HAVE_DECL_V4L2_PIX_FMT_UV8) && HAVE_DECL_V4L2_PIX_FMT_UV8))
+# define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y8I) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y8I) && HAVE_DECL_V4L2_PIX_FMT_Y8I))
+# define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_MR97310A) || (defined(HAVE_DECL_V4L2_PIX_FMT_MR97310A) && HAVE_DECL_V4L2_PIX_FMT_MR97310A))
+# define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SN9C10X) || (defined(HAVE_DECL_V4L2_PIX_FMT_SN9C10X) && HAVE_DECL_V4L2_PIX_FMT_SN9C10X))
+# define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10))
+# define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10))
+# define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10DPCM8))
+# define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10))
+# define V4L2_PIX_FMT_SBGGR10 v4l2_fourcc('B', 'G', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB10) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10))
+# define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_M420) || (defined(HAVE_DECL_V4L2_PIX_FMT_M420) && HAVE_DECL_V4L2_PIX_FMT_M420))
+# define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SN9C20X_I420) || (defined(HAVE_DECL_V4L2_PIX_FMT_SN9C20X_I420) && HAVE_DECL_V4L2_PIX_FMT_SN9C20X_I420))
+# define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_JL2005BCD) || (defined(HAVE_DECL_V4L2_PIX_FMT_JL2005BCD) && HAVE_DECL_V4L2_PIX_FMT_JL2005BCD))
+# define V4L2_PIX_FMT_JL2005BCD v4l2_fourcc('J', 'L', '2', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_TM6000) || (defined(HAVE_DECL_V4L2_PIX_FMT_TM6000) && HAVE_DECL_V4L2_PIX_FMT_TM6000))
+# define V4L2_PIX_FMT_TM6000 v4l2_fourcc('T', 'M', '6', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_STV0680) || (defined(HAVE_DECL_V4L2_PIX_FMT_STV0680) && HAVE_DECL_V4L2_PIX_FMT_STV0680))
+# define V4L2_PIX_FMT_STV0680 v4l2_fourcc('S', '6', '8', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_VP8) || (defined(HAVE_DECL_V4L2_PIX_FMT_VP8) && HAVE_DECL_V4L2_PIX_FMT_VP8))
+# define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_VP9) || (defined(HAVE_DECL_V4L2_PIX_FMT_VP9) && HAVE_DECL_V4L2_PIX_FMT_VP9))
+# define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0')
+#endif
+#if !(defined(V4L2_PIX_FMT_SE401) || (defined(HAVE_DECL_V4L2_PIX_FMT_SE401) && HAVE_DECL_V4L2_PIX_FMT_SE401))
+# define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_SPCA501) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA501) && HAVE_DECL_V4L2_PIX_FMT_SPCA501))
+# define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_OV511) || (defined(HAVE_DECL_V4L2_PIX_FMT_OV511) && HAVE_DECL_V4L2_PIX_FMT_OV511))
+# define V4L2_PIX_FMT_OV511 v4l2_fourcc('O', '5', '1', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV21M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV21M) && HAVE_DECL_V4L2_PIX_FMT_NV21M))
+# define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_YVU420M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU420M) && HAVE_DECL_V4L2_PIX_FMT_YVU420M))
+# define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_MT21C) || (defined(HAVE_DECL_V4L2_PIX_FMT_MT21C) && HAVE_DECL_V4L2_PIX_FMT_MT21C))
+# define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV21) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV21) && HAVE_DECL_V4L2_PIX_FMT_NV21))
+# define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_SPCA561) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA561) && HAVE_DECL_V4L2_PIX_FMT_SPCA561))
+# define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV61M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV61M) && HAVE_DECL_V4L2_PIX_FMT_NV61M))
+# define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_YVU422M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU422M) && HAVE_DECL_V4L2_PIX_FMT_YVU422M))
+# define V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV61) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV61) && HAVE_DECL_V4L2_PIX_FMT_NV61))
+# define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR8) && HAVE_DECL_V4L2_PIX_FMT_SBGGR8))
+# define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB332) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB332) && HAVE_DECL_V4L2_PIX_FMT_RGB332))
+# define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_H264_NO_SC) || (defined(HAVE_DECL_V4L2_PIX_FMT_H264_NO_SC) && HAVE_DECL_V4L2_PIX_FMT_H264_NO_SC))
+# define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_PWC1) || (defined(HAVE_DECL_V4L2_PIX_FMT_PWC1) && HAVE_DECL_V4L2_PIX_FMT_PWC1))
+# define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_MPEG1) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG1) && HAVE_DECL_V4L2_PIX_FMT_MPEG1))
+# define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG12) && HAVE_DECL_V4L2_PIX_FMT_SGRBG12))
+# define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG12) && HAVE_DECL_V4L2_PIX_FMT_SGBRG12))
+# define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR12) && HAVE_DECL_V4L2_PIX_FMT_SBGGR12))
+# define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB12) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB12) && HAVE_DECL_V4L2_PIX_FMT_SRGGB12))
+# define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_HM12) || (defined(HAVE_DECL_V4L2_PIX_FMT_HM12) && HAVE_DECL_V4L2_PIX_FMT_HM12))
+# define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV12M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12M) && HAVE_DECL_V4L2_PIX_FMT_NV12M))
+# define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV12MT) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12MT) && HAVE_DECL_V4L2_PIX_FMT_NV12MT))
+# define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV12MT_16X16) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12MT_16X16) && HAVE_DECL_V4L2_PIX_FMT_NV12MT_16X16))
+# define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV420M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV420M) && HAVE_DECL_V4L2_PIX_FMT_YUV420M))
+# define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_ARGB444) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB444) && HAVE_DECL_V4L2_PIX_FMT_ARGB444))
+# define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_XRGB444) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB444) && HAVE_DECL_V4L2_PIX_FMT_XRGB444))
+# define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV420) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV420) && HAVE_DECL_V4L2_PIX_FMT_YUV420))
+# define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV12) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV12) && HAVE_DECL_V4L2_PIX_FMT_NV12))
+# define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_YVU420) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU420) && HAVE_DECL_V4L2_PIX_FMT_YVU420))
+# define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_YVU444M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU444M) && HAVE_DECL_V4L2_PIX_FMT_YVU444M))
+# define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV42) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV42) && HAVE_DECL_V4L2_PIX_FMT_NV42))
+# define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_PWC2) || (defined(HAVE_DECL_V4L2_PIX_FMT_PWC2) && HAVE_DECL_V4L2_PIX_FMT_PWC2))
+# define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_MPEG2) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG2) && HAVE_DECL_V4L2_PIX_FMT_MPEG2))
+# define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR16) && HAVE_DECL_V4L2_PIX_FMT_SBGGR16))
+# define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2')
+#endif
+#if !(defined(V4L2_PIX_FMT_H263) || (defined(HAVE_DECL_V4L2_PIX_FMT_H263) && HAVE_DECL_V4L2_PIX_FMT_H263))
+# define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB24) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB24) && HAVE_DECL_V4L2_PIX_FMT_RGB24))
+# define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3')
+#endif
+#if !(defined(V4L2_PIX_FMT_BGR24) || (defined(HAVE_DECL_V4L2_PIX_FMT_BGR24) && HAVE_DECL_V4L2_PIX_FMT_BGR24))
+# define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3')
+#endif
+#if !(defined(V4L2_PIX_FMT_HSV24) || (defined(HAVE_DECL_V4L2_PIX_FMT_HSV24) && HAVE_DECL_V4L2_PIX_FMT_HSV24))
+# define V4L2_PIX_FMT_HSV24 v4l2_fourcc('H', 'S', 'V', '3')
+#endif
+#if !(defined(V4L2_PIX_FMT_ARGB32) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB32) && HAVE_DECL_V4L2_PIX_FMT_ARGB32))
+# define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_HI240) || (defined(HAVE_DECL_V4L2_PIX_FMT_HI240) && HAVE_DECL_V4L2_PIX_FMT_HI240))
+# define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV444M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV444M) && HAVE_DECL_V4L2_PIX_FMT_YUV444M))
+# define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_ABGR32) || (defined(HAVE_DECL_V4L2_PIX_FMT_ABGR32) && HAVE_DECL_V4L2_PIX_FMT_ABGR32))
+# define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_XBGR32) || (defined(HAVE_DECL_V4L2_PIX_FMT_XBGR32) && HAVE_DECL_V4L2_PIX_FMT_XBGR32))
+# define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV24) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV24) && HAVE_DECL_V4L2_PIX_FMT_NV24))
+# define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_XRGB32) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB32) && HAVE_DECL_V4L2_PIX_FMT_XRGB32))
+# define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB444) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB444) && HAVE_DECL_V4L2_PIX_FMT_RGB444))
+# define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV444) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV444) && HAVE_DECL_V4L2_PIX_FMT_YUV444))
+# define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_H264) || (defined(HAVE_DECL_V4L2_PIX_FMT_H264) && HAVE_DECL_V4L2_PIX_FMT_H264))
+# define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_H264_MVC) || (defined(HAVE_DECL_V4L2_PIX_FMT_H264_MVC) && HAVE_DECL_V4L2_PIX_FMT_H264_MVC))
+# define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB32) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB32) && HAVE_DECL_V4L2_PIX_FMT_RGB32))
+# define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_MPEG4) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG4) && HAVE_DECL_V4L2_PIX_FMT_MPEG4))
+# define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_BGR32) || (defined(HAVE_DECL_V4L2_PIX_FMT_BGR32) && HAVE_DECL_V4L2_PIX_FMT_BGR32))
+# define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_HSV32) || (defined(HAVE_DECL_V4L2_PIX_FMT_HSV32) && HAVE_DECL_V4L2_PIX_FMT_HSV32))
+# define V4L2_PIX_FMT_HSV32 v4l2_fourcc('H', 'S', 'V', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV32) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV32) && HAVE_DECL_V4L2_PIX_FMT_YUV32))
+# define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4')
+#endif
+#if !(defined(V4L2_PIX_FMT_SPCA505) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA505) && HAVE_DECL_V4L2_PIX_FMT_SPCA505))
+# define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5')
+#endif
+#if !(defined(V4L2_PIX_FMT_ARGB555) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB555) && HAVE_DECL_V4L2_PIX_FMT_ARGB555))
+# define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5')
+#endif
+#if !(defined(V4L2_PIX_FMT_XRGB555) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB555) && HAVE_DECL_V4L2_PIX_FMT_XRGB555))
+# define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5')
+#endif
+#if !(defined(V4L2_PIX_FMT_ET61X251) || (defined(HAVE_DECL_V4L2_PIX_FMT_ET61X251) && HAVE_DECL_V4L2_PIX_FMT_ET61X251))
+# define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG16) && HAVE_DECL_V4L2_PIX_FMT_SGBRG16))
+# define V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB16) && HAVE_DECL_V4L2_PIX_FMT_SRGGB16))
+# define V4L2_PIX_FMT_SRGGB16 v4l2_fourcc('R', 'G', '1', '6')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV16M) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV16M) && HAVE_DECL_V4L2_PIX_FMT_NV16M))
+# define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV422M) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV422M) && HAVE_DECL_V4L2_PIX_FMT_YUV422M))
+# define V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG16) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG16) && HAVE_DECL_V4L2_PIX_FMT_SGRBG16))
+# define V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6')
+#endif
+#if !(defined(V4L2_PIX_FMT_NV16) || (defined(HAVE_DECL_V4L2_PIX_FMT_NV16) && HAVE_DECL_V4L2_PIX_FMT_NV16))
+# define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6')
+#endif
+#if !(defined(V4L2_PIX_FMT_PAC207) || (defined(HAVE_DECL_V4L2_PIX_FMT_PAC207) && HAVE_DECL_V4L2_PIX_FMT_PAC207))
+# define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7')
+#endif
+#if !(defined(V4L2_PIX_FMT_SPCA508) || (defined(HAVE_DECL_V4L2_PIX_FMT_SPCA508) && HAVE_DECL_V4L2_PIX_FMT_SPCA508))
+# define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_OV518) || (defined(HAVE_DECL_V4L2_PIX_FMT_OV518) && HAVE_DECL_V4L2_PIX_FMT_OV518))
+# define V4L2_PIX_FMT_OV518 v4l2_fourcc('O', '5', '1', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10ALAW8))
+# define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10DPCM8))
+# define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10ALAW8))
+# define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10DPCM8))
+# define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10ALAW8))
+# define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB10DPCM8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10DPCM8) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10DPCM8))
+# define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG10ALAW8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10ALAW8) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10ALAW8))
+# define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_PAL8) || (defined(HAVE_DECL_V4L2_PIX_FMT_PAL8) && HAVE_DECL_V4L2_PIX_FMT_PAL8))
+# define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8')
+#endif
+#if !(defined(V4L2_PIX_FMT_YVU410) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVU410) && HAVE_DECL_V4L2_PIX_FMT_YVU410))
+# define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV410) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV410) && HAVE_DECL_V4L2_PIX_FMT_YUV410))
+# define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR10P) && HAVE_DECL_V4L2_PIX_FMT_SBGGR10P))
+# define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG10P) && HAVE_DECL_V4L2_PIX_FMT_SGBRG10P))
+# define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB10P) && HAVE_DECL_V4L2_PIX_FMT_SRGGB10P))
+# define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG10P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG10P) && HAVE_DECL_V4L2_PIX_FMT_SGRBG10P))
+# define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
+#endif
+#if !(defined(V4L2_PIX_FMT_CPIA1) || (defined(HAVE_DECL_V4L2_PIX_FMT_CPIA1) && HAVE_DECL_V4L2_PIX_FMT_CPIA1))
+# define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A')
+#endif
+#if !(defined(V4L2_PIX_FMT_WNVA) || (defined(HAVE_DECL_V4L2_PIX_FMT_WNVA) && HAVE_DECL_V4L2_PIX_FMT_WNVA))
+# define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y10BPACK) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y10BPACK) && HAVE_DECL_V4L2_PIX_FMT_Y10BPACK))
+# define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB8) && HAVE_DECL_V4L2_PIX_FMT_SRGGB8))
+# define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B')
+#endif
+#if !(defined(V4L2_PIX_FMT_SQ905C) || (defined(HAVE_DECL_V4L2_PIX_FMT_SQ905C) && HAVE_DECL_V4L2_PIX_FMT_SQ905C))
+# define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C')
+#endif
+#if !(defined(V4L2_PIX_FMT_SBGGR12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SBGGR12P) && HAVE_DECL_V4L2_PIX_FMT_SBGGR12P))
+# define V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG12P) && HAVE_DECL_V4L2_PIX_FMT_SGBRG12P))
+# define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C')
+#endif
+#if !(defined(V4L2_PIX_FMT_SRGGB12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SRGGB12P) && HAVE_DECL_V4L2_PIX_FMT_SRGGB12P))
+# define V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG12P) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG12P) && HAVE_DECL_V4L2_PIX_FMT_SGRBG12P))
+# define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C')
+#endif
+#if !(defined(V4L2_PIX_FMT_XVID) || (defined(HAVE_DECL_V4L2_PIX_FMT_XVID) && HAVE_DECL_V4L2_PIX_FMT_XVID))
+# define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D')
+#endif
+#if !(defined(V4L2_PIX_FMT_VC1_ANNEX_G) || (defined(HAVE_DECL_V4L2_PIX_FMT_VC1_ANNEX_G) && HAVE_DECL_V4L2_PIX_FMT_VC1_ANNEX_G))
+# define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_IPU3_SGRBG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SGRBG10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SGRBG10))
+# define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGRBG8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGRBG8) && HAVE_DECL_V4L2_PIX_FMT_SGRBG8))
+# define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_JPEG) || (defined(HAVE_DECL_V4L2_PIX_FMT_JPEG) && HAVE_DECL_V4L2_PIX_FMT_JPEG))
+# define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_MPEG) || (defined(HAVE_DECL_V4L2_PIX_FMT_MPEG) && HAVE_DECL_V4L2_PIX_FMT_MPEG))
+# define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_MJPEG) || (defined(HAVE_DECL_V4L2_PIX_FMT_MJPEG) && HAVE_DECL_V4L2_PIX_FMT_MJPEG))
+# define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_PJPG) || (defined(HAVE_DECL_V4L2_PIX_FMT_PJPG) && HAVE_DECL_V4L2_PIX_FMT_PJPG))
+# define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_SGBRG8) || (defined(HAVE_DECL_V4L2_PIX_FMT_SGBRG8) && HAVE_DECL_V4L2_PIX_FMT_SGBRG8))
+# define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G')
+#endif
+#if !(defined(V4L2_PIX_FMT_BGR666) || (defined(HAVE_DECL_V4L2_PIX_FMT_BGR666) && HAVE_DECL_V4L2_PIX_FMT_BGR666))
+# define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y12I) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y12I) && HAVE_DECL_V4L2_PIX_FMT_Y12I))
+# define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I')
+#endif
+#if !(defined(V4L2_PIX_FMT_S5C_UYVY_JPG) || (defined(HAVE_DECL_V4L2_PIX_FMT_S5C_UYVY_JPG) && HAVE_DECL_V4L2_PIX_FMT_S5C_UYVY_JPG))
+# define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I')
+#endif
+#if !(defined(V4L2_PIX_FMT_KONICA420) || (defined(HAVE_DECL_V4L2_PIX_FMT_KONICA420) && HAVE_DECL_V4L2_PIX_FMT_KONICA420))
+# define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I')
+#endif
+#if !(defined(V4L2_PIX_FMT_INZI) || (defined(HAVE_DECL_V4L2_PIX_FMT_INZI) && HAVE_DECL_V4L2_PIX_FMT_INZI))
+# define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I')
+#endif
+#if !(defined(V4L2_PIX_FMT_VC1_ANNEX_L) || (defined(HAVE_DECL_V4L2_PIX_FMT_VC1_ANNEX_L) && HAVE_DECL_V4L2_PIX_FMT_VC1_ANNEX_L))
+# define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L')
+#endif
+#if !(defined(V4L2_PIX_FMT_JPGL) || (defined(HAVE_DECL_V4L2_PIX_FMT_JPGL) && HAVE_DECL_V4L2_PIX_FMT_JPGL))
+# define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB555) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB555) && HAVE_DECL_V4L2_PIX_FMT_RGB555))
+# define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV555) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV555) && HAVE_DECL_V4L2_PIX_FMT_YUV555))
+# define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV411P) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV411P) && HAVE_DECL_V4L2_PIX_FMT_YUV411P))
+# define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y41P) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y41P) && HAVE_DECL_V4L2_PIX_FMT_Y41P))
+# define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV422P) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV422P) && HAVE_DECL_V4L2_PIX_FMT_YUV422P))
+# define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB565) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB565) && HAVE_DECL_V4L2_PIX_FMT_RGB565))
+# define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUV565) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUV565) && HAVE_DECL_V4L2_PIX_FMT_YUV565))
+# define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB555X) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB555X) && HAVE_DECL_V4L2_PIX_FMT_RGB555X))
+# define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q')
+#endif
+#if !(defined(V4L2_PIX_FMT_RGB565X) || (defined(HAVE_DECL_V4L2_PIX_FMT_RGB565X) && HAVE_DECL_V4L2_PIX_FMT_RGB565X))
+# define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R')
+#endif
+#if !(defined(V4L2_PIX_FMT_YVYU) || (defined(HAVE_DECL_V4L2_PIX_FMT_YVYU) && HAVE_DECL_V4L2_PIX_FMT_YVYU))
+# define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U')
+#endif
+#if !(defined(V4L2_PIX_FMT_CIT_YYVYUY) || (defined(HAVE_DECL_V4L2_PIX_FMT_CIT_YYVYUY) && HAVE_DECL_V4L2_PIX_FMT_CIT_YYVYUY))
+# define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V')
+#endif
+#if !(defined(V4L2_PIX_FMT_YYUV) || (defined(HAVE_DECL_V4L2_PIX_FMT_YYUV) && HAVE_DECL_V4L2_PIX_FMT_YYUV))
+# define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V')
+#endif
+#if !(defined(V4L2_PIX_FMT_YUYV) || (defined(HAVE_DECL_V4L2_PIX_FMT_YUYV) && HAVE_DECL_V4L2_PIX_FMT_YUYV))
+# define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V')
+#endif
+#if !(defined(V4L2_PIX_FMT_SN9C2028) || (defined(HAVE_DECL_V4L2_PIX_FMT_SN9C2028) && HAVE_DECL_V4L2_PIX_FMT_SN9C2028))
+# define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X')
+#endif
+#if !(defined(V4L2_PIX_FMT_GREY) || (defined(HAVE_DECL_V4L2_PIX_FMT_GREY) && HAVE_DECL_V4L2_PIX_FMT_GREY))
+# define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y')
+#endif
+#if !(defined(V4L2_PIX_FMT_VYUY) || (defined(HAVE_DECL_V4L2_PIX_FMT_VYUY) && HAVE_DECL_V4L2_PIX_FMT_VYUY))
+# define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y')
+#endif
+#if !(defined(V4L2_PIX_FMT_UYVY) || (defined(HAVE_DECL_V4L2_PIX_FMT_UYVY) && HAVE_DECL_V4L2_PIX_FMT_UYVY))
+# define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y')
+#endif
+#if !(defined(V4L2_PIX_FMT_IPU3_SBGGR10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SBGGR10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SBGGR10))
+# define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b')
+#endif
+#if !(defined(V4L2_PIX_FMT_DV) || (defined(HAVE_DECL_V4L2_PIX_FMT_DV) && HAVE_DECL_V4L2_PIX_FMT_DV))
+# define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd')
+#endif
+#if !(defined(V4L2_PIX_FMT_IPU3_SGBRG10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SGBRG10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SGBRG10))
+# define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g')
+#endif
+#if !(defined(V4L2_PIX_FMT_IPU3_SRGGB10) || (defined(HAVE_DECL_V4L2_PIX_FMT_IPU3_SRGGB10) && HAVE_DECL_V4L2_PIX_FMT_IPU3_SRGGB10))
+# define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r')
+#endif
+#if !(defined(V4L2_PIX_FMT_Y16_BE) || (defined(HAVE_DECL_V4L2_PIX_FMT_Y16_BE) && HAVE_DECL_V4L2_PIX_FMT_Y16_BE))
+# define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ')
+#endif
+#if !(defined(V4L2_PIX_FMT_ARGB555X) || (defined(HAVE_DECL_V4L2_PIX_FMT_ARGB555X) && HAVE_DECL_V4L2_PIX_FMT_ARGB555X))
+# define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5')
+#endif
+#if !(defined(V4L2_PIX_FMT_XRGB555X) || (defined(HAVE_DECL_V4L2_PIX_FMT_XRGB555X) && HAVE_DECL_V4L2_PIX_FMT_XRGB555X))
+# define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5')
+#endif
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_pix_fmts[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_pix_fmts[] = {
+
+ XLAT(V4L2_PIX_FMT_Y10),
+ XLAT(V4L2_PIX_FMT_Y12),
+ XLAT(V4L2_PIX_FMT_Y4),
+ XLAT(V4L2_PIX_FMT_Y6),
+ XLAT(V4L2_PIX_FMT_Y16),
+ XLAT(V4L2_PIX_FMT_Z16),
+ XLAT(V4L2_PIX_FMT_UV8),
+ XLAT(V4L2_PIX_FMT_Y8I),
+ XLAT(V4L2_PIX_FMT_MR97310A),
+ XLAT(V4L2_PIX_FMT_SN9C10X),
+ XLAT(V4L2_PIX_FMT_SGRBG10),
+ XLAT(V4L2_PIX_FMT_SGBRG10),
+ XLAT(V4L2_PIX_FMT_SGRBG10DPCM8),
+ XLAT(V4L2_PIX_FMT_SBGGR10),
+ XLAT(V4L2_PIX_FMT_SRGGB10),
+ XLAT(V4L2_PIX_FMT_M420),
+ XLAT(V4L2_PIX_FMT_SN9C20X_I420),
+ XLAT(V4L2_PIX_FMT_JL2005BCD),
+ XLAT(V4L2_PIX_FMT_TM6000),
+ XLAT(V4L2_PIX_FMT_STV0680),
+ XLAT(V4L2_PIX_FMT_VP8),
+ XLAT(V4L2_PIX_FMT_VP9),
+ XLAT(V4L2_PIX_FMT_SE401),
+ XLAT(V4L2_PIX_FMT_SPCA501),
+ XLAT(V4L2_PIX_FMT_OV511),
+ XLAT(V4L2_PIX_FMT_NV21M),
+ XLAT(V4L2_PIX_FMT_YVU420M),
+ XLAT(V4L2_PIX_FMT_MT21C),
+ XLAT(V4L2_PIX_FMT_NV21),
+ XLAT(V4L2_PIX_FMT_SPCA561),
+ XLAT(V4L2_PIX_FMT_NV61M),
+ XLAT(V4L2_PIX_FMT_YVU422M),
+ XLAT(V4L2_PIX_FMT_NV61),
+ XLAT(V4L2_PIX_FMT_SBGGR8),
+ XLAT(V4L2_PIX_FMT_RGB332),
+ XLAT(V4L2_PIX_FMT_H264_NO_SC),
+ XLAT(V4L2_PIX_FMT_PWC1),
+ XLAT(V4L2_PIX_FMT_MPEG1),
+ XLAT(V4L2_PIX_FMT_SGRBG12),
+ XLAT(V4L2_PIX_FMT_SGBRG12),
+ XLAT(V4L2_PIX_FMT_SBGGR12),
+ XLAT(V4L2_PIX_FMT_SRGGB12),
+ XLAT(V4L2_PIX_FMT_HM12),
+ XLAT(V4L2_PIX_FMT_NV12M),
+ XLAT(V4L2_PIX_FMT_NV12MT),
+ XLAT(V4L2_PIX_FMT_NV12MT_16X16),
+ XLAT(V4L2_PIX_FMT_YUV420M),
+ XLAT(V4L2_PIX_FMT_ARGB444),
+ XLAT(V4L2_PIX_FMT_XRGB444),
+ XLAT(V4L2_PIX_FMT_YUV420),
+ XLAT(V4L2_PIX_FMT_NV12),
+ XLAT(V4L2_PIX_FMT_YVU420),
+ XLAT(V4L2_PIX_FMT_YVU444M),
+ XLAT(V4L2_PIX_FMT_NV42),
+ XLAT(V4L2_PIX_FMT_PWC2),
+ XLAT(V4L2_PIX_FMT_MPEG2),
+ XLAT(V4L2_PIX_FMT_SBGGR16),
+ XLAT(V4L2_PIX_FMT_H263),
+ XLAT(V4L2_PIX_FMT_RGB24),
+ XLAT(V4L2_PIX_FMT_BGR24),
+ XLAT(V4L2_PIX_FMT_HSV24),
+ XLAT(V4L2_PIX_FMT_ARGB32),
+ XLAT(V4L2_PIX_FMT_HI240),
+ XLAT(V4L2_PIX_FMT_YUV444M),
+ XLAT(V4L2_PIX_FMT_ABGR32),
+ XLAT(V4L2_PIX_FMT_XBGR32),
+ XLAT(V4L2_PIX_FMT_NV24),
+ XLAT(V4L2_PIX_FMT_XRGB32),
+ XLAT(V4L2_PIX_FMT_RGB444),
+ XLAT(V4L2_PIX_FMT_YUV444),
+ XLAT(V4L2_PIX_FMT_H264),
+ XLAT(V4L2_PIX_FMT_H264_MVC),
+ XLAT(V4L2_PIX_FMT_RGB32),
+ XLAT(V4L2_PIX_FMT_MPEG4),
+ XLAT(V4L2_PIX_FMT_BGR32),
+ XLAT(V4L2_PIX_FMT_HSV32),
+ XLAT(V4L2_PIX_FMT_YUV32),
+ XLAT(V4L2_PIX_FMT_SPCA505),
+ XLAT(V4L2_PIX_FMT_ARGB555),
+ XLAT(V4L2_PIX_FMT_XRGB555),
+ XLAT(V4L2_PIX_FMT_ET61X251),
+ XLAT(V4L2_PIX_FMT_SGBRG16),
+ XLAT(V4L2_PIX_FMT_SRGGB16),
+ XLAT(V4L2_PIX_FMT_NV16M),
+ XLAT(V4L2_PIX_FMT_YUV422M),
+ XLAT(V4L2_PIX_FMT_SGRBG16),
+ XLAT(V4L2_PIX_FMT_NV16),
+ XLAT(V4L2_PIX_FMT_PAC207),
+ XLAT(V4L2_PIX_FMT_SPCA508),
+ XLAT(V4L2_PIX_FMT_OV518),
+ XLAT(V4L2_PIX_FMT_SBGGR10ALAW8),
+ XLAT(V4L2_PIX_FMT_SBGGR10DPCM8),
+ XLAT(V4L2_PIX_FMT_SGBRG10ALAW8),
+ XLAT(V4L2_PIX_FMT_SGBRG10DPCM8),
+ XLAT(V4L2_PIX_FMT_SRGGB10ALAW8),
+ XLAT(V4L2_PIX_FMT_SRGGB10DPCM8),
+ XLAT(V4L2_PIX_FMT_SGRBG10ALAW8),
+ XLAT(V4L2_PIX_FMT_PAL8),
+ XLAT(V4L2_PIX_FMT_YVU410),
+ XLAT(V4L2_PIX_FMT_YUV410),
+ XLAT(V4L2_PIX_FMT_SBGGR10P),
+ XLAT(V4L2_PIX_FMT_SGBRG10P),
+ XLAT(V4L2_PIX_FMT_SRGGB10P),
+ XLAT(V4L2_PIX_FMT_SGRBG10P),
+ XLAT(V4L2_PIX_FMT_CPIA1),
+ XLAT(V4L2_PIX_FMT_WNVA),
+ XLAT(V4L2_PIX_FMT_Y10BPACK),
+ XLAT(V4L2_PIX_FMT_SRGGB8),
+ XLAT(V4L2_PIX_FMT_SQ905C),
+ XLAT(V4L2_PIX_FMT_SBGGR12P),
+ XLAT(V4L2_PIX_FMT_SGBRG12P),
+ XLAT(V4L2_PIX_FMT_SRGGB12P),
+ XLAT(V4L2_PIX_FMT_SGRBG12P),
+ XLAT(V4L2_PIX_FMT_XVID),
+ XLAT(V4L2_PIX_FMT_VC1_ANNEX_G),
+ XLAT(V4L2_PIX_FMT_IPU3_SGRBG10),
+ XLAT(V4L2_PIX_FMT_SGRBG8),
+ XLAT(V4L2_PIX_FMT_JPEG),
+ XLAT(V4L2_PIX_FMT_MPEG),
+ XLAT(V4L2_PIX_FMT_MJPEG),
+ XLAT(V4L2_PIX_FMT_PJPG),
+ XLAT(V4L2_PIX_FMT_SGBRG8),
+ XLAT(V4L2_PIX_FMT_BGR666),
+ XLAT(V4L2_PIX_FMT_Y12I),
+ XLAT(V4L2_PIX_FMT_S5C_UYVY_JPG),
+ XLAT(V4L2_PIX_FMT_KONICA420),
+ XLAT(V4L2_PIX_FMT_INZI),
+ XLAT(V4L2_PIX_FMT_VC1_ANNEX_L),
+ XLAT(V4L2_PIX_FMT_JPGL),
+ XLAT(V4L2_PIX_FMT_RGB555),
+ XLAT(V4L2_PIX_FMT_YUV555),
+ XLAT(V4L2_PIX_FMT_YUV411P),
+ XLAT(V4L2_PIX_FMT_Y41P),
+ XLAT(V4L2_PIX_FMT_YUV422P),
+ XLAT(V4L2_PIX_FMT_RGB565),
+ XLAT(V4L2_PIX_FMT_YUV565),
+ XLAT(V4L2_PIX_FMT_RGB555X),
+ XLAT(V4L2_PIX_FMT_RGB565X),
+ XLAT(V4L2_PIX_FMT_YVYU),
+ XLAT(V4L2_PIX_FMT_CIT_YYVYUY),
+ XLAT(V4L2_PIX_FMT_YYUV),
+ XLAT(V4L2_PIX_FMT_YUYV),
+ XLAT(V4L2_PIX_FMT_SN9C2028),
+ XLAT(V4L2_PIX_FMT_GREY),
+ XLAT(V4L2_PIX_FMT_VYUY),
+ XLAT(V4L2_PIX_FMT_UYVY),
+ XLAT(V4L2_PIX_FMT_IPU3_SBGGR10),
+ XLAT(V4L2_PIX_FMT_DV),
+ XLAT(V4L2_PIX_FMT_IPU3_SGBRG10),
+ XLAT(V4L2_PIX_FMT_IPU3_SRGGB10),
+ XLAT(V4L2_PIX_FMT_Y16_BE),
+ XLAT(V4L2_PIX_FMT_ARGB555X),
+ XLAT(V4L2_PIX_FMT_XRGB555X),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_pix_fmts.in b/xlat/v4l2_pix_fmts.in
new file mode 100644
index 00000000..72c6ceaf
--- /dev/null
+++ b/xlat/v4l2_pix_fmts.in
@@ -0,0 +1,154 @@
+/* sed -rn 's/.*v4l2_fourcc(_be)?\('"'(.)', '(.)', '(.)', '(.)'"'\).*/\10\5\4\3\2\t\0/p' |LC_COLLATE=C sort -k1,1 -t' ' |cut -f2- */
+V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
+V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */
+V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */
+V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */
+V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
+V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
+V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */
+V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
+V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
+V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */
+V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
+V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
+V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
+V4L2_PIX_FMT_SBGGR10 v4l2_fourcc('B', 'G', '1', '0') /* 10 BGBG.. GRGR.. */
+V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
+V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
+V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */
+V4L2_PIX_FMT_JL2005BCD v4l2_fourcc('J', 'L', '2', '0') /* compressed RGGB bayer */
+V4L2_PIX_FMT_TM6000 v4l2_fourcc('T', 'M', '6', '0') /* tm5600/tm60x0 */
+V4L2_PIX_FMT_STV0680 v4l2_fourcc('S', '6', '8', '0') /* stv0680 bayer */
+V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
+V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
+V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */
+V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line */
+V4L2_PIX_FMT_OV511 v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */
+V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') /* 21 Y/CrCb 4:2:0 */
+V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */
+V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
+V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */
+V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
+V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1') /* 16 Y/CrCb 4:2:2 */
+V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1') /* 16 YVU422 planar */
+V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */
+V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */
+V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */
+V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* H264 without start codes */
+V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1') /* pwc older webcam */
+V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */
+V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
+V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
+V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
+V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
+V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */
+V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */
+V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */
+V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 macroblocks */
+V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */
+V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16 aaaarrrr ggggbbbb */
+V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16 xxxxrrrr ggggbbbb */
+V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
+V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
+V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */
+V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2') /* 24 YVU444 planar */
+V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */
+V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2') /* pwc newer webcam */
+V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */
+V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
+V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') /* H263 */
+V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
+V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
+V4L2_PIX_FMT_HSV24 v4l2_fourcc('H', 'S', 'V', '3')
+V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */
+V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
+V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') /* 24 YUV444 planar */
+V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */
+V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */
+V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */
+V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */
+V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */
+V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */
+V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4') /* H264 with start codes */
+V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4') /* H264 MVC */
+V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */
+V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 part 2 ES */
+V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */
+V4L2_PIX_FMT_HSV32 v4l2_fourcc('H', 'S', 'V', '4')
+V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
+V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line */
+V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */
+V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
+V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5') /* ET61X251 compression */
+V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6') /* 16 GBGB.. RGRG.. */
+V4L2_PIX_FMT_SRGGB16 v4l2_fourcc('R', 'G', '1', '6') /* 16 RGRG.. GBGB.. */
+V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6') /* 16 Y/CbCr 4:2:2 */
+V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6') /* 16 YUV422 planar */
+V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6') /* 16 GRGR.. BGBG.. */
+V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */
+V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
+V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
+V4L2_PIX_FMT_OV518 v4l2_fourcc('O', '5', '1', '8') /* ov518 JPEG */
+V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
+V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8')
+V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
+V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
+V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8')
+V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
+V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8')
+V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
+V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */
+V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */
+V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
+V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
+V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
+V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
+V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */
+V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */
+V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
+V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B') /* 8 RGRG.. GBGB.. */
+V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
+V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C')
+V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C')
+V4L2_PIX_FMT_SRGGB12P v4l2_fourcc('p', 'R', 'C', 'C')
+V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C')
+V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') /* Xvid */
+V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */
+V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G') /* IPU3 packed 10-bit GRBG bayer */
+V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */
+V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */
+V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 Multiplexed */
+V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */
+V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
+V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */
+V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
+V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
+V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
+V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */
+V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
+V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */
+V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */
+V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
+V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
+V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 12 YVU411 planar */
+V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */
+V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */
+V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
+V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
+V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
+V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
+V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
+V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */
+V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */
+V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */
+V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */
+V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */
+V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */
+V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */
+V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */
+V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */
+V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g') /* IPU3 packed 10-bit GBRG bayer */
+V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r') /* IPU3 packed 10-bit RGGB bayer */
+V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */
+V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */
+V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */
diff --git a/xlat/v4l2_sdr_fmts.h b/xlat/v4l2_sdr_fmts.h
new file mode 100644
index 00000000..3a65fc8a
--- /dev/null
+++ b/xlat/v4l2_sdr_fmts.h
@@ -0,0 +1,49 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_sdr_fmts.in; do not edit. */
+#if !(defined(V4L2_SDR_FMT_PCU20BE) || (defined(HAVE_DECL_V4L2_SDR_FMT_PCU20BE) && HAVE_DECL_V4L2_SDR_FMT_PCU20BE))
+# define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0')
+#endif
+#if !(defined(V4L2_SDR_FMT_RU12LE) || (defined(HAVE_DECL_V4L2_SDR_FMT_RU12LE) && HAVE_DECL_V4L2_SDR_FMT_RU12LE))
+# define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2')
+#endif
+#if !(defined(V4L2_SDR_FMT_CS14LE) || (defined(HAVE_DECL_V4L2_SDR_FMT_CS14LE) && HAVE_DECL_V4L2_SDR_FMT_CS14LE))
+# define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4')
+#endif
+#if !(defined(V4L2_SDR_FMT_PCU16BE) || (defined(HAVE_DECL_V4L2_SDR_FMT_PCU16BE) && HAVE_DECL_V4L2_SDR_FMT_PCU16BE))
+# define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6')
+#endif
+#if !(defined(V4L2_SDR_FMT_CU16LE) || (defined(HAVE_DECL_V4L2_SDR_FMT_CU16LE) && HAVE_DECL_V4L2_SDR_FMT_CU16LE))
+# define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6')
+#endif
+#if !(defined(V4L2_SDR_FMT_CS8) || (defined(HAVE_DECL_V4L2_SDR_FMT_CS8) && HAVE_DECL_V4L2_SDR_FMT_CS8))
+# define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8')
+#endif
+#if !(defined(V4L2_SDR_FMT_CU8) || (defined(HAVE_DECL_V4L2_SDR_FMT_CU8) && HAVE_DECL_V4L2_SDR_FMT_CU8))
+# define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8')
+#endif
+#if !(defined(V4L2_SDR_FMT_PCU18BE) || (defined(HAVE_DECL_V4L2_SDR_FMT_PCU18BE) && HAVE_DECL_V4L2_SDR_FMT_PCU18BE))
+# define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8')
+#endif
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_sdr_fmts[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_sdr_fmts[] = {
+
+ XLAT(V4L2_SDR_FMT_PCU20BE),
+ XLAT(V4L2_SDR_FMT_RU12LE),
+ XLAT(V4L2_SDR_FMT_CS14LE),
+ XLAT(V4L2_SDR_FMT_PCU16BE),
+ XLAT(V4L2_SDR_FMT_CU16LE),
+ XLAT(V4L2_SDR_FMT_CS8),
+ XLAT(V4L2_SDR_FMT_CU8),
+ XLAT(V4L2_SDR_FMT_PCU18BE),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_sdr_fmts.in b/xlat/v4l2_sdr_fmts.in
new file mode 100644
index 00000000..e462561d
--- /dev/null
+++ b/xlat/v4l2_sdr_fmts.in
@@ -0,0 +1,9 @@
+/* sed -rn 's/.*v4l2_fourcc(_be)?\('"'(.)', '(.)', '(.)', '(.)'"'\).*/\10\5\4\3\2\t\0/p' |LC_COLLATE=C sort -k1,1 -t' ' |cut -f2- */
+V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0') /* planar complex u20be */
+V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */
+V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */
+V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6') /* planar complex u16be */
+V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */
+V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */
+V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */
+V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') /* planar complex u18be */